ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/glare.csh
Revision: 1.10
Committed: Wed May 8 11:08:01 1991 UTC (32 years, 10 months ago) by greg
Content type: application/x-csh
Branch: MAIN
Changes since 1.9: +4 -0 lines
Log Message:
added getinfo call to print parameters of picture

File Contents

# Content
1 #!/bin/csh -f
2 # SCCSid "$SunId$ LBL"
3 #
4 # Interactive program for calculating glare values
5 #
6 set fgargs=(-v)
7 set nofile="none"
8 set octree=$nofile
9 set picture=$nofile
10 if ($#argv >= 1) then
11 set glarefile=$argv[1]
12 else
13 set glarefile=$nofile
14 endif
15 set rtargs=
16 set view=
17 set threshold=300
18 set maxangle=0
19 set stepangle=10
20
21 set gndxfile="glr$$.ndx"
22 set plotfile="glr$$.plt"
23 set tempfiles=($gndxfile $plotfile)
24
25 alias readvar 'echo -n Enter \!:1 "[$\!:1]: ";set ans="$<";if("$ans" != "")set \!:1="$ans"'
26
27 onintr quit
28
29 cat <<_EOF_
30 This script provides a convenient interface to the glare calculation
31 and analysis programs. It works on a single output file from findglare,
32 which you must either create here or have created already before.
33 _EOF_
34 while ( $glarefile == $nofile )
35 echo ""
36 echo "Please specify a glare file, or use ^C to exit."
37 readvar glarefile
38 end
39 if ( ! -f $glarefile ) then
40 echo ""
41 echo -n "The glare file '$glarefile' doesn't exist -- shall we create it? "
42 if ("$<" =~ [nN]*) exit 0
43 cat <<_EOF_
44
45 A glare file can be created from a wide-angle Radiance picture (preferably
46 a fisheye view), an octree, or both. Computing glare source locations
47 from a finished image is faster, but using an octree is more reliable
48 since all of the scene information is there. Whenever it is possible,
49 you should use both a picture and an octree to compute the glare file.
50
51 You must also have a viewpoint and direction for the glare calculation.
52 If the viewpoint is not the same as the picture, an error will result.
53 If no view is specified, the view parameters are taken from the picture,
54 so the view specification is optional unless you are starting from an
55 octree.
56
57 _EOF_
58 readvar picture
59 readvar octree
60 readvar view
61 if ( $picture == $nofile && $octree == $nofile ) then
62 echo "You must specify a picture or an octree"
63 exit 1
64 endif
65 if ( $picture == $nofile && "$view" == "" ) then
66 echo "You must give a view if there is no picture"
67 exit 1
68 endif
69 if ( $picture != $nofile ) then
70 if ( ! -r $picture ) then
71 echo "Cannot read $picture"
72 exit 1
73 endif
74 set fgargs=($fgargs -p $picture -vf $picture)
75 endif
76 set fgargs=($fgargs $view)
77 if ( $octree != $nofile ) then
78 if ( ! -r $octree ) then
79 echo "Cannot read $octree"
80 exit 1
81 endif
82 cat <<_EOF_
83
84 With an octree, you should give the same options for -av, -ab and
85 so forth as are used to render the scene. Please enter them below.
86
87 _EOF_
88 if ($picture != $nofile) then
89 echo "These are the parameters from the picture:"
90 getinfo $picture
91 endif
92 readvar rtargs
93 set fgargs=($fgargs $rtargs $octree)
94 endif
95 echo ""
96 echo -n "Do you expect glare sources in the scene to be small? "
97 if ("$<" =~ [yY]) then
98 echo -n "Very small? "
99 if ("$<" =~ [yY]) then
100 set fgargs=(-r 400 $fgargs)
101 else
102 set fgargs=(-r 250 $fgargs)
103 endif
104 echo -n "Are these sources relatively bright? "
105 if ("$<" =~ [nN]*) then
106 set fgargs=(-c $fgargs)
107 endif
108 endif
109 cat <<_EOF_
110
111 Glare sources are determined by a threshold level. Any part of the
112 view that is above this threshold is considered to be part of a glare
113 source. If you do not choose a threshold value, it will be set auto-
114 matically to 7 times the average field luminance (in candelas/sq.meter).
115
116 _EOF_
117 echo -n "Do you wish to set the glare threshold manually? "
118 if ("$<" =~ [yY]) then
119 readvar threshold
120 set fgargs=(-t $threshold $fgargs)
121 endif
122 cat <<_EOF_
123
124 It is often desirable to know how glare changes as a function of
125 viewing direction. If you like, you can compute glare for up
126 to 180 degrees to the left and right of the view center. Enter
127 the maximum angle that you would like to compute below.
128
129 _EOF_
130 readvar maxangle
131 if ( $maxangle >= $stepangle ) then
132 set fgargs=(-ga $stepangle-$maxangle\:$stepangle $fgargs)
133 endif
134 echo ""
135 echo "Starting calculation..."
136 echo findglare $fgargs
137 findglare $fgargs > $glarefile
138 endif
139 if ($?DISPLAY && $picture != $nofile) then
140 echo ""
141 echo "Displaying glare sources in '$picture'..."
142 xglaresrc $picture $glarefile
143 endif
144 set ndxnam=("Guth Visual Comfort Probability" "Guth Disability Glare Ratio" "CIE Glare Index")
145 set ndxcom=("glarendx -t guth_vcp" "glarendx -t guth_dgr" "glarendx -t cie_cgi")
146 set bcdlvl=(50 124 18.5)
147 while ( 1 )
148 echo ""
149 echo " 0. Quit"
150 set i=1
151 while ($i <= $#ndxnam)
152 echo " $i. $ndxnam[$i]"
153 @ i++
154 end
155 echo ""
156 set choice=0
157 readvar choice
158 if ($choice < 1 || $choice > $#ndxcom) goto quit
159 $ndxcom[$choice] $glarefile > $gndxfile
160 echo ""
161 echo $ndxnam[$choice]
162 echo "Angle Value"
163 getinfo - < $gndxfile
164 echo ""
165 set save_file=$nofile
166 readvar save_file
167 if ($save_file != $nofile) then
168 cp -i $gndxfile $save_file
169 endif
170 if ( `getinfo - < $gndxfile | wc -l` > 4 ) then
171 echo ""
172 echo -n "Do you want to plot this data? "
173 if ( "$<" =~ [yY]* ) then
174 set subtitle="$view"
175 if ($picture != $nofile) then
176 set subtitle="$picture $subtitle"
177 else if ($octree != $nofile) then
178 set subtitle="$subtitle $octree"
179 endif
180 if ( "$subtitle" == "" ) then
181 set subtitle="`getinfo < $glarefile | grep findglare`"
182 endif
183 cat <<_EOF_ > $plotfile
184 include=line.plt
185 include=polar.plt
186 title="$ndxnam[$choice]"
187 subtitle="$subtitle"
188 Bdata=
189 0 $bcdlvl[$choice]
190 360 $bcdlvl[$choice]
191 ;
192 Blabel="BCD level"
193 Adata=
194 _EOF_
195 getinfo - < $gndxfile >> $plotfile
196 igraph $plotfile
197 endif
198 endif
199 end
200 quit:
201 rm -f $tempfiles
202 exit 0