eradiate.experiments.DEMExperiment#
- class eradiate.experiments.DEMExperiment(measures=_Nothing.NOTHING, results=_Nothing.NOTHING, extra_objects=_Nothing.NOTHING, illumination=_Nothing.NOTHING, geometry='plane_parallel', atmosphere=_Nothing.NOTHING, surface=_Nothing.NOTHING, dem=None, integrator=_Nothing.NOTHING)[source]#
Bases:
EarthObservationExperiment
Simulate radiation in a scene with a digital elevation model (DEM) under a 1D atmosphere.
- Parameters:
measures (
list
ofMeasure
orlist
ofdict
orMeasure
ordict
, default:MultiDistantMeasure()
) – List of measure specifications. The passed list may contain dictionaries, which will be interpreted bymeasure_factory
. Optionally, a singleMeasure
or dictionary specification may be passed and will automatically be wrapped into a list.extra_objects (
dict
, default:{}
) – Dictionary of extra objects to be added to the scene. The keys of this dictionary are used to identify the objects in the kernel dictionary.illumination (
DirectionalIllumination
ordict
, default:DirectionalIllumination()
) – Illumination specification. This parameter can be specified as a dictionary which will be interpreted byillumination_factory
.geometry (
str
ordict
orPlaneParallelGeometry
, default:"plane_parallel"
) – Problem geometry.atmosphere (
Atmosphere
ordict
orNone
, default:HomogeneousAtmosphere()
) – Atmosphere specification. If set toNone
, no atmosphere will be added. This parameter can be specified as a dictionary which will be interpreted byatmosphere_factory
.surface (
BasicSurface
orBSDF
ordict
, optional, default:BasicSurface(bsdf=LambertianBSDF())
) – Surface specification. If set toNone
, no surface will be added. This parameter can be specified as a dictionary which will be interpreted bysurface_factory
andbsdf_factory
.dem (
DEMSurface
ordict
, optional, default:None
) – Digital elevation model (DEM) specification. If set toNone
, no DEM will be added. This parameter can be specified as a dictionary which will be interpreted bysurface_factory
integrator (
Integrator
ordict
, default:VolPathIntegrator()
) – Monte Carlo integration algorithm specification. This parameter can be specified as a dictionary which will be interpreted byintegrator_factory
.
- Fields:
measures (
list
ofMeasure
) – List of measure specifications.extra_objects (
dict
) – Dictionary of extra objects to be added to the scene.illumination (
DirectionalIllumination
) – Illumination specification.geometry (
PlaneParallelGeometry
) – Problem geometry.atmosphere (
Atmosphere
orNone
) – Atmosphere specification.surface (
BasicSurface
orNone
) – Surface specification.dem (
DEMSurface
orNone
) – Digital elevation model (DEM) specification.
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, aValueError
will be raised during initialization.Currently this experiment is limited to the plane-parallel geometry.
- 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.
- process(spp=0, seed_state=None)#
Run simulation and collect raw results.
- Parameters:
- 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:
- 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.