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()andcolour.MultiSpectralDistributions.interpolate()methods; the values are interpolated vectorised across the wavelength axis (and channels, for multi-spectral distributions).- Parameters:
signal (SpectralDistribution | MultiSpectralDistributions) – Spectral distribution or multi-spectral distributions to interpolate.
shape (SpectralShape) – Spectral shape used for interpolation.
interpolator (Type[ProtocolInterpolator] | None) – Interpolator class type to use as interpolating function.
interpolator_kwargs (dict | None) – Arguments to use when instantiating the interpolating function.
- Returns:
Interpolated spectral distribution or multi-spectral distributions.
- Return type:
colour.SpectralDistributionorcolour.MultiSpectralDistributions
References
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)