--- ray/src/util/fieldcomb.csh 2005/09/02 04:15:42 2.1 +++ ray/src/util/fieldcomb.csh 2005/09/03 20:44:08 2.4 @@ -1,4 +1,5 @@ #!/bin/csh -f +# RCSid $Id: fieldcomb.csh,v 2.4 2005/09/03 20:44:08 greg Exp $ # # Combine alternate lines in full frames for field rendering # @@ -7,17 +8,30 @@ # If an odd number of frames is provided, the spare frame at the # end is linked to $spare_name for the next run # -# Written by Greg Ward for Iebele Atelier in August 2005 +# Written by Greg Ward for Iebele Abel in August 2005 # set spare_name=spare_fieldcomb_frame.pic -if ($#argv > 1) then - if ("$argv[1]" == "-r") then +set odd_first=0 +while ($#argv > 1) + switch ($argv[1]) + case -r*: set remove_orig - shift argv - endif -endif + breaksw + case -o*: + set odd_first=1 + breaksw + case -e*: + set odd_first=0 + breaksw + default: + if ("$argv[1]" !~ -*) break + echo "Unknown option: $argv[1]" + exit 1 + endsw + shift argv +end if ($#argv < 2) then - echo "Usage: $0 [-r] field1.pic field2.pic .." + echo "Usage: $0 [-e|-o][-r] field1.pic field2.pic .." exit 1 endif set f1=$argv[1]:q @@ -33,10 +47,20 @@ endif set curfi=1 while ($curfi < $#fields) @ nextfi = $curfi + 1 - pcomb -e 'ro=ri(fld);go=gi(fld);bo=bi(fld)' \ - -e 'odd=.5*y-floor(.5*y)-.25' -e 'fld=if(odd,1,2)' \ + if ($curfr < 10) then + set fid=000$curfr + else if ($curfr < 100) then + set fid=00$curfr + else if ($curfr < 1000) then + set fid=0$curfr + else + set fid=$curfr + endif + pcomb -e 'ro=ri(fld); go=gi(fld); bo=bi(fld)' \ + -e 'yd=yres-1-y; odd=.5*yd-floor(.5*yd)-.25' \ + -e "fld=if(odd,2-$odd_first,1+$odd_first)" \ $fields[$curfi]:q $fields[$nextfi]:q \ - > "${basenm}C$curfr.$ext" + > "${basenm}C$fid.$ext" if ($?remove_orig) rm $fields[$curfi]:q $fields[$nextfi]:q @ curfr++ @ curfi = $nextfi + 1