eradiate
#
The Eradiate radiative transfer simulation software package.
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
: Alias tomono_double
ckd
: Alias tockd_double
mono_polarized
: Alias tomono_polarized_double
ckd_polarized
: Alias tockd_polarized_double
mono_single
: Monochromatic, single-precisionmono_polarized_single
: Monochromatic, polarized, single-precisionmono_double
: Monochromatic, double-precisionmono_polarized_double
: Monochromatic, polarized, double-precisionckd_single
: CKD, single-precisionckd_polarized_single
: CKD, polarized, single-precisionckd_double
: CKD, double-precisionckd_polarized_double
: CKD, polarized, double-precisionnone
(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:
- Fields:
Warning
Instances are immutable.
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.