colour.SpectralDistribution_IESTM2714

class colour.SpectralDistribution_IESTM2714(path=None, header=None, spectral_quantity=None, reflection_geometry=None, transmission_geometry=None, bandwidth_FWHM=None, bandwidth_corrected=None, **kwargs)[source]

Bases: colour.colorimetry.spectrum.SpectralDistribution

Defines a IES TM-27-14 spectral distribution.

This class can read and write IES TM-27-14 spectral data XML files.

Parameters
  • path (str, optional) – Spectral data XML file path.

  • header (Header_IESTM2714, optional) – IES TM-27-14 spectral distribution header.

  • spectral_quantity (str, optional) – {‘flux’, ‘absorptance’, ‘transmittance’, ‘reflectance’, ‘intensity’, ‘irradiance’, ‘radiance’, ‘exitance’, ‘R-Factor’, ‘T-Factor’, ‘relative’, ‘other’}, Quantity of measurement for each element of the spectral data.

  • reflection_geometry (str, optional) – {‘di:8’, ‘de:8’, ‘8:di’, ‘8:de’, ‘d:d’, ‘d:0’, ‘45a:0’, ‘45c:0’, ‘0:45a’, ‘45x:0’, ‘0:45x’, ‘other’}, Spectral reflectance factors geometric conditions.

  • transmission_geometry (str, optional) – {‘0:0’, ‘di:0’, ‘de:0’, ‘0:di’, ‘0:de’, ‘d:d’, ‘other’}, Spectral transmittance factors geometric conditions.

  • bandwidth_FWHM (numeric, optional) – Spectroradiometer full-width half-maximum bandwidth in nanometers.

  • bandwidth_corrected (bool, optional) – Specifies if bandwidth correction has been applied to the measured data.

  • data (Series or Signal, SpectralDistribution or array_like or dict_like, optional) – Data to be stored in the spectral distribution.

  • domain (array_like, optional) – Values to initialise the colour.SpectralDistribution.wavelength attribute with. If both data and domain arguments are defined, the latter will be used to initialise the colour.SpectralDistribution.wavelength attribute.

  • name (str, optional) – Spectral distribution name.

  • interpolator (object, optional) – Interpolator class type to use as interpolating function.

  • interpolator_kwargs (dict_like, optional) – Arguments to use when instantiating the interpolating function.

  • extrapolator (object, optional) – Extrapolator class type to use as extrapolating function.

  • extrapolator_kwargs (dict_like, optional) – Arguments to use when instantiating the extrapolating function.

  • strict_name (str, optional) – Spectral distribution name for figures, default to colour.SpectralDistribution.name attribute value.

Notes

Reflection Geometry

  • di:8: Diffuse / eight-degree, specular component included.

  • de:8: Diffuse / eight-degree, specular component excluded.

  • 8:di: Eight-degree / diffuse, specular component included.

  • 8:de: Eight-degree / diffuse, specular component excluded.

  • d:d: Diffuse / diffuse.

  • d:0: Alternative diffuse.

  • 45a:0: Forty-five degree annular / normal.

  • 45c:0: Forty-five degree circumferential / normal.

  • 0:45a: Normal / forty-five degree annular.

  • 45x:0: Forty-five degree directional / normal.

  • 0:45x: Normal / forty-five degree directional.

  • other: User-specified in comments.

Transmission Geometry

  • 0:0: Normal / normal.

  • di:0: Diffuse / normal, regular component included.

  • de:0: Diffuse / normal, regular component excluded.

  • 0:di: Normal / diffuse, regular component included.

  • 0:de: Normal / diffuse, regular component excluded.

  • d:d: Diffuse / diffuse.

  • other: User-specified in comments.

Attributes

Methods

References

[IESCCommitteeTM2714WGroup14]

Examples

>>> from os.path import dirname, join
>>> directory = join(dirname(__file__), 'tests', 'resources')
>>> sd = SpectralDistribution_IESTM2714(
...     join(directory, 'Fluorescent.spdx')).read()
>>> sd.name  
'Unknown - N/A - Rare earth fluorescent lamp'
>>> sd.header.comments
'Ambient temperature 25 degrees C.'
>>> sd[501.7]  
0.0950000...
__init__(path=None, header=None, spectral_quantity=None, reflection_geometry=None, transmission_geometry=None, bandwidth_FWHM=None, bandwidth_corrected=None, **kwargs)[source]
property mapping

Getter property for the mapping structure.

Returns

Mapping structure.

Return type

Structure

property path

Getter and setter property for the path.

Parameters

value (str) – Value to set the path with.

Returns

Path.

Return type

str

property header

Getter and setter property for the header.

Parameters

value (Header_IESTM2714) – Value to set the header with.

Returns

Header.

Return type

Header_IESTM2714

property spectral_quantity

Getter and setter property for the spectral quantity.

Parameters

value (str) – Value to set the spectral quantity with.

Returns

Spectral quantity.

Return type

str

property reflection_geometry

Getter and setter property for the reflection geometry.

Parameters

value (str) – Value to set the reflection geometry with.

Returns

Reflection geometry.

Return type

str

property transmission_geometry

Getter and setter property for the transmission geometry.

Parameters

value (str) – Value to set the transmission geometry with.

Returns

Transmission geometry.

Return type

str

property bandwidth_FWHM

Getter and setter property for the full-width half-maximum bandwidth.

Parameters

value (numeric) – Value to set the full-width half-maximum bandwidth with.

Returns

Full-width half-maximum bandwidth.

Return type

numeric

property bandwidth_corrected

Getter and setter property for whether bandwidth correction has been applied to the measured data.

Parameters

value (bool) – Whether bandwidth correction has been applied to the measured data.

Returns

Whether bandwidth correction has been applied to the measured data.

Return type

bool

read()[source]

Reads and parses the spectral data XML file path.

Returns

IES TM-27-14 spectral distribution.

Return type

SpectralDistribution_IESTM2714

Examples

>>> from os.path import dirname, join
>>> directory = join(dirname(__file__), 'tests', 'resources')
>>> sd = SpectralDistribution_IESTM2714(
...     join(directory, 'Fluorescent.spdx')).read()
>>> sd.name  
'Unknown - N/A - Rare earth fluorescent lamp'
>>> sd.header.comments
'Ambient temperature 25 degrees C.'
>>> sd[400]  
0.0339999...
write()[source]

Write the spectral distribution spectral data to XML file path.

Returns

Definition success.

Return type

bool

Examples

>>> from os.path import dirname, join
>>> from shutil import rmtree
>>> from tempfile import mkdtemp
>>> directory = join(dirname(__file__), 'tests', 'resources')
>>> sd = SpectralDistribution_IESTM2714(
...     join(directory, 'Fluorescent.spdx')).read()
>>> temporary_directory = mkdtemp()
>>> sd.path = join(temporary_directory, 'Fluorescent.spdx')
>>> sd.write()
True
>>> rmtree(temporary_directory)