Changeset 2288
- Timestamp:
- Apr 16, 2008, 12:11:38 AM (15 years ago)
- Location:
- research/2008-displacement
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
research/2008-displacement/README
r2286 r2288 16 16 17 17 # Get phase 3 and phase 4 stuff 18 ssh canard.zoy.org "cd test-20080329; tar cz *raster.txt *serp.txt" | tar xz 18 # .. from canard 19 ssh canard.zoy.org "cd test-20080329; tar cz *raster.txt" | tar xz 20 ssh canard.zoy.org "cd test-20080329; tar cz *serp.txt" | tar xz 19 21 for x in *-raster.txt; do y="$x"; y="${y%%-raster.txt}"; y="${y%%.tiff}"; y="${y##usc-sipi}"; \mv "$x" part3/"$y".txt; done 20 22 for x in *-serp.txt; do y="$x"; y="${y%%-serp.txt}"; y="${y%%.tiff}"; y="${y##usc-sipi}"; \mv "$x" part4/"$y".txt; done 23 # .. from poulet (cpushare) 24 scp poulet.zoy.org:cpushare/'test*-*.txt' . 25 for f in test6-*.txt; do grep '###' $f|cut -f2 -d'`'|cut -f1 -d"'"|tr / .|while read i ; do sed -ne '/`'$i'/,/limit/p' $f | cut -b61- >| part3/$(echo $i | cut -f5 -d.).txt ; done; done; rm -f test6-*.txt 26 for f in test7-*.txt; do grep '###' $f|cut -f2 -d'`'|cut -f1 -d"'"|tr / .|while read i ; do sed -ne '/`'$i'/,/limit/p' $f | cut -b61- >| part4/$(echo $i | cut -f5 -d.).txt ; done; done; rm -f test7-*.txt 21 27 22 28 # Condorcet voting for part 3 and 4 … … 38 44 cat part4/aerials2.1.01.txt | grep K | while read x k y ; do grep $k part4/* | awk '{ dx+=$10; dy+=$12; n+=1 } END { print dx/n, dy/n }' | read dx dy; echo "$k $(grep $k part4/* | awk 'BEGIN { dx='$dx'; dy='$dy' } { x=dx-$10; y=dy-$12; t+=2.^-5*(x*x+y*y); a+=t*$8; n+=t } END { print a/n, n }')"; done | sort -nk2 | head -20 39 45 46 # Plot lena displacement 47 set contour 48 unset surface 49 set view 0,0 50 set cntrparam levels discrete 0.31, 0.35, 0.42, 0.52, 0.7, 1, 1.5 51 set xrange [-1:1] 52 set yrange [1:-1] 53 set mxtics 2 54 set mytics 2 55 set size square 56 set xzeroaxis 57 set yzeroaxis 58 set xlabel "dx" font "Italic,32" 59 splot 'part0/lena-values.txt' with lines 60 61 62 #set border 0 63 set style line 1 lt 1 lw 1 64 set style line 2 lt 2 lw 1 65 set style line 3 lt 3 lw 1 66 set style line 4 lt 6 lw 1 67 set style line 5 lt 1 lw 3 68 set style line 6 lt 2 lw 3 69 set style line 7 lt 3 lw 3 70 set style line 8 lt 6 lw 3 40 71 ### 41 72 ### -
research/2008-displacement/main-cpushare
r2287 r2288 17 17 print 'Usage: %s <buy_order.cpu> -<mode> [image list]' % (sys.argv[0],) 18 18 sys.exit(-1) 19 mode = sys.argv[2] [1]19 mode = sys.argv[2] 20 20 done = 0 21 21 source = sys.argv[3:] … … 34 34 35 35 def start(self): 36 global todo, source 36 global mode, todo, source 37 gd.gdMaxColors = 256 * 256 * 256 38 while todo < len(source): 39 try: 40 self.index = todo 41 im = gd.image(source[self.index]) 42 break 43 except: 44 todo += 1 45 self.result = "Error\n" 37 46 if todo >= len(source): 38 return # We're finished... FIXME: is the transaction kept stuck? 39 self.index = todo 47 return # We're finished... FIXME: isn't the transaction stuck? 40 48 todo += 1 41 gd.gdMaxColors = 256 * 256 * 25642 im = gd.image(source[self.index])43 49 # Send argument count 44 50 self.protocol.sendString(PROTO_SECCOMP_FORWARD + chr(3)) … … 46 52 msg = chr(3) 47 53 msg += "bytecode\0" 48 msg += "-1\0"54 msg += mode + "\0" 49 55 msg += source[self.index] + "\0" 50 56 self.protocol.sendString(PROTO_SECCOMP_FORWARD + msg) -
research/2008-displacement/main.c
r2287 r2288 25 25 26 26 #ifdef BYTECODE 27 # define MAXIMAGES 12827 # define MAXIMAGES 6 28 28 static int slots[MAXIMAGES]; 29 29 static double slotbuf[MAXIMAGES * MAXWIDTH * MAXHEIGHT]; … … 383 383 { 384 384 double *floats; 385 int x, y;385 int w, h, x, y; 386 386 387 387 #ifdef BYTECODE … … 390 390 if(sys_read(0, &c, 1) != 1) 391 391 sys_exit(-5); 392 WIDTH= ((int)(unsigned char)c) << 8;392 w = ((int)(unsigned char)c) << 8; 393 393 if(sys_read(0, &c, 1) != 1) 394 394 sys_exit(-5); 395 WIDTH|= (int)(unsigned char)c;395 w |= (int)(unsigned char)c; 396 396 397 397 if(sys_read(0, &c, 1) != 1) 398 398 sys_exit(-5); 399 HEIGHT= ((int)(unsigned char)c) << 8;399 h = ((int)(unsigned char)c) << 8; 400 400 if(sys_read(0, &c, 1) != 1) 401 401 sys_exit(-5); 402 HEIGHT |= (int)(unsigned char)c; 402 h |= (int)(unsigned char)c; 403 #else 404 SDL_Surface *tmp, *surface; 405 uint32_t *pixels; 406 407 tmp = IMG_Load(name); 408 if(!tmp) 409 return NULL; 410 411 w = tmp->w; 412 h = tmp->h; 413 #endif 414 415 WIDTH = w > MAXWIDTH ? MAXWIDTH : w; 416 HEIGHT = h > MAXHEIGHT ? MAXHEIGHT : h; 403 417 404 418 floats = new(); … … 406 420 return NULL; 407 421 408 for(y = 0; y < HEIGHT; y++) 409 for(x = 0; x < WIDTH; x++) 422 #ifdef BYTECODE 423 for(y = 0; y < h; y++) 424 for(x = 0; x < w; x++) 410 425 { 411 426 if(sys_read(0, &c, 1) != 1) 412 427 sys_exit(-5); 428 if(x >= WIDTH || y >= HEIGHT) 429 continue; 413 430 put(floats, x, y, (double)(unsigned char)c / 0xff); 414 } 431 } 415 432 #else 416 SDL_Surface *tmp, *surface;417 uint32_t *pixels;418 419 tmp = IMG_Load(name);420 if(!tmp)421 return NULL;422 423 WIDTH = tmp->w > MAXWIDTH ? MAXWIDTH : tmp->w;424 HEIGHT = tmp->h > MAXHEIGHT ? MAXHEIGHT : tmp->h;425 floats = new();426 if(!floats)427 return NULL;428 429 433 surface = SDL_CreateRGBSurface(SDL_SWSURFACE, WIDTH, HEIGHT, 32, 430 434 0xff0000, 0xff00, 0xff, 0x0); … … 859 863 msg(" -6 <src> restrained (a,b,c,d) ED kernel analysis on src\n"); 860 864 msg(" -7 <src> restrained displacement study on src\n"); 865 msg(" -8 <src> displacement values on src\n"); 861 866 } 862 867 … … 891 896 { 892 897 double *dest = ed(src, false, 7, 0, 893 0, 3, 5, 1, 0,894 0, 0, 0, 0, 0);898 0, 3, 5, 1, 0, 899 0, 0, 0, 0, 0); 895 900 study(src, dest, 1.2, 0.001, .16, .28); 896 901 del(dest); … … 1068 1073 break; 1069 1074 1075 case 8: 1076 { 1077 const int STEP = 32; 1078 double mat[NN][NN]; 1079 double *dest = ed(src, false, 7, 0, 1080 0, 3, 5, 1, 0, 1081 0, 0, 0, 0, 0); 1082 double *tmp, *tmp2; 1083 int dx, dy; 1084 1085 makegauss(mat, 1.2, 0., 0.); 1086 tmp = gauss(src, mat); 1087 for(dy = 0; dy <= STEP; dy++) 1088 { 1089 for(dx = 0; dx <= STEP; dx++) 1090 { 1091 double fy = 2. / STEP * (dy - STEP / 2.); 1092 double fx = 2. / STEP * (dx - STEP / 2.); 1093 1094 makegauss(mat, 1.2, fx, fy); 1095 tmp2 = gauss(dest, mat); 1096 msg("%g %g %g\n", fy, fx, 1000. * dist(tmp, tmp2, 1.)); 1097 del(tmp2); 1098 } 1099 msg("\n"); 1100 } 1101 del(tmp); 1102 del(dest); 1103 del(src); 1104 } 1105 break; 1106 1070 1107 #if 0 1071 1108 tmp = ed(src, 7, 0, 0, 3, 5, 1, 0, 0, 0, 0, 0, 0); … … 1099 1136 1100 1137 #if 0 1101 # define STEP 321102 dest = ed(src, 7, 0, 0, 3, 5, 1, 0, 0, 0, 0, 0, 0);1103 makegauss(mat, 1.2, 0., 0.);1104 tmp = gauss(src, mat);1105 for(dy = 0; dy < STEP; dy++)1106 {1107 for(dx = 0; dx < STEP; dx++)1108 {1109 double fy = 2. / STEP * (dy - STEP / 2.);1110 double fx = 2. / STEP * (dx - STEP / 2.);1111 1112 makegauss(mat, 1.2, fx, fy);1113 tmp2 = gauss(dest, mat);1114 msg("%g %g %g\n", fy, fx, 1000. * dist(tmp, tmp2, 1.));1115 fflush(stdout);1116 del(tmp2);1117 }1118 msg("\n");1119 }1120 1138 1121 1139 save(dest, "output.bmp");
Note: See TracChangeset
for help on using the changeset viewer.