eradiate.experiments.Experiment#

class eradiate.experiments.Experiment(measures=NOTHING, integrator=NOTHING)[source]#

Bases: abc.ABC

Base class for experiment simulations.

Parameters
Fields

measures (list of Measure) – List of measure specifications.

classmethod from_dict(d)[source]#

Instantiate from a dictionary. The default implementation raises an exception.

Parameters

d (dict) – Dictionary to be converted to an Experiment.

Returns

Experiment

abstract kernel_dict(ctx)[source]#

Return a dictionary suitable for kernel scene configuration.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

KernelDict – Kernel dictionary which can be loaded as a Mitsuba object.

kernel_dicts(measure)[source]#

A generator which returns kernel dictionaries (and the associated context) relevant to a given measure.

Parameters

measure (Measure or int) – Measure for which kernel dictionaries are to be generated. Alternatively, the index in the self.measure list can be passed.

Yields
abstract pipeline(*measures)[source]#

Request post-processing pipeline for a given measure.

Parameters

*measures (Measure or int) – One or several measures for which to get a post-processing pipeline. If integer values are passed, they are used to query the measure list.

Returns

pipelines (Pipeline or tuple of Pipeline) – If a single measure is passed, a single Pipeline instance is returned; if multiple measures are passed, a tuple of pipelines is returned.

postprocess(*measures, pipeline_kwargs=None)[source]#

Post-process raw results stored in a measure’s results field. This requires a successful execution of process(). Post-processed results are stored in self.results.

Parameters
  • *measures (Measure or int) – One or several measures for which to perform post-processing. Alternatively, indexes in the measure array can be passed. If no value is passed, all measures are processed.

  • pipeline_kwargs (dict, optional) – A dictionary of pipeline keyword arguments forwarded to Pipeline.transform().

Raises

ValueError – If measure.results is None, i.e. if process() has not been successfully run.

See also

process()

process(*measures, seed_state=None)[source]#

Run simulation on the configured scene. Raw results yielded by the runner function are stored in measure.results.

Parameters
  • *measures (Measure or int) – One or several measures for which to compute radiative transfer. Alternatively, indexes in the measure array can be passed. If no value is passed, all measures are processed.

  • seed_state (SeedState, optional) – A RNG seed state used to generate the seeds used by Mitsuba’s random number generator. By default, Eradiate’s root_seed_state is used.

See also

postprocess()

property integrator#

Integrator used to solve the radiative transfer equation.

Type

Integrator

property results#

Post-processed simulation results.

Returns

dict[str, Dataset] – Dictionary mapping measure IDs to xarray datasets.