[Insight-users] Initializing a BSplineTransform in ITK 4.4

Nick Tustison ntustison at gmail.com
Tue Jul 30 10:09:18 EDT 2013


Hi Frank,

I don't think that anybody on the registration team has tried to use the composite
transform with the old registration framework.  I'm not even sure that it would work 
as both the optimization and metrics are completely separate between ITKv3 and
ITKv4.  In suggesting the use of the CompositeTransform class, I didn't catch that
you were sticking with ITKv3.  Sorry about that.  

There was some earlier work by Torsten and Marius & Stefan who gave us some
ideas for the current composite transform.  Perhaps one of those contributions would
fit your needs.

http://www.insight-journal.org/browse/publication/143
http://www.insight-journal.org/browse/publication/91

Also, I would be remiss if I didn't at least proselyte concerning the utility of the new 
registration framework.  There's quite a few advantages in addition to the composite
transform:

http://www.itk.org/Wiki/ITK/Release_4/Why_Switch_to_ITKv4#New_Registration_Framework

Nick


On Jul 30, 2013, at 7:35 AM, Frank Preiswerk <frank.preiswerk at unibas.ch> wrote:

> Hi Nick,
> 
> I have a few additional questions and I would be very glad if you could help me getting on the right track.
> 
> Your suggestion to use the CompositeTransform guided me to the new registration framework. I have played around a bit and now I'm unsure which version to use.
> 
> First of all, in ImageRegistrationMethodv4 there is a method SetMovingInitialTransform that probably does exactly what I need. As far as I understand it, one can achieve the same with the old framework by using CompositeTransform like this:
> 
> compositeTransform->AddTransform(affineTransform); // the output from the prior affine step
> compositeTransform->AddTransform(bsplineTransform);
> compositeTransform->SetOnlyMostRecentTransformToOptimizeOn(); // activate the bspline transform for the next optimization
> registration->SetTransform( compositeTransform );
> 
> Is this the way how to properly use CompositeTransform in the old registration framework? And is my assumption correct that SetMovingInitialTransform would be sufficient when using the new framework?
> 
> Thanks a lot for your efforts,
> Frank
> 
> 
> 
> On 07/29/2013 12:16 PM, Nick Tustison wrote:
>> You should try using the composite transform
>> 
>> http://www.itk.org/Doxygen/html/classitk_1_1CompositeTransform.html
>> 
>> Nick
>> 
>> On Jul 29, 2013, at 4:49 AM, Frank Preiswerk <frank.preiswerk at unibas.ch> wrote:
>> 
>>> Hi all,
>>> 
>>> I'm writing a program that performs image registration by first computing an
>>> affine transformation followed by a bspline deformation. The bspline
>>> registration should be initialized with the output of the affine
>>> registration.
>>> 
>>> I'm using ITK 4.4. The example DeformableRegistration15.cxx intends to do
>>> the above but it seems that the BSplineTransform is actually not initialized
>>> with the output of the affine step, as already reported earlier:
>>> http://www.itk.org/pipermail/insight-users/2012-May/044623.html
>>> 
>>> ITK 3's BSplineDeformableTransform had a method SetBulkTransform to concat
>>> the bspline transform with another transform, but in ITK 4's
>>> BSplineTransform this method was removed. So the question remains how to
>>> properly initialize a BSplineTransform with an affine (or any other)
>>> registration output.
>>> 
>>> Computing the parameters of the bspline transform by applying the affine
>>> transform to the grid nodes is an option. But something like
>>> SetBulkTransform would be much more convenient.
>>> 
>>> I'm thankful for any hints.
>>> 
>>> Regards,
>>> Frank
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> --
>>> View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Initializing-a-BSplineTransform-in-ITK-4-4-tp7583607.html
>>> Sent from the ITK Insight Users mailing list archive at Nabble.com.
>>> _____________________________________
>>> Powered by www.kitware.com
>>> 
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>> 
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://www.kitware.com/products/protraining.php
>>> 
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>> 
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-users
> 
> 
> -- 
> Frank Preiswerk, Senior Researcher
> Medical Image Analysis Center (MIAC)
> University of Basel c/o University Hospital Basel
> Spitalstrasse 21
> CH-4031 Basel
> Switzerland
> 
> Tel: +41 61 265 96 58
> Fax: +41 61 265 96 68
> Office:Schanzenstrasse 46, Room 321
> 



More information about the Insight-users mailing list