colour.SpectralShape#

class colour.SpectralShape(start: Real, end: Real, interval: Real)[source]#

Bases: object

Define the base object for spectral distribution shape.

Parameters:
  • start (Real) – Wavelength \(\lambda_{i}\) range start in nm.

  • end (Real) – Wavelength \(\lambda_{i}\) range end in nm.

  • interval (Real) – Wavelength \(\lambda_{i}\) range interval.

Attributes

Methods

Examples

>>> SpectralShape(360, 830, 1)
SpectralShape(360, 830, 1)
__init__(start: Real, end: Real, interval: Real) None[source]#
Parameters:
  • start (Real) –

  • end (Real) –

  • interval (Real) –

Return type:

None

property start: Real#

Getter and setter property for the spectral shape start.

Parameters:

value – Value to set the spectral shape start with.

Returns:

Spectral shape start.

Return type:

Real

property end: Real#

Getter and setter property for the spectral shape end.

Parameters:

value – Value to set the spectral shape end with.

Returns:

Spectral shape end.

Return type:

Real

property interval: Real#

Getter and setter property for the spectral shape interval.

Parameters:

value – Value to set the spectral shape interval with.

Returns:

Spectral shape interval.

Return type:

Real

property boundaries: tuple#

Getter and setter property for the spectral shape boundaries.

Parameters:

value – Value to set the spectral shape boundaries with.

Returns:

Spectral shape boundaries.

Return type:

tuple

property wavelengths: NDArrayFloat#

Getter property for the spectral shape wavelengths.

Returns:

Spectral shape wavelengths.

Return type:

numpy.ndarray

__str__() str[source]#

Return a formatted string representation of the spectral shape.

Returns:

Formatted string representation.

Return type:

str

__repr__() str[source]#

Return an evaluable string representation of the spectral shape.

Returns:

Evaluable string representation.

Return type:

str

__hash__() int[source]#

Return the spectral shape hash.

Returns:

Object hash.

Return type:

int

__iter__() Generator[source]#

Return a generator for the spectral shape data.

Yields:

Generator – 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: ArrayLike) bool[source]#

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

Parameters:

wavelength (ArrayLike) – Wavelength \(\lambda\).

Returns:

Whether wavelength \(\lambda\) is 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__() int[source]#

Return 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__(other: Any) bool[source]#

Return whether the spectral shape is equal to given other object.

Parameters:

other (Any) – Object to test whether it is equal to the spectral shape.

Returns:

Whether given object is equal to the spectral shape.

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__(other: Any) bool[source]#

Return whether the spectral shape is not equal to given other object.

Parameters:

other (Any) – Object to test whether it is not equal to the spectral shape.

Returns:

Whether given object is not equal to the spectral shape.

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: Type[DTypeFloat] | None = None) NDArrayFloat[source]#

Return an iterable range for the spectral shape.

Parameters:

dtype (Type[DTypeFloat] | None) – Data type used to generate the range.

Returns:

Iterable range for the spectral distribution shape

Return type:

numpy.ndarray

Examples

>>> SpectralShape(0, 10, 0.1).wavelengths
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)