ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/fieldcomb.csh
Revision: 2.3
Committed: Fri Sep 2 14:43:43 2005 UTC (18 years, 6 months ago) by greg
Content type: application/x-csh
Branch: MAIN
Changes since 2.2: +22 -9 lines
Log Message:
Added -e [default] and -o options for even/odd fields first

File Contents

# User Rev Content
1 greg 2.1 #!/bin/csh -f
2 greg 2.3 # RCSid $Id: fieldcomb.csh,v 2.2 2005/09/02 04:24:37 greg Exp $
3 greg 2.1 #
4     # Combine alternate lines in full frames for field rendering
5     #
6     # Expects numbered frames on command line, as given by ranimate
7     #
8     # If an odd number of frames is provided, the spare frame at the
9     # end is linked to $spare_name for the next run
10     #
11 greg 2.3 # Written by Greg Ward for Iebele Abel in August 2005
12 greg 2.1 #
13     set spare_name=spare_fieldcomb_frame.pic
14 greg 2.3 set odd_first=0
15     while ($#argv > 1)
16     switch ($argv[1])
17     case -r*:
18 greg 2.1 set remove_orig
19 greg 2.3 breaksw
20     case -o*:
21     set odd_first=1
22     breaksw
23     case -e*:
24     set odd_first=0
25     breaksw
26     default:
27     if ("$argv[1]" !~ -*) break
28     echo "Unknown option: $argv[1]"
29     exit 1
30     endsw
31     shift argv
32     end
33 greg 2.1 if ($#argv < 2) then
34 greg 2.3 echo "Usage: $0 [-e|-o][-r] field1.pic field2.pic .."
35 greg 2.1 exit 1
36     endif
37     set f1=$argv[1]:q
38     set ext=$f1:e
39     set basenm="`echo $f1:q | sed 's/[0-9]*\.'$ext'//'`"
40     set curfi=`echo $f1:q | sed 's/^[^1-9]*\(.[0-9]*\)\.'$ext'$/\1/'`
41     set fields=($argv[*]:q)
42     if (-r $spare_name) then
43     set fields=($spare_name $fields:q)
44     @ curfi--
45     endif
46     @ curfr = $curfi / 2
47     set curfi=1
48     while ($curfi < $#fields)
49     @ nextfi = $curfi + 1
50 greg 2.2 pcomb -e 'ro=ri(fld); go=gi(fld); bo=bi(fld)' \
51     -e 'yd=yres-1-y; odd=.5*yd-floor(.5*yd)-.25' \
52 greg 2.3 -e "fld=if(odd,2-$odd_first,1+$odd_first)" \
53 greg 2.1 $fields[$curfi]:q $fields[$nextfi]:q \
54     > "${basenm}C$curfr.$ext"
55     if ($?remove_orig) rm $fields[$curfi]:q $fields[$nextfi]:q
56     @ curfr++
57     @ curfi = $nextfi + 1
58     end
59     rm -f $spare_name
60     if ($curfi == $#fields) ln "${basenm}$curfi.$ext" $spare_name