colour.colorimetry.interpolate_signal#

colour.colorimetry.interpolate_signal(signal: SpectralDistribution | MultiSpectralDistributions, shape: SpectralShape, interpolator: Type[ProtocolInterpolator] | None = None, interpolator_kwargs: dict | None = None) SpectralDistribution | MultiSpectralDistributions[source]#

Interpolate the specified spectral distribution or multi-spectral distributions in-place according to CIE 167:2005 recommendation or specified interpolation arguments.

This is the shared implementation backing the colour.SpectralDistribution.interpolate() and colour.MultiSpectralDistributions.interpolate() methods; the values are interpolated vectorised across the wavelength axis (and channels, for multi-spectral distributions).

Parameters:
Returns:

Interpolated spectral distribution or multi-spectral distributions.

Return type:

colour.SpectralDistribution or colour.MultiSpectralDistributions

References

[CIET13805a]

Examples

>>> data = {
...     500: 0.0651,
...     520: 0.0705,
...     540: 0.0772,
...     560: 0.0870,
...     580: 0.1128,
...     600: 0.1360,
... }
>>> sd = SpectralDistribution(data)
>>> interpolate_signal(sd, SpectralShape(500, 600, 1)).shape
SpectralShape(500.0, 600.0, 1.0)