eradiate
#
The Eradiate radiative transfer simulation software package.
Configuration#
- eradiate.config#
Global configuration for Eradiate.
This class, instantiated once as the
eradiate.config
attribute, contains global configuration parameters for Eradiate. It is initialized using environment variables as defaults.See also
Mode management#
- eradiate.modes(*args, **kwargs)[source]#
Get list of registered operational modes.
- Parameters:
filter (
callable()
, optional) – A callable used to filter the returned modes. Operates on aMode
instance.- Returns:
modes (
dict[str
,Mode]
) – List of registered operational modes.
Examples
Return the full list of registered modes:
>>> eradiate.modes()
Return only CKD modes:
>>> eradiate.modes(lambda x: x.is_ckd)
- eradiate.set_mode(*args, **kwargs)[source]#
Set Eradiate’s operational mode.
This function sets and configures Eradiate’s operational mode. Eradiate’s modes map to Mitsuba’s variants and are used to make contextual decisions when relevant during the translation of a scene to its kernel format.
Valid mode IDs
mono
(monochromatic mode, single precision)mono_double
(monochromatic mode, double-precision)ckd
(CKD mode, single precision)ckd_double
(CKD mode, double-precision)none
(no mode selected)
- Parameters:
mode_id (
str
) – Mode to be selected (see list below).- Raises:
ValueError –
mode_id
does not match any of the known mode identifiers.
- eradiate.supported_mode(*args, **kwargs)[source]#
Check whether the current mode has specific features. If not, raise.
- Parameters:
kwargs – Keyword arguments passed to
Mode.check()
.- Raises:
.UnsupportedModeError – Current mode does not pass the check.
- eradiate.unsupported_mode(*args, **kwargs)[source]#
Check whether the current mode has specific features. If so, raise.
- Parameters:
kwargs – Keyword arguments passed to
Mode.check()
.- Raises:
.UnsupportedModeError – Current mode has the requested flags.
- eradiate.Mode(*args, **kwargs)[source]#
Data structure describing Eradiate’s operational mode and associated ancillary data.
- Parameters:
id (
str
) – Mode identifier.spectral_mode (
SpectralMode
orstr
) – Spectral dimension handling.mi_backend (
MitsubaBackend
orstr
) – Mitsuba computational backend.mi_color_mode (
MitsubaColorMode
orstr
) – Mitsuba color mode.mi_polarized (
bool
, default:False
) – Mitsuba polarized mode.mi_double_precision (
bool
, default:True
) – Mitsuba double precision.
- Fields:
id (
str
) – Mode identifier.spectral_mode (
SpectralMode
) – Spectral dimension handling.mi_backend (
MitsubaBackend
) – Mitsuba computational backend.mi_color_mode (
MitsubaColorMode
) – Mitsuba color mode.mi_polarized (
bool
) – Mitsuba polarized mode.mi_double_precision (
bool
) – Mitsuba double precision.
Warning
Instances are immutable.
- eradiate.SpectralMode(value, names=None, *, module=None, qualname=None, type=None, start=1)[source]#
Spectral dimension handling flags.
Unit management#
- eradiate.unit_registry(*args, **kwargs)#
A wrapper class used to distribute changes to the application registry.
- eradiate.unit_context_config#
An overridable registry of
UnitGenerator
objects.This class maintains a registry of
UnitGenerator
instances. StoredUnitGenerator
objects can be conveniently overridden using theoverride()
context manager.- Attributes / constructor arguments:
registry (Dict[Hashable,
UnitGenerator
]) – Unit generator registry. Keys can be any hashable type, butstr
orEnum
are recommended. Defaults to an empty dictionary.Note
The initialization sequence will make repeated calls to
register()
and will consequently apply the same key and value conversion rules.interpret_str (
bool
) – IfTrue
, attempt string-to-units interpretation when specifying unit generators asstr
.ureg (Optional[
UnitRegistry
]) – Unit registry used for string-to-units interpretation. IfNone
, the default registry is used (seeget_unit_registry()
).key_converter (Callable) – Converter used for keys. Defaults to
identity()
.
Changed in version 1.1.0: Added
ureg
.
- eradiate.unit_context_kernel#
An overridable registry of
UnitGenerator
objects.This class maintains a registry of
UnitGenerator
instances. StoredUnitGenerator
objects can be conveniently overridden using theoverride()
context manager.- Attributes / constructor arguments:
registry (Dict[Hashable,
UnitGenerator
]) – Unit generator registry. Keys can be any hashable type, butstr
orEnum
are recommended. Defaults to an empty dictionary.Note
The initialization sequence will make repeated calls to
register()
and will consequently apply the same key and value conversion rules.interpret_str (
bool
) – IfTrue
, attempt string-to-units interpretation when specifying unit generators asstr
.ureg (Optional[
UnitRegistry
]) – Unit registry used for string-to-units interpretation. IfNone
, the default registry is used (seeget_unit_registry()
).key_converter (Callable) – Converter used for keys. Defaults to
identity()
.
Changed in version 1.1.0: Added
ureg
.
Metadata#
- eradiate.__version__#
Eradiate version string.
Convenience aliases#
- eradiate.run(*args, **kwargs)[source]#
Run an Eradiate experiment. This function performs kernel scene assembly, runs the computation and post-processes the raw results. The output consists of one or several xarray datasets.
- Parameters:
exp (
Experiment
) – Reference to the experiment object which will be processed.spp (
int
, optional, default:0
) – Optional parameter to override the number of samples per pixel for all computed measures. If set to 0, the configured value for each measure 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’sroot seed state
is used.
- Returns:
Dataset
ordict[str
,Dataset]
– If a single measure is defined, a single xarray dataset is returned. If several measures are defined, a dictionary mapping measure IDs to the corresponding result dataset is returned.
- eradiate.traverse(*args, **kwargs)[source]#
Traverse a scene element tree and collect kernel dictionary template and parameter update table data.
- Parameters:
node (
SceneElement
) – Scene element where to start traversal.- Returns:
kdict_template (
KernelDictTemplate
) – Kernel dictionary template corresponding to the traversed scene element.umap_template (
UpdateMapTemplate
) – Kernel parameter table associated with the traversed scene element.