ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/falsecolor.csh
Revision: 1.3
Committed: Thu May 23 16:41:38 1991 UTC (32 years, 11 months ago) by greg
Content type: application/x-csh
Branch: MAIN
Changes since 1.2: +24 -10 lines
Log Message:
added -log option

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     or(a,b) : if(a,a,b);
85     EPS : 1e-7;
86     neq(a,b) : if(a-b-EPS,1,b-a-EPS);
87     btwn(a,b) : if(a-x,-1,b-x);
88     frac(x) : x - floor(x);
89     boundary(a,b) : neq(floor(ndivs*a),floor(ndivs*b));
90    
91 greg 1.3 map(x) = x;
92     red = $redv;
93     grn = $grnv;
94     blu = $bluv;
95 greg 1.1
96 greg 1.3 v = map(li(1)*(mult/scale));
97     vleft = map(li(1,-1,0)*(mult/scale));
98     vright = map(li(1,1,0)*(mult/scale));
99     vabove = map(li(1,0,1)*(mult/scale));
100     vbelow = map(li(1,0,-1)*(mult/scale));
101 greg 1.1 isconta = or(boundary(vleft,vright),boundary(vabove,vbelow));
102     iscontb = if(btwn(0,v,1),btwn(.4,frac(ndivs*v),.6),0);
103    
104     ro = if(in,red,ra);
105     go = if(in,grn,ga);
106     bo = if(in,blu,ba);
107    
108     ra = ri(nfiles);
109     ga = gi(nfiles);
110     ba = bi(nfiles);
111    
112     in = 1;
113     _EOF_
114     set pcargs=(-o -f $tempdir/pc.cal)
115     if ($?docont) then
116     set pcargs=($pcargs -e "in=iscont$docont")
117     endif
118     if ("$cpict" == "") then
119     set pcargs=($pcargs -e 'ra=0;ga=0;ba=0')
120     else if ("$cpict" == "$picture") then
121     set cpict=
122     endif
123 greg 1.3 if ($decades > 0) then
124     set pcargs=($pcargs -e "map(x)=log10(x)/$decades+1")
125     set imap="imap(y)=10^((y-1)*$decades)"
126     else
127     set imap="imap(y)=y"
128     endif
129 greg 1.1 pcomb $pcargs -e 'v=(y+.5)/200;vleft=v;vright=v' \
130     -e 'vbelow=(y-.5)/200;vabove=(y+1.5)/200' \
131     -e 'ra=0;ga=0;ba=0' -x 100 -y 200 \
132     > $tempdir/scol.pic
133 greg 1.3 ( echo $label; cnt $ndivs \
134     | rcalc -e '$1='"($scale)*imap(($ndivs-.5-"'$1'")/$ndivs)" \
135     -e "$imap" ) \
136 greg 1.2 | psign -cf 1 1 1 -cb 0 0 0 -h `ev "floor(2*200/$ndivs+.5)"` \
137     | pfilt -1 -x /2 -y /2 > $tempdir/slab.pic
138 greg 1.1 pcomb $pcargs $picture $cpict \
139 greg 1.2 | pcompos $tempdir/scol.pic 0 0 -t .2 $tempdir/slab.pic 25 0 - 100 0
140 greg 1.1 quit:
141     rm -rf $tempdir