eradiate.experiments.Experiment#

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

Bases: ABC

Abstract base class for all Eradiate experiments. An experiment consists of a high-level scene specification parametrized by natural user input, a processing and post-processing pipeline, and a result storage data structure.

Parameters:
  • measures (list of Measure or list of dict or Measure or dict, default: MultiDistantMeasure()) – List of measure specifications. The passed list may contain dictionaries, which will be interpreted by measure_factory. Optionally, a single Measure or dictionary specification may be passed and will automatically be wrapped into a list.

  • integrator (Integrator or dict, default: PathIntegrator()) – Monte Carlo integration algorithm specification. This parameter can be specified as a dictionary which will be interpreted by integrator_factory.

  • default_spectral_set (BinSet or WavelengthSet or AUTO, default: AUTO) – Default spectral set. This attribute is used to set the default value for spectral_set.If the value is AUTO, the default spectral set is selected based on the active mode. Otherwise, the value must be a BinSet or WavelengthSet instance.

Fields:
clear()[source]#

Clear previous experiment results and reset internal state.

abstract init()[source]#

Generate kernel dictionary and initialise Mitsuba scene.

abstract pipeline(measure)[source]#

Return the post-processing pipeline for a given measure.

Parameters:

measure (Measure or int) – Measure for which the pipeline is generated.

Returns:

hamilton.driver.Driver

abstract postprocess()[source]#

Post-process raw results and store them in results.

abstract process(spp=0, seed_state=None)[source]#

Run simulation and collect raw results.

Parameters:
  • spp (int, optional) – Sample count. If set to 0, the value set in the original scene definition takes precedence.

  • seed_state (SeedState, optional) – Seed state used to generate seeds to initialize Mitsuba’s RNG at every iteration of the parametric loop. If unset, Eradiate’s root seed state is used.

abstract property context_init#

Return a single context used for scene initialization.

abstract property contexts#

Return a list of contexts used for processing.

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.

property spectral_set#

A dictionary mapping measure index to the associated spectral set.