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

Luis Ibanez luis.ibanez at kitware.com
Fri Jul 4 13:21:56 EDT 2008


Hi Torsten,


        Ahhh... in ITK you have to check often   :-)


The recently added example:


     Insight/Examples/Registration/
                DeformableRegistration15.cxx


illustrates how to do multi-level BSpline.


It pretty much follows the procedure that you just described.

That being said, in this example, the process is done "manually".

It will be interesting to package the whole in to a filter.

Time to look at Nicks paper in the Insight Journal....


    Regards,


       Luis



-----------------------
Torsten Rohlfing wrote:
> 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
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 


More information about the Insight-users mailing list