Helper class for initializing the grid parameters of a BSpline deformable transform by using an image as reference

Please use this identifier to cite or link to this publication:
This document describes a simple helper class intended for making easy to initialize the grid parameters of a BSplineDeformableTranform. This paper is accompanied with the source code, input data, parameters and output data that we used for validating the algorithm described in this paper. This adheres to the fundamental principle that scientific publications must facilitate reproducibility of the reported results.
There is no code review at this time.

minus Much needed class for making BSplines more usable by Hans Johnson on 2009-05-14 14:02:20 for revision #2
starstarstarstarstar expertise: 5 sensitivity: 5

In most use cases of the BSpline for registration, the programmer just wants a reasonable  initialization the BSpline locations.  Determining what is "reasonable" is quite difficult because of so many parameters that needed to be set.  This function greatly simplifies the generation of the most common initialization parameters for BSplines, and if it is used, allows one place for making bug fixes that have evolved over the many years that have affected BSplines initialziation (i.e the addition of Direction to images, the fixing of the round function, the center of pixel corrections so that boundaries are properly comptuted).


The authors assume that a simpile initializer that only requires a fixedImage reference space, and the number of grid locations in each direction are all that is needed to initialize BSplines for registration in the most common use.


A review of several BSpline based registration algorithms (both inside the ITK source code, and in our own labs code) revealed that the these cases were attempting to do a simple initialization of the BSplines in the most common and straight forward way.  Unfortunately many of the actual implementations were slightly different due to many factors: 1) the example code copied to create the application, and 2) when the application was originally written.

Open Science:

The source code is provided.  There is enough detail to replicate their work.


This is now being place into the Review section of ITK, and is being incorporated into external to ITK for several other local lab packages.


Use of Open Source Software:


Open source Contributions:

It is in a usable form.

Code Quality :

Excellent code quality. 

Quality of the data :

There is not much data needed for this.


Very wide interest.  Hopefully it will become the defacto way to initialize  BSpline registration algorithms when the "straight forward" implementation is the intended gird placement.

Add a new review
Quick Comments

Download All
Download Source code

Statistics more
Global rating: starstarstarstarstar
Review rating: starstarstarstarstar [review]
Code rating:
Paper Quality: plus minus

Information more
Categories: Deformable registration, Resampling
Keywords: BSpline, Deformable Registration, Transforms, Initialization, Resampling
Toolkits: ITK (moved into the sandbox)
Export citation:


Linked Publications more
Diffeomorphic Demons Using ITK's Finite Difference Solver Hierarchy Diffeomorphic Demons Using ITK's Finite Difference Solver Hierarchy
by Vercauteren T., Pennec X., Perchant A., Ayache N.
Reader/Writer for Analyze Object Maps for ITK Reader/Writer for Analyze Object Maps for ITK
by Hawley J., Johnson H.

View license
Loading license...

Send a message to the author
Powered by Midas