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.
- Returns:
dict
– List of registered operational modes
- 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(input_string: str, case_sensitive: bool | None = None, use_decimal: bool = False, **values) Quantity #
The unit registry stores the definitions and relationships between units.
- Parameters:
filename – path of the units definition file to load or line-iterable object. Empty to load the default definition file. None to leave the UnitRegistry empty.
force_ndarray (
bool
) – convert any input, scalar or not to a numpy.ndarray.force_ndarray_like (
bool
) – convert all inputs other than duck arrays to a numpy.ndarray.default_as_delta – In the context of a multiplication of units, interpret non-multiplicative units as their delta counterparts.
autoconvert_offset_to_baseunit – If True converts offset units in quantities are converted to their plain units in multiplicative context. If False no conversion happens.
on_redefinition (
str
) – action to take in case a unit is redefined. ‘warn’, ‘raise’, ‘ignore’auto_reduce_dimensions – If True, reduce dimensionality on appropriate operations.
preprocessors – list of callables which are iteratively ran on any input expression or unit string
fmt_locale – locale identifier string, used in format_babel. Default to None
case_sensitive (
bool
, optional) – Control default case sensitivity of unit parsing. (Default: True)cache_folder (
str
orpathlib.Path
orNone
, optional) – Specify the folder in which cache files are saved and loaded from. If None, the cache is disabled. (default)
- 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 initialisation 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 initialisation 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.