File Exchange

image thumbnail

B-spline tools

version (589 KB) by Jan Tore Korneliussen
Basic toolbox for polynomial B-splines on a uniform grid. OO overloading of common operators.


Updated 08 May 2011

View Version History

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 (2021). B-spline tools (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

jay li

Srinivas Murthy

First of all, thanks a lot for the code..In bsplineNdtrans.m, roots of pole are being calculated and poles only between _1 to +1 are being considered. The roots of pole for any particular spline will be same and i feel this as a redundant calculation.
Also i am interested in calculating the partial derivatives(2-D data) i.e wrt x,y,xx,yy,xy,etc. It would be of great help if you can illustrate these calculations with the help of an example
Any help would be greatly appreciated..

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!