The LinearInterpolators
package provides many linear interpolation methods
for Julia. These interpolations are linear in the sense
that the result depends linearly on the input.
The documentation for the master version is here.
-
Separable interpolations are supported for arrays of any dimensionality. Interpolation kernels can be different along each interpolated dimension.
-
For 2D arrays, interpolations may be separable or not (e.g. to apply an image rotation).
-
Undimensional interpolations may be used to produce multi-dimensional results.
-
Many interpolation kernels are provided by the package
InterpolationKernels
(B-splines of degree 0 to 3, cardinal cubic splines, Catmull-Rom spline, Mitchell & Netravali spline, Lanczos resampling kernels of arbitrary size, etc.). -
Interpolators are linear maps such as the ones defined by the
LazyAlgebra
framework.-
Applying the adjoint of interpolators is fully supported. This can be exploited for iterative fitting of data given an interpolated model.
-
Interpolators may have coefficients computed on the fly or tabulated (that is computed once). The former requires almost no memory but can be slower than the latter if the same interpolation is applied more than once.
-
The easiest way to install LinearInterpolators
is via Julia's package manager:
using Pkg
pkg"add LinearInterpolators"