eradiate.scenes.spectra.Spectrum
eradiate.scenes.spectra.Spectrum#
- class eradiate.scenes.spectra.Spectrum(id=None, quantity='dimensionless')[source]#
Bases:
eradiate.scenes.core.SceneElement
,abc.ABC
Spectrum abstract base class.
- Parameters
id (
str
, optional, default:None
) – User-defined object identifier.quantity (
PhysicalQuantity
orstr
, default:dimensionless
) – Physical quantity which the spectrum represents. The specified quantity must be one which varies with wavelength. SeePhysicalQuantity.spectrum()
for allowed values.Child classes should implement value units validation and conversion based on
quantity
.
- Fields
quantity (
PhysicalQuantity
) – Physical quantity which the spectrum represents.
- eval(spectral_ctx)[source]#
Evaluate spectrum based on a spectral context. This method dispatches evaluation to specialised methods depending on the active mode.
- Parameters
spectral_ctx (
SpectralContext
) – A spectral context data structure containing relevant spectral parameters (e.g. wavelength in monochromatic mode, bin and quadrature point index in CKD mode).- Returns
value (
quantity
) – Evaluated spectrum as a scalar.
- abstract kernel_dict(ctx)#
Return a dictionary suitable for kernel scene configuration.
- Parameters
ctx (
KernelDictContext
) – A context data structure containing parameters relevant for kernel dictionary generation.- Returns
KernelDict
– Kernel dictionary which can be loaded as a Mitsuba object.