[Insight-users] Deformable registration usingMultilevel B-Spline
Stefan Klein
s.klein at erasmusmc.nl
Wed Jul 9 07:34:50 EDT 2008
Hi Nick, Luis, and other people interested in this topic,
You may find the IJ paper here:
http://www.insight-journal.org/InsightJournalManager/publications.php?journalid=20
We just submitted it. Looking forward to your review!
Kind regards,
Marius and Stefan.
Nicholas Tustison wrote:
> Hi Marius, Stefan:
>
> Sounds good to me. I look forward to the IJ contribution.
>
> Nick
>
>
> On Jul 5, 2008, at 3:53 AM, <M.Staring at lumc.nl
> <mailto:M.Staring at lumc.nl>> <M.Staring at lumc.nl
> <mailto:M.Staring at lumc.nl>> wrote:
>
>> Hi Luis and Nick,
>>
>> in elastix we have implementated two classes helpful for the B-spline
>> deformable transform.
>>
>> - One class computes settings for the B-spline grid (GridOrigin,
>> GridRegion, GridSpacing, etc) for multiple resolutions, given a final
>> B-spline grid spacing and an upsample schedule similar to that of the
>> image pyramids. So, it can compute any upsampling schedule.
>> - The other class does the real upsampling of a B-spline grid given
>> the result of a previous resolution and the desired output (which was
>> computed with the previous class).
>>
>> We are planning to make an Insight Journal contribution for these
>> helper classes. Meanwhile, you could inspect them when you download
>> the elastix sources from
>>
>> http://elastix.isi.uu.nl/download.php
>>
>> and see if they fit your need. The classes can be found in the
>> directory src/Components/Transforms/BSplineTransform (or otherwise
>> src/Common out of my head).
>>
>> Regards,
>>
>> Stefan and Marius
>>
>>
>> -----Original Message-----
>> From: insight-users-bounces at itk.org
>> <mailto:insight-users-bounces at itk.org> on behalf of Nicholas Tustison
>> Sent: Fri 7/4/2008 9:21 PM
>> To: Luis Ibanez
>> Cc: insight-users at itk.org <mailto:insight-users at itk.org>
>> Subject: Re: [Insight-users] Deformable registration
>> usingMultilevel B-Spline
>>
>> Hi Luis,
>>
>> I have also written a B-spline control point class (which hasn't been
>> uploaded to the IJ, yet) which takes as input an control point image.
>> One of the possible outputs is a control point grid with (1/2)^n
>> resolution (but the values of the B-spline object remain the same)
>> based on the multi-level component of Lee's paper. I would certainly
>> be willing to volunteer my services in integrating it with whatever
>> you had in mind. If you're interested we can discuss the requirements
>> during an upcoming t-con.
>>
>> Nick
>>
>>
>>
>> On Jul 4, 2008, at 1:21 PM, Luis Ibanez wrote:
>>
>> >
>> > 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 <mailto:Insight-users at itk.org>
>> >> http://www.itk.org/mailman/listinfo/insight-users
>> > _______________________________________________
>> > Insight-users mailing list
>> > Insight-users at itk.org <mailto:Insight-users at itk.org>
>> > http://www.itk.org/mailman/listinfo/insight-users
>>
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users at itk.org <mailto:Insight-users at itk.org>
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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