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, 11 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

# User Rev Content
1 greg 1.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 greg 1.2
57 greg 1.1 _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 greg 1.6 if ( $picture == $nofile && "$view" == "" ) then
66     echo "You must give a view if there is no picture"
67     exit 1
68     endif
69 greg 1.1 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 greg 1.10 if ($picture != $nofile) then
89     echo "These are the parameters from the picture:"
90     getinfo $picture
91     endif
92 greg 1.1 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 greg 1.3 set fgargs=(-r 250 $fgargs)
103 greg 1.1 endif
104 greg 1.4 echo -n "Are these sources relatively bright? "
105 greg 1.1 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 greg 1.9 xglaresrc $picture $glarefile
143 greg 1.1 endif
144 greg 1.5 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 greg 1.7 set bcdlvl=(50 124 18.5)
147 greg 1.1 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 greg 1.2 if ( "$subtitle" == "" ) then
181     set subtitle="`getinfo < $glarefile | grep findglare`"
182     endif
183 greg 1.1 cat <<_EOF_ > $plotfile
184 greg 1.2 include=line.plt
185 greg 1.1 include=polar.plt
186     title="$ndxnam[$choice]"
187     subtitle="$subtitle"
188 greg 1.7 Bdata=
189     0 $bcdlvl[$choice]
190     360 $bcdlvl[$choice]
191     ;
192     Blabel="BCD level"
193 greg 1.1 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