eradiate
Contents
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 initialised 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 flags. If not, raise.
- Parameters
flags (
ModeFlags
) – Flags the current mode is expected to have.- Raises
.UnsupportedModeError – Current mode does not have the requested flags.
- eradiate.unsupported_mode(*args, **kwargs)[source]#
Check whether the current mode has specific flags. If so, raise.
- Parameters
flags (
ModeFlags
) – Flags the current mode is expected not to have.- Raises
.UnsupportedModeError – Current mode has the requested flags.
Unit management#
- eradiate.unit_registry(input_string: str, case_sensitive: Optional[bool] = 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, including the Monte Carlo simulation and data post-processing.
- Parameters
exp (
Experiment
) – The experiment to be run.measure (
Measure
orint
, optional) – The measure to be simulated.seed_state (
SeedState
, optional) – A RNG seed state used to generate the seeds used by Mitsuba’s random number generator. By default, Eradiate’sroot_seed_state
is used.
- Returns
result (
Dataset
) – Experiment result data.