#! /bin/csh -f # # find the 5 micron tungsten wire in the image # # set path = ( /programs/kuim/bin $path ) set tempfile = /tmp/center_wire$$ # grab the current microscope image snap.com snap.jpg -nodisplay >& /dev/null set comment = `strings -n 20 snap.jpg | awk '/beam /{print substr($0,index($0,"beam"))}'` if($#comment > 1) then set test = `echo $comment | awk '/beam/&&$2+0>0&&$2<1&&$3>0&&$3<1{print $2,$3}'` if ($#test == 2) set beam = ( $test ) set test = `echo $comment | awk '/fov/&&$5+0!=0 && $6+0!=0{print $5+0,$6+0}'` if ($#test == 2) set fov = ( $test ) endif if(! $?beam) set beam = `beam.com |& awk 'NF>1{print $(NF-1),$NF}' | tail -1` if(! $?fov) set fov = `fov.com |& awk 'NF>1{print $(NF-1),$NF}' | tail -1` # define a slice through the beam set slice = `echo $beam 704 480 | awk '{printf "%d", $1*$3-8}'` convert -crop 16x480+$slice -normalize snap.jpg slice.jpg >& /dev/null rm -f slice.im type -f slice.jpg slice.im >& /dev/null rm -f smooth.im binom -n 16 slice.im smooth.im >& /dev/null rm -f edges.im laplacian smooth.im edges.im >& /dev/null rm -f plot.int type -b edges.im plot.int >& /dev/null rm -f slicel.jpg type -j edges.im slicel.jpg >& /dev/null od -v -j 1024 -t u1 -w1 plot.int |\ awk '{++x} x==16{++y;print y,v/16;v=x=0} {v+=$NF}' |\ cat >! slice.txt #echo "set data style lp; plot 'slice.txt'" | gnuplot -persist #echo 'set data style lp; plot "slice.txt" using 1:($2*$2)' | gnuplot -persist set mean = `awk '{++n;sum+=$NF} END{if(n) print sum/n}' slice.txt` set rmsd = `awk -v mean=$mean '{++n;sum+=($NF-mean)^2} END{if(n) print sqrt(sum/n)}' slice.txt` set maxd = `awk -v mean=$mean '{$NF=($NF-mean)^2} $NF>maxv{maxv=$NF;maxy=$1} END{print maxy, maxv}' slice.txt` set max = `awk '$NF>maxv{maxv=$NF;maxy=$1} END{print maxy, maxv}' slice.txt` set min = `awk 'BEGIN{minv=99999} $NF& /dev/null rm -f slice.im smooth.im edges.im plot.in slicel.jpg >& /dev/null exit echo "plot 'slice.txt'" | gnuplot -persist