Fast Multidimensional B-spline Interpolation Using Template Metaprogramming
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.
KeywordsB-spline interpolation template metaprogramming computation time image registration
Unable to display preview. Download preview PDF.
- 3.Veldhuizen, T.: Using C++ template metaprograms. C++ Report 7, 36–43 (1995)Google Scholar