cgohlke / akima

Akima interpolation

Home Page:https://pypi.org/project/akima

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Akima Interpolation

Akima is a Python library that implements Akima's interpolation method described in:

A new method of interpolation and smooth curve fitting based on local procedures. Hiroshi Akima, J. ACM, October 1970, 17(4), 589-602.

A continuously differentiable sub-spline is built from piecewise cubic polynomials. It passes through the given data points and will appear smooth and natural.

This module is no longer being actively developed. Consider using scipy.interpolate.Akima1DInterpolator instead.

Author:Christoph Gohlke
License:BSD 3-Clause
Version:2024.5.24

Quickstart

Install the akima package and all dependencies from the Python Package Index:

python -m pip install -U akima

See Examples for using the programming interface.

Source code, examples, and support are available on GitHub.

Requirements

This revision was tested with the following requirements and dependencies (other versions may work):

Revisions

2024.5.24

  • Fix docstring examples not correctly rendered on GitHub.
  • Support NumPy 2.

2024.1.6

  • Add type hints.
  • Remove support for Python 3.8 and numpy 1.22 (NEP 29).

2022.9.12

  • Remove support for Python 3.7 (NEP 29).
  • Update metadata.

Examples

>>> import numpy
>>> from matplotlib import pyplot
>>> from scipy.interpolate import Akima1DInterpolator
>>> def example():
...     '''Plot interpolated Gaussian noise.'''
...     x = numpy.sort(numpy.random.random(10) * 100)
...     y = numpy.random.normal(0.0, 0.1, size=len(x))
...     x2 = numpy.arange(x[0], x[-1], 0.05)
...     y2 = interpolate(x, y, x2)
...     y3 = Akima1DInterpolator(x, y)(x2)
...     pyplot.title('Akima interpolation of Gaussian noise')
...     pyplot.plot(x2, y2, 'r-', label='akima')
...     pyplot.plot(x2, y3, 'b:', label='scipy', linewidth=2.5)
...     pyplot.plot(x, y, 'go', label='data')
...     pyplot.legend()
...     pyplot.show()
...
>>> example()

About

Akima interpolation

https://pypi.org/project/akima

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 54.9%Language:Python 45.1%