colour.SpragueInterpolator

class colour.SpragueInterpolator(x, y, dtype=None)[source]

Bases: object

Constructs a fifth-order polynomial that passes through \(y\) dependent variable.

Sprague (1880) method is recommended by the CIE for interpolating functions having a uniformly spaced independent variable.

Parameters
  • x (array_like) – Independent \(x\) variable values corresponding with \(y\) variable.

  • y (array_like) – Dependent and already known \(y\) variable values to interpolate.

  • dtype (type) – Data type used for internal conversions.

Attributes

Methods

Notes

  • The minimum number \(k\) of data points required along the interpolation axis is \(k=6\).

References

[], []

Examples

Interpolating a single numeric variable:

>>> y = np.array([5.9200, 9.3700, 10.8135, 4.5100,
...               69.5900, 27.8007, 86.0500])
>>> x = np.arange(len(y))
>>> f = SpragueInterpolator(x, y)
>>> f(0.5)  
7.2185025...

Interpolating an array_like variable:

>>> f([0.25, 0.75])  
array([ 6.7295161...,  7.8140625...])
SPRAGUE_C_COEFFICIENTS = array([[  884, -1960,  3033, -2648,  1080,  -180],        [  508,  -540,   488,  -367,   144,   -24],        [  -24,   144,  -367,   488,  -540,   508],        [ -180,  1080, -2648,  3033, -1960,   884]])

Defines the coefficients used to generate extra points for boundaries interpolation.

SPRAGUE_C_COEFFICIENTS : array_like, (4, 6)

References

[]

__init__(x, y, dtype=None)[source]
property x

Getter and setter property for the independent \(x\) variable.

Parameters

value (array_like) – Value to set the independent \(x\) variable with.

Returns

Independent \(x\) variable.

Return type

array_like

property y

Getter and setter property for the dependent and already known \(y\) variable.

Parameters

value (array_like) – Value to set the dependent and already known \(y\) variable with.

Returns

Dependent and already known \(y\) variable.

Return type

array_like

__call__(x)[source]

Evaluates the interpolating polynomial at given point(s).

Parameters

x (numeric or array_like) – Point(s) to evaluate the interpolant at.

Returns

Interpolated value(s).

Return type

numeric or ndarray

__weakref__

list of weak references to the object (if defined)