colour.KernelInterpolator¶
-
class
colour.
KernelInterpolator
(x, y, window=3, kernel=<function kernel_lanczos>, kernel_args=None, padding_args=None, dtype=<class 'numpy.float64'>)[source]¶ Bases:
object
Kernel based interpolation of a 1-D function.
The reconstruction of a continuous signal can be described as a linear convolution operation. Interpolation can be expressed as a convolution of the given discrete function \(g(x)\) with some continuous interpolation kernel \(k(w)\):
\(\hat{g}(w_0) = [k * g](w_0) = \sum_{x=-\infty}^{\infty}k(w_0 - x)\cdot g(x)\)
- Parameters
x (array_like) – Independent \(x\) variable values corresponding with \(y\) variable.
y (array_like) – Dependent and already known \(y\) variable values to interpolate.
window (int, optional) – Width of the window in samples on each side.
kernel (callable, optional) – Kernel to use for interpolation.
kernel_args (dict, optional) – Arguments to use when calling the kernel.
padding_args (dict, optional) – Arguments to use when padding \(y\) variable values with the
np.pad()
definition.dtype (type) – Data type used for internal conversions.
-
x
¶
-
y
¶
-
window
¶
-
kernel
¶
-
kernel_args
¶
-
padding_args
¶
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 = KernelInterpolator(x, y) >>> f(0.5) 6.9411400...
Interpolating an array_like variable:
>>> f([0.25, 0.75]) array([ 6.1806208..., 8.0823848...])
Using a different lanczos kernel:
>>> f = KernelInterpolator(x, y, kernel=kernel_sinc) >>> f([0.25, 0.75]) array([ 6.5147317..., 8.3965466...])
Using a different window size:
>>> f = KernelInterpolator( ... x, ... y, ... window=16, ... kernel=kernel_lanczos, ... kernel_args={'a': 16}) >>> f([0.25, 0.75]) array([ 5.3961792..., 5.6521093...])
-
property
kernel
Getter and setter property for the kernel callable.
- Parameters
value (callable) – Value to set the kernel callable.
- Returns
Kernel callable.
- Return type
callable
-
property
kernel_args
Getter and setter property for the kernel call time arguments.
-
property
padding_args
Getter and setter property for the kernel call time arguments.
-
property
window
Getter and setter property for the window.
-
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