ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/man/man1/pabopto2bsdf.1
(Generate patch)

Comparing ray/doc/man/man1/pabopto2bsdf.1 (file contents):
Revision 1.1 by greg, Thu Feb 25 04:48:19 2021 UTC vs.
Revision 1.10 by greg, Tue Jun 14 17:45:53 2022 UTC

# Line 1 | Line 1
1   .\" RCSid "$Id$"
2   .TH PABOPTO2BSDF 1 2/24/2021 RADIANCE
3   .SH NAME
4 < pabopto2bsdf - convert pab-opto BSDF measurements to scattering interpolant representation
4 > pabopto2bsdf - convert BSDF measurements to a scattering interpolant representation
5   .SH SYNOPSIS
6   .B pabopto2bsdf
7   [
# Line 10 | Line 10 | pabopto2bsdf - convert pab-opto BSDF measurements to s
10   .B "\-n nproc"
11   ][
12   .B "\-s symmetry"
13 + ][
14 + .B "\-g angle | 'A'"
15   ]
16   .B "meas1 meas2 .."
17   .SH DESCRIPTION
18   .I Pabopto2bsdf
19   takes two or more pab-opto
20   .I Mountain
21 < files, each corresponding
22 < to a different incident beam angle, and produces a
23 < Scattering Interpolant Representation (SIR)
21 > files, each nominally containing
22 > different incident beam angles or sampling patterns,
23 > and produces a Scattering Interpolant Representation (SIR)
24   on the standard output for further processing.
25   The binary SIR contains a Radial Basis Function fitting
26   each incident BSDF data file
27 < and a "transport plan" between neighboring RBF
27 > and a "transport plan" matrix for each pair of neighboring RBF
28   directions in a spherical Delaunay mesh.
29   .PP
30   The SIR provides a complete 4-dimensional
# Line 36 | Line 38 | At most, there will be 4 such hemisphere pairs for
38   front reflection, back reflection, front transmission,
39   and back transmission.
40   Theoretically, only one transmission direction is required,
41 < but it is often safest to measure both if both directions
42 < will be used in a simulation.
43 < .PP
42 < See
41 > but it is often safest to measure both if they are to
42 > be used in a simulation.
43 > (See
44   .I bsdf2klems(1)
45   and
46   .I bsdf2ttree(1)
# Line 48 | Line 49 | The
49   .I bsdf2rad(1)
50   and
51   .I bsdfview(1)
52 < tools are also useful for visualizaing SIR and XML files.
52 > tools are also useful for visualizaing SIR and XML files.)
53   .PP
54   The
55   .I pabopto2bsdf
56   .I \-t
57   option reverses the assumed sample orientation front-to-back,
58   and is discussed below under the "#intheta" header entry.
59 + .PP
60   Multi-processing may be used to accelerate the program
61   on systems that support it via the
62   .I \-n
# Line 69 | Line 71 | letter, and case is ignored.
71   .PP
72   Normally,
73   .I pabopto2bsdf
74 < attempts to deduce BSDF symmetry from the incident phi angles
73 < provided.
74 > will assume a BSDF symmetry from the incident phi angles provided.
75   If every input data file uses the same incident phi angle, the
76 < BSDF is assumed to be "isotropic", meaning rotationally symmetric.
76 > BSDF is assumed to be "isotropic", or rotationally symmetric.
77   If input phi angles only cover one quarter of the incident hemisphere,
78   then the sample is assumed to have quadrilateral symmetry.
79   Similarly, half-hemisphere coverage implies "bilateral" symmetry,
# Line 83 | Line 84 | Similar to quadrilateral symmetry, bilateral symmetry
84   meaning that the sample material looks identical when viewed in a mirror.
85   However, "up" symmetry means that the sample looks the same when
86   rotated by 180-degree (upside-down), but does not look the same in a mirror.
86 Although bilateral symmetry is a superset of "up" symmetry,
87 we assume the former when provided only half of the input hemisphere.
87   The "up" symmetry was a late addition, and involves rotating and copying the
88   input data, treating the result as anisotropic.
89   It is therefore less efficient, and should only be used when necessary.
90 < Finally, if the incident hemisphere is fully covered, the BSDF is also anisotropic.
90 > Finally, if the incident hemisphere is fully covered, the final BSDF
91 > is anisotropic.
92   .PP
93   If a
94   .I \-s
# Line 97 | Line 97 | data provided, an error message is issued and no outpu
97   Note that only the "up" and "bilateral" symmetry options have
98   identical input coverage, so this is the only time the
99   .I \-s
100 < option must be specified if the default mirroring is inappropriate.
100 > option must be specified if the default mirroring is not appropriate.
101   .PP
102 + If a
103 + .I \-g
104 + option is present, it will cull scattered measurements that are nearer
105 + to grazing than the given angle in degrees.
106 + If the word "auto" (which can be abbreviated as 'a' or 'A') is given
107 + instead of an angle, then the near-grazing angle will be determined
108 + by the lowest incident angle measurement present in the input data.
109 + This is sometimes necessary to eliminate noise and edge effects that
110 + some measurements exhibit near grazing.
111 + .PP
112   The
113   .I Mountain
114 < software operates the pg2 goniophotometer to
115 < capture BSDF scattering data in separate files for each incident
116 < angle in a text file beginning with a header
114 > program, written by Peter Apian-Bennewitz, stores data taken by
115 > his pg2 goniophotometer in separate
116 > BSDF scattering files for each incident angle, beginning with a header
117   whose lines each start with a pound sign ('#').
118   Some header settings require colons and others do not, as indicated below.
119   The
# Line 113 | Line 123 | the rest:
123   .TP
124   .BR #sample_name
125   A double-quoted string containing the name associated with this sample.
126 < If input files contain different sample names, the one read
127 < will be the sample name passed to the SIR output.
126 > If input files contain different sample names, the final sample name read
127 > will be the one passed to the SIR output.
128   .TP
129   .BR #format:
130   The data format, typically one of "theta phi DSF" or "theta phi BSDF".
# Line 129 | Line 139 | Theta values should be between 0 and 180, where values
139   are considered incident to the "front" side of the sample, and
140   theta values greater than 90 are incident to the "back" side in
141   the standard coordinate system.
142 < Notions of sample "front" and "back" may be reversed using the
142 > Notions of "front" and "back" may be reversed using the
143   .I -t
144   option if desired.
145   .TP
# Line 146 | Line 156 | The interpretation is the same as above.
156   .BR #upphi
157   If present, this phi angle that corresponds to
158   the sample "up" orientation.
159 < By default, it is assumed to be 0 degrees, meaning that "up"
159 > By default, it is assumed to be 0, meaning that "up"
160   is phi=0.
161   To get the standard RADIANCE coordinates for BSDFs, "#upphi" should
162 < be set to 90.
162 > be set to 90 (degrees).
163   .TP
164   .BR #colorimetry:
165 < Two colorimetry values are currently understood, "CIE-Y" and "CIE-XYZ".
166 < The default colorimetry of "CIE-Y", which may be left unspecified,
165 > Two colorimetry values are currently understood: "CIE-Y" and "CIE-XYZ".
166 > The default "CIE-Y" colorimetry
167   takes each DSF or BSDF value as photometric.
168   If "CIE-XYZ" is specified, then the DSF or BSDF values must be triplets
169   corresponding to CIE XYZ values.
# Line 208 | Line 218 | To combine this with front reflection measurements int
218   pabopto2bsdf -n 4 -s up f*_Rvis.txt > front_refl.sir
219   .br
220   bsdf2klems front_trans.sir front_refl.sir > Klems_bsdf.xml
221 + .SH NOTES
222 + If the BSDF is being mirrored and there is no measured theta=0 incident
223 + angle data file, this part of the distribution is filled in
224 + by a special procedure.
225 + This is important because there is no way to extrapolate missing
226 + data at normal incidence.
227 + .PP
228 + The BSDF is extrapolated past the last measured theta angles towards
229 + grazing using a constant value plus a single Gaussian lobe if one can
230 + be reasonably fit to the near-grazing data.
231 + This lobe will always be in the mirror direction in the case of
232 + reflection, or the "through" direction in the case
233 + of transmission.
234 + The magnitude and width of this lobe is stored in the output header,
235 + along with the constant value.
236 + Both the lobe and the constant are neutral values, even with CIE-XYZ
237 + colorimetry.
238 + .PP
239 + While there is no explicit handling of infrared or solar radiometry,
240 + any single-channel BSDF will be created the same, and the final XML
241 + file generated by
242 + .I bsdf2klems
243 + or
244 + .I bsdf2ttree
245 + can be edited to specify a different radiometry.
246 + The interpolation process in
247 + .I pabopto2bsdf
248 + is not affected by this.
249 + .PP
250 + The standard BSDF coordinates in RADIANCE have the theta=0 direction
251 + corresponding to the front-side surface normal.
252 + The phi=0 direction points to the right as seen from the front, and
253 + phi=90 degrees corresponds to the "up" orientation for the sample.
254 + The same theta and phi are used for incoming and scattered angles,
255 + so theta=180 is the opposite side surface normal.
256 + This differs from the WINDOW, which use separate
257 + coordinate systems for the front and the back.
258 + To confusing things further, notions of "front" and "back" are
259 + opposite in WINDOW and RADIANCE.
260 + In RADIANCE, the normal of a window surface usually faces the
261 + interior of a space.
262 + .PP
263 + In the
264 + .I genBSDF(1)
265 + utility, the world coordinate system follows trigonometric
266 + conventions with theta=0 aligning to the Z-axis,
267 + the X-axis matches (theta,phi)=(90,0), and the Y-axis
268 + corresponds to (theta,phi)=(90,90).
269 + The latter is thought of as the "up" direction for the sample.
270 + This usually needs to be rotated into position, since most
271 + RADIANCE models use the Z-axis as the world "up" direction.
272   .SH AUTHOR
273   Greg Ward
274   .SH "SEE ALSO"
275 < bsdf2klems(1), bsdf2rad(1), bsdf2ttree(1), bsdfview(1), pabopto2xyz(1)
275 > bsdf2klems(1), bsdf2rad(1), bsdf2ttree(1), bsdfview(1), genBSDF(1),
276 > pabopto2xyz(1)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines