eradiate.scenes.integrators.EOVolPathIntegrator¶
- class eradiate.scenes.integrators.EOVolPathIntegrator(id='integrator', timeout=None, moment=False, stokes=False, meridian_align=True, max_depth=None, hide_emitters=None, rr_depth=1000, rr_factor=0.97, ddis_threshold=0.1)¶
Bases:
MonteCarloIntegratorA thin interface to the EO volumetric path tracer kernel plugin [
eovolpath].This integrator samples paths using random walks starting from the sensor. It supports multiple scattering, accounts for volume interactions, and implements the DDIS variance reduction method as described by Buras and Mayer [2011].
It also supports the use of extremum structures and the estimation of transmittance through residual ratio tracking [Novák et al., 2014]. The former can improve performance in heterogeneous atmosphere, and the latter improves variance (and sometimes performance) induced from transmittance estimation.
- Parameters:
id (
str, optional, default:"integrator") – Identifier of the current scene element.timeout (
float, optional, default:None) – Maximum amount of time to spend during a kernel render pass in second (excluding scene parsing).moment (
bool, optional, default:False) – IfTrue, calculates the variance of the output film.stokes (
bool, optional, default:False) – IfTrue, calculate and output the polarized components of the Stokes vector. Note that this will only work with a polarized mode and a sensor that measures radiance.meridian_align (
bool, optional, default:True) – IfTrue, align the Stokes vector to the meridian plane. Otherwise, default to aligning to the sensor’s x-axis. This parameter is only relevant in polarized mode, when measuring radiance withstokes=True.max_depth (
int, optional) – Longest path depth in the generated measure data (where -1 corresponds to ∞). A value of 1 will display only visible emitters. 2 computes only direct illumination (no multiple scattering), etc. If unset, the kernel default value (-1) is used.hide_emitters (
bool, optional) – Hide directly visible emitters. If unset, the kernel default value (false) is used.rr_depth (
int) – Minimum path depth after which the implementation starts applying the Russian roulette path termination criterion.rr_factor (
float) – Specifies the maximum probability to keep a path when Russian Roulette is evaluated.ddis_threshold (
float) – Specifies the probability to importance sample the phase using the emitter as incident direction. Set to <0. to deactivate.
- Fields:
timeout (
floatorNone) – Maximum amount of time to spend during a kernel render pass in second (excluding scene parsing).moment (
bool) – IfTrue, calculates the variance of the output film.stokes (
bool) – IfTrue, calculate and output the polarized components of the Stokes vector.meridian_align (
bool) – IfTrue, align the Stokes vector to the meridian plane.max_depth (
intorNone) – Longest path depth in the generated measure data (where -1 corresponds to ∞).hide_emitters (
boolorNone) – Hide directly visible emitters.rr_depth (
int) – Minimum path depth after which the implementation starts applying the Russian roulette path termination criterion.rr_factor (
float) – Specifies the maximum probability to keep a path when Russian Roulette is evaluated.ddis_threshold (
float) – Specifies the probability to importance sample the phase using the emitter as incident direction.
- traverse(callback)¶
Traverse this scene element and collect kernel dictionary template and parameter update map contributions.
- Parameters:
callback (
SceneTraversal) – Callback data structure storing the collected data.
- update()¶
Enforce internal state consistency. This method should be called when fields are modified. It is automatically called as a post-init step.
- property extremum_compatible¶
- Returns:
bool– Flags whether the integrator can consume extremum structures.
- property objects¶
Map of child objects associated with this scene element.
- Returns:
dict– A dictionary mapping object names to a corresponding object to be inserted in the Eradiate scene graph.
- property params¶
- Returns:
dict[str,SceneParameter] orNone– A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.
See also
- property template¶
Kernel dictionary template contents associated with this scene element.
- Returns:
dict– A flat dictionary mapping dot-separated strings describing the path of an item in the nested scene dictionary to values. Values may be objects which can be directly used by themitsuba.load_dict()function, orDictParameterinstances which must be rendered.
See also