eradiate.scenes.measure.Measure#

class eradiate.scenes.measure.Measure(id='measure', spectral_cfg=_Nothing.NOTHING, sampler='independent', spp=1000)[source]#

Bases: NodeSceneElement, ABC

Abstract base class for all measure scene elements.

Parameters:
  • id (str, optional, default: "measure") – Identifier of the current scene element.

  • spectral_cfg (MeasureSpectralConfig or dict, default: MeasureSpectralConfig.new()) – Spectral configuration of the measure. Must match the current operational mode. Can be passed as a dictionary, which will be interpreted by MeasureSpectralConfig.from_dict().

  • sampler ({"independent", "stratified", "multijitter", "orthogonal", "ldsampler"}, default: "independent") – Mitsuba sampler used to generate pseudo-random number sequences.

  • spp (int, default: 1000) – Number of samples per pixel.

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

  • spectral_cfg (MeasureSpectralConfig) – Spectral configuration of the measure.

  • sampler (str) – Mitsuba sampler used to generate pseudo-random number sequences.

  • spp (int) – Number of samples per pixel.

See also

mitsuba_run()

Notes

  • This class is meant to be used as a mixin.

  • Raw results stored in the results field as nested dictionaries with the following structure:

    {
        spectral_key_0: dict_0,
        spectral_key_1: dict_1,
        ...
    }
    

    Keys are spectral loop indexes; values are nested dictionaries produced by mitsuba_run().

is_distant()[source]#

Return True iff measure records radiometric quantities at infinite distance.

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.

abstract property film_resolution#

Getter for film resolution as a (int, int) pair.

Type:

tuple

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.

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.

property var#

Post-processing variable field name and metadata.

Type:

str, dict