B-spline tools

Basic toolbox for polynomial B-splines on a uniform grid. OO overloading of common operators.
Updated 8 May 2011

View License

B-splines is a natural signal representation for continous signals, where
many continous-domain operations can be carried out exactly once the
B-spline approximation has been done.

The B-spline estimation procedure in this toolbox using allpole filters
is based on the classic papers by M. Unser and others [1,2,3], it allows
very fast estimation of B-spline coefficients when the sampling grid is
uniform. Evaluation/interpolation is also a linear filter operation.

The toolbox has two layers; a set of functions for the fundamental
operations on polynomial B-splines, and an object-oriented wrapper which
keeps track of the properties of a spline signal and overload common

The representation is dimensionality-independent, and much of the code is

Units tests are included, these require the MATLAB xunit toolbox.

[1] M. Unser, A. Aldroubi, M. Eden, "B-Spline Signal Processing: Part
I-Theory", IEEE Transactions on Signal Processing, vol. 41, no. 2, pp.
821-833, February 1993

[2] M. Unser, A. Aldroubi, M. Eden, "B-Spline Signal Processing: Part
II-Efficient Design and Applications", IEEE Transactions on Signal
Processing, vol. 41, no. 2, pp. 834-848, February 1993

[3] M.Unser, "Splines: A Perfect Fit for Signal and Image Processing",
IEEE Signal Processing Magazine, vol. 16, no. 6, pp. 22-38, 1999

Cite As

Jan Tore Korneliussen (2024). B-spline tools (https://www.mathworks.com/matlabcentral/fileexchange/27047-b-spline-tools), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!


Version Published Release Notes

New filter functions with higher precision and more flexible boundary conditions.

Support for LS-optimal upsampling and downsampling with a factor of 2 (reduce and expand methods on the Bspline class). This is the basis for making an LS image pyramid (rudimentary example included)

Improvements to documentation.