[Insight-users] Deformable registration using Multilevel B-Spline

Torsten Rohlfing torsten at synapse.sri.com
Fri Jul 4 11:46:32 EDT 2008


Hi --

Last time I checked, there was no implementation of the multi-level 
B-splines as described in the Lee paper in ITK. The 
MultiResolutionImageRegistration classes, as far as I know, only affect 
the image resolution, which then also implies multi-resolution for 
PDE-based deformation fields, but not for the B-spline.

To get a multi-resolution B-spline, you have three options:

1. Implement the refinement formula as described in Lee: write a filter 
that takes a B-spline transform and converts it to another transform 
with half the control point spacing and control point positions 
determined so that the deformation fields are identical (formula is 
given for 2D case in Lee paper; 1D formula is simple to derive and can 
be applied in n dimensions successively).

2. Get the itkSerial Transform class from the InsightJournal and 
implement a concatenation of successively finer B-spline transformations 
as described in Daniel Rueckert's 1999 TMI paper. It's a little (or a 
lot, depending on the number of transformations) slower than refinement, 
but you have more flexibility with the refinement, it's potentially more 
powerful, and you can make it diffeomorphic by enforcing constraints on 
each transformation in the chain, like described in Rueckert's 2006 
MICCAI paper.

3. Use a vector image interpolation class from ITK to refine the 
B-spline; you basically need to get the control point array as an ITK 
image (there's a method for that in the B-spline class), then refine 
that image by interpolation, then set the B-spline control points from 
the refined image.

I'd recommend against option 3. because it's a hack, but it gives you an 
idea on how to implement option 1.

Best,
  Torsten


More information about the Insight-users mailing list