https://github.com/emmt/linearinterpolators.jl
Linear maps for interpolation in Julia
https://github.com/emmt/linearinterpolators.jl
Last synced: 8 months ago
JSON representation
Linear maps for interpolation in Julia
- Host: GitHub
- URL: https://github.com/emmt/linearinterpolators.jl
- Owner: emmt
- License: other
- Created: 2018-05-01T20:09:54.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-05-02T16:54:24.000Z (about 2 years ago)
- Last Synced: 2025-03-23T22:34:45.181Z (about 1 year ago)
- Language: Julia
- Size: 604 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE.md
Awesome Lists containing this project
README
# LinearInterpolators
[![Doc. Dev][doc-dev-img]][doc-dev-url]
[![License][license-img]][license-url]
[![Build Status][github-ci-img]][github-ci-url]
[![Build Status][appveyor-img]][appveyor-url]
[![Coverage][codecov-img]][codecov-url]
The `LinearInterpolators` package provides many linear interpolation methods
for [Julia][julia-url]. These interpolations are *linear* in the sense
that the result depends linearly on the input.
The documentation for the master version is [here][doc-dev-url].
## Features
* 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`](https://github.com/emmt/InterpolationKernels.jl)
(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`](https://github.com/emmt/LazyAlgebra.jl) 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.
## Installation
The easiest way to install `LinearInterpolators` is via Julia's package manager:
```julia
using Pkg
pkg"add LinearInterpolators"
```
[doc-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
[doc-stable-url]: https://emmt.github.io/LinearInterpolators.jl/stable
[doc-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg
[doc-dev-url]: https://emmt.github.io/LinearInterpolators.jl/dev
[license-url]: ./LICENSE.md
[license-img]: http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat
[github-ci-img]: https://github.com/emmt/LinearInterpolators.jl/actions/workflows/CI.yml/badge.svg?branch=master
[github-ci-url]: https://github.com/emmt/LinearInterpolators.jl/actions/workflows/CI.yml?query=branch%3Amaster
[appveyor-img]: https://ci.appveyor.com/api/projects/status/github/emmt/LinearInterpolators.jl?branch=master
[appveyor-url]: https://ci.appveyor.com/project/emmt/LinearInterpolators-jl/branch/master
[codecov-img]: http://codecov.io/github/emmt/LinearInterpolators.jl/coverage.svg?branch=master
[codecov-url]: http://codecov.io/github/emmt/LinearInterpolators.jl?branch=master
[julia-url]: https://julialang.org/