eradiate.scenes.measure.MeasureSpectralConfig#

class eradiate.scenes.measure.MeasureSpectralConfig(srf=NOTHING)[source]#

Bases: abc.ABC

Data structure specifying the spectral configuration of a Measure.

While this class is abstract, it should however be the main entry point to create MeasureSpectralConfig child class objects through the MeasureSpectralConfig.new() class method constructor.

Parameters

srf (str or Spectrum or dict or float, default: UniformSpectrum(value=1.0)) – Spectral response function. If a string is passed, the corresponding shipped SRF data will be loaded from the Eradiate database. Other types will be converted by spectrum_factory.

Fields

srf (Spectrum) – Spectral response function.

static convert(value)[source]#

Object converter method.

If value is a dictionary, this method uses from_dict() to create a SpectralContext.

Otherwise, it returns value.

static from_dict(d)[source]#

Create from a dictionary. This class method will additionally pre-process the passed dictionary to merge any field with an associated "_units" field into a pint.Quantity container.

Parameters

d (dict) – Configuration dictionary used for initialisation.

Returns

spectral_cfg (MeasureSpectralConfig) – Created object.

static new(**kwargs)[source]#

Create a new instance of one of the SpectralContext child classes. The instantiated class is defined based on the currently active mode. Keyword arguments are passed to the instantiated class’s constructor.

Parameters
  • **kwargs (dict, optional) – Keyword arguments depending on the currently active mode (see below for a list of actual keyword arguments).

  • wavelengths (quantity, default: [550] nm) – Monochromatic modes [MonoMeasureSpectralConfig]. List of wavelengths (automatically converted to a Numpy array). Unit-enabled field (default: ucc[wavelength]).

  • bin_set (BinSet or str, default: "10nm") – CKD modes [CKDMeasureSpectralConfig]. CKD bin set definition. If a string is passed, the data repository is queried for the corresponding identifier using BinSet.from_db().

  • bins (list of (str or tuple or dict or callable)) – CKD modes [CKDSpectralContext]. List of CKD bins on which to perform the spectral loop. If unset, all the bins defined by the selected bin set will be covered.

abstract spectral_ctxs()[source]#

Return a list of SpectralContext objects based on the stored spectral configuration. These data structures can be used to drive the evaluation of spectrally dependent components during a spectral loop.

Returns

list of SpectralContext – List of generated spectral contexts. The concrete class (MonoSpectralContext, CKDSpectralContext, etc.) depends on the active mode.