eradiate.scenes.integrators.Integrator#

class eradiate.scenes.integrators.Integrator(id='integrator', timeout=None, moment=False, stokes=False, meridian_align=True)[source]#

Bases: NodeSceneElement, ABC

Abstract base class for all integrator elements.

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) – If True, calculates the variance of the output film.

  • stokes (bool, optional, default: False) – If True, 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) – If True, 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 with stokes=True.

Fields:
  • id (str or None) – Identifier of the current scene element.

  • timeout (float or None) – Maximum amount of time to spend during a kernel render pass in second (excluding scene parsing).

  • moment (bool) – If True, calculates the variance of the output film.

  • stokes (bool) – If True, calculate and output the polarized components of the Stokes vector.

  • meridian_align (bool) – If True, align the Stokes vector to the meridian plane.

Notes

  • This class is to be used as a mixin.

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 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, UpdateParameter] or None – A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.

abstract 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 the mitsuba.load_dict() function, or InitParameter instances which must be rendered.