Pabopto2bsdf with strong scattering / wide peak

Hi all,
I have a fairly particular question about the fitting of radial basis functions in pabopto2bsdf this time. This is part of the compilation of measured BSDF data into the data-driven models contained in those XML files…

I have measured BSDF data for a strong forward-scattering sample (a piece of glass with inclusions). Unfortunately, the data-driven models all exhibit a “spread” peak (with reduced the peak maximum). While the first suspect was the interpolation routine, I found that the interpolant (SIR) comprising the radial basis functions (RBF) representing any given outgoing distribution does not fit the measured data and explains the mismatch of the peaks. You can access the visualisation of RBFs (green surface as sum, and red dots indicating the lobes’ peaks) and measured data-points (yellow) as well as the measured data from these two URLs:

Is there any parameter I have to modify to enforce a tighter fit of the RBFs to the measurement?

Cheers, Lars.

Hi Lars,

Discourse appears to be down again, so I’m replying by e-mail and CC’ing you directly. I kind of doubt anyone else will have an answer to this query, anyway…

There are no command-line options for tuning in pabopto2bsdf, but there are some macros that affect accuracy. Yours is an interesting test case, and has led me to reconsider the setting of the relative error tolerance in src/cv/bsdfrbf.c:

#define SMOOTH_MSER 0.01 /* acceptable relative MSE */

This is the new setting I just checked into CVS. (The old value was 0.03) This macro controls the trade-off between number of RBF lobes and accuracy, and I think the previous value was probably too high.


@Lars_Grobe Hi Lars, I am quite new to Radiance and also need to calculate an SIR from BRDF measurements. I have gotten so far that I could create an SIR file but I would like to compare it to the original measured points. I saw the JPG you uploaded, which program did you use to create it?

Best regards

There is a utility called “pabopto2rad” that should be built with the rest in the current distribution. It doesn’t have any options, but creates a Radiance scene description on its standard output given a pabopto (Mountain) input file for a particular incident theta and phi direction.

Another program called bsdfview can render plots of compiled SIR files as well as Klems and tensor tree XML files. The bsdf2rad program is the basis, and converts any of these representations to a (large) Radiance scene description.


1 Like