fast-cubic-spline-python icon indicating copy to clipboard operation
fast-cubic-spline-python copied to clipboard

Implementation of 1D and 2D fast spline interpolation algorithm (Habermann and Kindermann 2007) in Python


Introduction


:Date: Mar 28, 2013 :Version: 0.1.0 :Authors: Joon Ro, joonhyoung.ro[at]gmail.com :Web site: https://github.com/joonro/fast-cubic-spline-python :Copyright: This document has been placed in the public domain. :License: Fast-Cubic-Spline-Python is released under the GPLv3.

Purpose

Fast-Cubic-Spline-Python provides an implementation of fast spline interpolation algorithm of Habermann and Kindermann (2007)_ in Python. While higher dimensional interpolation is also possible with this code, currently only 1D and 2D examples are provided.

Calculation of spline coefficients are in NumPy, and actual interpolation routine is coded in Cython. This is advantageous since if your main routine is coded in Cython, once you have coefficients, you can call interpolation functions without any Python overhead.


Usage


Run the main module for an example:

.. code-block:: sh

$ python fast_cubic_spline.py

Installation


Dependencies

  • Python
  • Cython (http://cython.org)

Compiling Cython Module

.. code-block:: sh

$ python setup.py build_ext --inplace

References

Habermann, C., & Kindermann, F. (2007). Multidimensional Spline Interpolation: Theory and Applications. Computational Economics, 30(2), 153–169.

.. _Habermann and Kindermann (2007): http://www.springerlink.com/index/10.1007/s10614-007-9092-4