Fast Multidimensional B-spline Interpolation Using Template Metaprogramming

  • Wyke Huizinga
  • Stefan Klein
  • Dirk H. J. Poot
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8545)


B-spline interpolation is a widely used interpolation technique. In the field of image registration, interpolation is necessary for transforming images to obtain a measure of (dis)similarity between the images to be aligned. When gradient-based optimization methods are used, the image gradients need to be calculated as well, which also accounts for a substantial share of computation time in registration. In this paper we propose a fast multidimensional B-spline interpolation algorithm with which both image value and gradient can be computed efficiently. We present a recursive algorithm for the interpolation which is efficiently implemented with template metaprogramming (TMP). The proposed algorithm is compared with the algorithm implemented in the Insight Toolkit (ITK), for different interpolation orders and image dimensions. Also, the effect on the computation time of a typical registration problem is evaluated. The results show that the computation time of B-spline interpolation is decreased by the proposed algorithm from a factor 4.1 for a 2D image using 1st order interpolation to a factor of 19.9 for 4D using 3rd order interpolation.


B-spline interpolation template metaprogramming computation time image registration 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Thévenaz, P., Unser, M.: Optimization of mutual information for multiresolution image registration. IEEE Transactions on Image Processing 9(12), 2083–2099 (2000)CrossRefzbMATHGoogle Scholar
  2. 2.
    Thévenaz, P., Blu, T., Unser, M.: Interpolation revisited. IEEE Transactions on Medical Imaging 19, 739–758 (2000)CrossRefGoogle Scholar
  3. 3.
    Veldhuizen, T.: Using C++ template metaprograms. C++ Report 7, 36–43 (1995)Google Scholar
  4. 4.
    Sarrut, D., Vandemeulebroucke, J.: B-LUT: Fast and low memory b-spline image interpolation. Computer Methods and Programs in Biomedicine 99, 172–178 (2010)CrossRefGoogle Scholar
  5. 5.
    Unser, M.: Splines: A perfect fit for signal and image processing. IEEE Signal Processing Magazine 16, 22–38 (1999)CrossRefGoogle Scholar
  6. 6.
    Klein, S., Staring, M., Murphy, K., Viergever, M.A., Pluim, J.: elastix: a toolbox for intensity based medical image registration. IEEE Transactions on Medical Imaging 29(1), 196–205 (2010)CrossRefGoogle Scholar
  7. 7.
    Klein, S., et al.: Adaptive stochastic gradient descent optimization for image registration. Int. J. Comput. Vis. 81, 227–239 (2009)CrossRefGoogle Scholar
  8. 8.
    Rueckert, D., et al.: Nonrigid registration using free-form deformations: Application to breast MR images. IEEE Transactions on Medical Imaging 18, 712–721 (1999)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Wyke Huizinga
    • 1
  • Stefan Klein
    • 1
  • Dirk H. J. Poot
    • 1
    • 2
  1. 1.Biomedical Imaging Group Rotterdam, Depts. of Radiology & Medical InformaticsErasmus MCRotterdamThe Netherlands
  2. 2.Quantitative Imaging Group, Dept. of Imaging Physics, Faculty of Applied SciencesDelft University of TechnologyDelftThe Netherlands

Personalised recommendations