[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