eradiate.experiments.DEMExperiment#

class eradiate.experiments.DEMExperiment(measures=_Nothing.NOTHING, results=_Nothing.NOTHING, default_spectral_set=AUTO, quad_spec=_Nothing.NOTHING, extra_objects=None, illumination=_Nothing.NOTHING, geometry='plane_parallel', atmosphere=_Nothing.NOTHING, surface=_Nothing.NOTHING, integrator=_Nothing.NOTHING)[source]#

Bases: EarthObservationExperiment

Simulate radiation in a scene with a digital elevation model (DEM) under a 1D atmosphere.

Parameters:
Fields:

Warning

  • Although technically supported, DEMs extending below 0 elevation may be a tricky case because atmospheric profile behaviour below sea level is undefined. This will be addressed in a future release.

Notes

  • When using distant measures, setting a target is highly recommended. This experiment will issue a warning during configuration if it detects that a distant measure is used with no or an inappropriate target. If a distant measure is used and no target is set, it defaults to [0, 0, 0].

  • This experiment supports arbitrary measure positioning, except for MultiRadiancemeterMeasure, for which subsensor origins are required to be either all inside or all outside of the atmosphere. If an unsuitable configuration is detected, a ValueError will be raised during initialization.

  • Even without an atmosphere, this experiment requries using a volumetric path tracing integrator.

clear()#

Clear previous experiment results and reset internal state.

init()#

Generate kernel dictionary and initialise Mitsuba scene.

pipeline(measure)#

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

postprocess()#

Post-process raw results and store them in results.

process(spp=0, seed_state=None)#

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.

spectral_indices(measure_index)#

Generate spectral indices for a given measure.

Parameters:

measure_index (int) – Measure index for which spectral indices are generated.

Yields:

SpectralIndex – Spectral index.

property context_init#

Return a single context used for scene initialization.

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 scene#

Return a scene object used for kernel dictionary template and parameter table generation.

property spectral_set#

A dictionary mapping measure index to the associated spectral set.