ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/falsecolor.csh
Revision: 1.4
Committed: Fri May 24 17:23:01 1991 UTC (32 years, 11 months ago) by greg
Content type: application/x-csh
Branch: MAIN
Changes since 1.3: +8 -6 lines
Log Message:
fixed bug related to exposure compensations

File Contents

# User Rev Content
1 greg 1.1 #!/bin/csh -f
2     # SCCSid "$SunId$ LBL"
3     #
4     # Create false color image with legend
5     #
6     set tempdir=/usr/tmp/fc$$
7     onintr quit
8     set mult=470
9     set label=Nits
10     set scale=1000
11 greg 1.3 set decades=0
12 greg 1.1 set redv='2*v-1'
13     set grnv='if(v-.5,2-2*v,2*v)'
14     set bluv='1-2*v'
15     set ndivs=8
16     set picture='-'
17     set cpict=
18     while ($#argv > 0)
19     switch ($argv[1])
20     case -m:
21     shift argv
22     set mult="$argv[1]"
23     breaksw
24     case -s:
25     shift argv
26     set scale="$argv[1]"
27     breaksw
28     case -l:
29     shift argv
30     set label="$argv[1]"
31     breaksw
32 greg 1.3 case -log:
33     shift argv
34     set decades=$argv[1]
35     breaksw
36 greg 1.1 case -r:
37     shift argv
38     set redv="$argv[1]"
39     breaksw
40     case -g:
41     shift argv
42     set grnv="$argv[1]"
43     breaksw
44     case -b:
45     shift argv
46     set bluv="$argv[1]"
47     breaksw
48     case -i:
49     shift argv
50     set picture="$argv[1]"
51     breaksw
52     case -p:
53     shift argv
54     set cpict="$argv[1]"
55     breaksw
56     case -ip:
57     case -pi:
58 greg 1.2 shift argv
59 greg 1.1 set picture="$argv[1]"
60     set cpict="$argv[1]"
61     breaksw
62     case -cl:
63     set docont=a
64     breaksw
65     case -cb:
66     set docont=b
67     breaksw
68     case -n:
69 greg 1.2 shift argv
70 greg 1.1 set ndivs="$argv[1]"
71 greg 1.2 breaksw
72 greg 1.1 default:
73 greg 1.3 echo bad option "'$argv[1]'" >/dev/tty
74 greg 1.1 exit 1
75     endsw
76     shift argv
77     end
78     mkdir $tempdir
79     cat > $tempdir/pc.cal <<_EOF_
80     scale : $scale ;
81     mult : $mult ;
82     ndivs : $ndivs ;
83    
84 greg 1.4 norm : if(nfiles-.5, mult/scale/le(1), 0);
85    
86 greg 1.1 or(a,b) : if(a,a,b);
87     EPS : 1e-7;
88     neq(a,b) : if(a-b-EPS,1,b-a-EPS);
89     btwn(a,b) : if(a-x,-1,b-x);
90     frac(x) : x - floor(x);
91     boundary(a,b) : neq(floor(ndivs*a),floor(ndivs*b));
92    
93 greg 1.3 map(x) = x;
94     red = $redv;
95     grn = $grnv;
96     blu = $bluv;
97 greg 1.1
98 greg 1.4 v = map(li(1)*norm);
99     vleft = map(li(1,-1,0)*norm);
100     vright = map(li(1,1,0)*norm);
101     vabove = map(li(1,0,1)*norm);
102     vbelow = map(li(1,0,-1)*norm);
103 greg 1.1 isconta = or(boundary(vleft,vright),boundary(vabove,vbelow));
104     iscontb = if(btwn(0,v,1),btwn(.4,frac(ndivs*v),.6),0);
105    
106     ro = if(in,red,ra);
107     go = if(in,grn,ga);
108     bo = if(in,blu,ba);
109    
110     ra = ri(nfiles);
111     ga = gi(nfiles);
112     ba = bi(nfiles);
113    
114     in = 1;
115     _EOF_
116 greg 1.4 set pcargs=(-f $tempdir/pc.cal)
117 greg 1.1 if ($?docont) then
118     set pcargs=($pcargs -e "in=iscont$docont")
119     endif
120     if ("$cpict" == "") then
121     set pcargs=($pcargs -e 'ra=0;ga=0;ba=0')
122     else if ("$cpict" == "$picture") then
123     set cpict=
124     endif
125 greg 1.3 if ($decades > 0) then
126     set pcargs=($pcargs -e "map(x)=log10(x)/$decades+1")
127     set imap="imap(y)=10^((y-1)*$decades)"
128     else
129     set imap="imap(y)=y"
130     endif
131 greg 1.1 pcomb $pcargs -e 'v=(y+.5)/200;vleft=v;vright=v' \
132     -e 'vbelow=(y-.5)/200;vabove=(y+1.5)/200' \
133     -e 'ra=0;ga=0;ba=0' -x 100 -y 200 \
134     > $tempdir/scol.pic
135 greg 1.3 ( echo $label; cnt $ndivs \
136     | rcalc -e '$1='"($scale)*imap(($ndivs-.5-"'$1'")/$ndivs)" \
137     -e "$imap" ) \
138 greg 1.2 | psign -cf 1 1 1 -cb 0 0 0 -h `ev "floor(2*200/$ndivs+.5)"` \
139     | pfilt -1 -x /2 -y /2 > $tempdir/slab.pic
140 greg 1.1 pcomb $pcargs $picture $cpict \
141 greg 1.2 | pcompos $tempdir/scol.pic 0 0 -t .2 $tempdir/slab.pic 25 0 - 100 0
142 greg 1.1 quit:
143     rm -rf $tempdir