colour.SpectralShape

class colour.SpectralShape(start=None, end=None, interval=None)[source]

Bases: object

Defines the base object for spectral distribution shape.

Parameters
  • start (numeric, optional) – Wavelength \(\lambda_{i}\) range start in nm.

  • end (numeric, optional) – Wavelength \(\lambda_{i}\) range end in nm.

  • interval (numeric, optional) – Wavelength \(\lambda_{i}\) range interval.

Attributes

Methods

Examples

>>> SpectralShape(360, 830, 1)
SpectralShape(360, 830, 1)
__init__(start=None, end=None, interval=None)[source]

Initialize self. See help(type(self)) for accurate signature.

property start

Getter and setter property for the spectral shape start.

Parameters

value (numeric) – Value to set the spectral shape start with.

Returns

Spectral shape start.

Return type

numeric

property end

Getter and setter property for the spectral shape end.

Parameters

value (numeric) – Value to set the spectral shape end with.

Returns

Spectral shape end.

Return type

numeric

property interval

Getter and setter property for the spectral shape interval.

Parameters

value (numeric) – Value to set the spectral shape interval with.

Returns

Spectral shape interval.

Return type

numeric

property boundaries

Getter and setter property for the spectral shape boundaries.

Parameters

value (array_like) – Value to set the spectral shape boundaries with.

Returns

Spectral shape boundaries.

Return type

tuple

__str__()[source]

Returns a formatted string representation of the spectral shape.

Returns

Formatted string representation.

Return type

unicode

__repr__()[source]

Returns an evaluable string representation of the spectral shape.

Returns

Evaluable string representation.

Return type

unicode

__hash__()[source]

Returns the spectral shape hash.

Returns

Object hash.

Return type

int

__iter__()[source]

Returns a generator for the spectral shape data.

Returns

Spectral shape data generator.

Return type

generator

Examples

>>> shape = SpectralShape(0, 10, 1)
>>> for wavelength in shape:
...     print(wavelength)
0.0
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
__contains__(wavelength)[source]

Returns if the spectral shape contains given wavelength \(\lambda\).

Parameters

wavelength (numeric or array_like) – Wavelength \(\lambda\).

Returns

Is wavelength \(\lambda\) contained in the spectral shape.

Return type

bool

Examples

>>> 0.5 in SpectralShape(0, 10, 0.1)
True
>>> 0.6 in SpectralShape(0, 10, 0.1)
True
>>> 0.51 in SpectralShape(0, 10, 0.1)
False
>>> np.array([0.5, 0.6]) in SpectralShape(0, 10, 0.1)
True
>>> np.array([0.51, 0.6]) in SpectralShape(0, 10, 0.1)
False
__len__()[source]

Returns the spectral shape wavelength \(\lambda_n\) count.

Returns

Spectral shape wavelength \(\lambda_n\) count.

Return type

int

Examples

>>> len(SpectralShape(0, 10, 0.1))
101
__eq__(shape)[source]

Returns the spectral shape equality with given other spectral shape.

Parameters

shape (SpectralShape) – Spectral shape to compare for equality.

Returns

Spectral shape equality.

Return type

bool

Examples

>>> SpectralShape(0, 10, 0.1) == SpectralShape(0, 10, 0.1)
True
>>> SpectralShape(0, 10, 0.1) == SpectralShape(0, 10, 1)
False
__ne__(shape)[source]

Returns the spectral shape inequality with given other spectral shape.

Parameters

shape (SpectralShape) – Spectral shape to compare for inequality.

Returns

Spectral shape inequality.

Return type

bool

Examples

>>> SpectralShape(0, 10, 0.1) != SpectralShape(0, 10, 0.1)
False
>>> SpectralShape(0, 10, 0.1) != SpectralShape(0, 10, 1)
True
range(dtype=None)[source]

Returns an iterable range for the spectral shape.

Parameters

dtype (type) – Data type used to generate the range.

Returns

Iterable range for the spectral distribution shape

Return type

ndarray

Raises

RuntimeError – If one of spectral shape start, end or interval attributes is not defined.

Examples

>>> SpectralShape(0, 10, 0.1).range()
array([  0. ,   0.1,   0.2,   0.3,   0.4,   0.5,   0.6,   0.7,   0.8,
         0.9,   1. ,   1.1,   1.2,   1.3,   1.4,   1.5,   1.6,   1.7,
         1.8,   1.9,   2. ,   2.1,   2.2,   2.3,   2.4,   2.5,   2.6,
         2.7,   2.8,   2.9,   3. ,   3.1,   3.2,   3.3,   3.4,   3.5,
         3.6,   3.7,   3.8,   3.9,   4. ,   4.1,   4.2,   4.3,   4.4,
         4.5,   4.6,   4.7,   4.8,   4.9,   5. ,   5.1,   5.2,   5.3,
         5.4,   5.5,   5.6,   5.7,   5.8,   5.9,   6. ,   6.1,   6.2,
         6.3,   6.4,   6.5,   6.6,   6.7,   6.8,   6.9,   7. ,   7.1,
         7.2,   7.3,   7.4,   7.5,   7.6,   7.7,   7.8,   7.9,   8. ,
         8.1,   8.2,   8.3,   8.4,   8.5,   8.6,   8.7,   8.8,   8.9,
         9. ,   9.1,   9.2,   9.3,   9.4,   9.5,   9.6,   9.7,   9.8,
         9.9,  10. ])
__weakref__

list of weak references to the object (if defined)