# Last edited on 2008-02-04 20:17:26 by stolfi Converting the images from color PNG to color PPM: foreach f ( *.png ) echo ${f} convert ${f} ${f:r}.ppm pnmfile ${f:r}.ppm end ls -l ??.ppm Cropping, aligning: foreach f ( r0 r1 ) echo ${f} pnmcut 170 310 600 900 ${f}.ppm \ | pnmflip -r270 \ > ${f}-c.ppm end xv r*-c.ppm & foreach n ( 0 1 ) echo $n @ xpos = 320 + $n + $n @ ypos = 165 pnmrotate -noantialias 0.65 v${n}.ppm \ | pnmdepth 255 \ | pnmflip -r90 \ | pnmshear -noantialias -0.56 \ | pnmcut ${xpos} ${ypos} 900 600 \ | pnmflip -lr \ > v${n}-c.ppm end Converting to grayscale, and checking the alignment between front and back: foreach n ( 0 1 ) foreach s ( r v ) echo ${s}${n} cat ${s}${n}-c.ppm \ | ppmtopgm \ > ${s}${n}-c.pgm end rgb3toppm r${n}-c.pgm v${n}-c.pgm r${n}-c.pgm \ > d${n}-c.ppm end xv {r,v}0-c.pgm d0-c.ppm {r,v}1-c.pgm d1-c.ppm & Checking alignment between black- and white-backed images, and computing the transmission terms: foreach s ( r v ) rgb3toppm ${s}0-c.pgm ${s}1-c.pgm ${s}0-c.pgm \ > ${s}d-c.ppm pnmarith -subtract ${s}1-c.pgm ${s}0-c.pgm \ | pgmnorm -bvalue 0 -wvalue 100 \ | pnmdepth 255 \ > ${s}t-c.pgm end rgb3toppm rt-c.pgm vt-c.pgm rt-c.pgm \ > dt-c.ppm xv rd-c.ppm rt-c.pgm vd-c.ppm vt-c.pgm dt-c.ppm & PGMRemoveGhost \ -inName test \ -outName out \ -gamma 0.667 \ -paperColor 1.000 \ -blackColor 0.010 \ -whiteColor 1.000 \ -debug 20 20 \ -writePixels xv out-*.pgm &