ITK
5.4.0
Insight Toolkit

#include <itkBSplineCenteredL2ResampleImageFilterBase.h>
Uses the "Centered L2" BSpline pyramid implementation of BSpline Filters to up/down sample an image by a factor of 2.
This class defines NDimension Centered L2 BSpline transformation. It is based on: [1] M. Unser, "Splines: A Perfect Fit for Signal and Image Processing," IEEE Signal Processing Magazine, vol. 16, no. 6, pp. 2238, November 1999. [2] M. Unser, A. Aldroubi and M. Eden, "BSpline Signal Processing: Part ITheory," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 821832, February 1993. [3] M. Unser, A. Aldroubi and M. Eden, "BSpline Signal Processing: Part IIEfficient Design and Applications," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 834848, February 1993. [4] P. Brigger, F. Miller, K. Illgner, M. Unser, "Centered Pyramids," IEEE Transactions on Image Processing, vol. 8, no. 9, pp. 12541264, September 1999. And code obtained from bigwww.epfl.ch by Philippe Thevenaz
Limitations: Spline order for the centered L2 pyramid must be between 0 and 4. This code cannot be multithreaded since the entire image must be traversed in the proper order. This code cannot be streamed and requires the all of the input image. Only up/down samples by a factor of 2. This is a base class and is not meant to be instantiated on its own. It requires one of the itkBSplineDownsampleImageFilter or itkBSplineUpsampleImageFilter classes. Spline order must be set before setting the image. Uses mirror boundary conditions. Requires the same order of Spline for each dimension.