[elastix] Changes in ITK's BSpline transform

Stefan Klein s.klein at erasmusmc.nl
Mon Jan 16 14:12:29 CET 2012


Hi Romulo, 3.20 is the right choice, since our B-spline transform is 
originally based on an itk3 version as well, let's call that version 3.x
Two possibilities:
1) ITK made some changes from 3.x to 3.20
2) We made some changes from 3.x to our elastix version.

Regarding 2), I know that we made some changes to address this bug: 
http://public.kitware.com/Bug/view.php?id=10029

Regarding 1) I'm not sure.

There are many changes to AdvancedBSplineTransform that add 
functionality, not used in standard registration tasks. So I guess it 
doesn't help you if I produce a list of svn commits in history?

comparing the code line by line might be the easiest way to find out 
what's going on... In the end, the TransformPoint and GetJacobian 
functions are the most important, so the amount of code to check is not 
too much.

Kind regards,
Stefan


On 16/01/2012 11:49, Rômulo Pinho wrote:
> Hi, Stefan, thx for the reaction.
>
> For these tests, we were using ITK 3.20. We haven't yet checked the 
> results with ITK 4.0. Would you suggest to do so?
>
> Kind regards,
> Rômulo
>
> On 01/15/2012 02:51 PM, Stefan Klein wrote:
>> Hi Romulo,
>> Thanks for the clear explanation.
>> Which version of ITK did you take the B-spline transform 
>> implementation from, for your own framework?
>> Kind regards,
>> Stefan
>>
>> On 22/12/2011 17:18, Rômulo Pinho wrote:
>>> Hi, Stefan, thx for the reaction.
>>>
>>> We compare metric values per iteration of the optimialsozer and 
>>> resulting images and jacobians of the deformation fields.
>>>
>>> We have a class that extends ITK's BSpline transform and a program 
>>> option to either use this class or itk::BSplineDeformableTransform. 
>>> Our extension is nothing but an optimization to interpolate the 
>>> BSpline using look up tables. As we'd expect, switching between the 
>>> two classes causes barely no difference on the results.
>>>
>>> We managed to import our transform into elastix's (4_05) framework 
>>> and checked that it gives exactly the same result with either our 
>>> framework or elastix's. But when we switch to 
>>> AdvancedBSplineTransform, we see a small, yet noticeable, difference 
>>> in the per-iteration metric values. In the end, the jacobians of the 
>>> deformation fields are similar, but we can clearly see the areas 
>>> where they differ. We'd in reality expect to have the same (lack of) 
>>> difference described in the case above.
>>>
>>> I've attached parameter files for you to see what we're using and 
>>> also the log files with the per-iteration metric values.
>>> If you need more info, just ask!
>>> Kind regards,
>>> Rômulo
>>>
>>>
>>> On 12/22/2011 04:21 PM, Stefan Klein wrote:
>>>> Hi Romulo,
>>>>
>>>> We made a few changes to solve the following bug:
>>>> http://public.kitware.com/Bug/view.php?id=10029
>>>>
>>>> How did you compare the two implementations exactly? Did you make 
>>>> sure to define the grid in the same way?
>>>>
>>>> Which version of ITK did you take the Bspline transform from? And 
>>>> which version of elastix?
>>>>
>>>> Kind regards!
>>>> Stefan
>>>>
>>>> On 15/12/2011 17:36, Rômulo Pinho wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> We've been experimenting with different combinations of metrics, 
>>>>> optimizers, and transforms, using elastix and our in-house 
>>>>> registration
>>>>> framework (also an ITK extension).
>>>>>
>>>>> We've noticed a small difference between the results we get when 
>>>>> using your implementation of the BSpline transform and the native 
>>>>> BSpline transform of ITK. As far as we could see (and also 
>>>>> according to what you said in 
>>>>> http://lists.bigr.nl/pipermail/elastix/2011-January/000321.html 
>>>>> <https://webmail.lyon.fnclcc.fr/exchweb/bin/redir.asp?URL=http://lists.bigr.nl/pipermail/elastix/2011-January/000321.html>), 
>>>>> there doesn't seem to be a big difference between the two to 
>>>>> explain the different results we get. Could you please tell us 
>>>>> what modifications you have made to ITK's transform?
>>>>>
>>>>> Thanks in advance.
>>>>> Kind regards,
>>>>> Rômulo
>>>>>
>>>>> --
>>>>>
>>>>> Rômulo PINHO
>>>>> Post-doc Research Engineer
>>>>> Centre Léon Bérard
>>>>> 28, rue Laennec 69373
>>>>> Lyon, France
>>>>> +33 (0)4 78 78 51 50
>>>>> romulo.pinho at lyon.unicancer.fr
>>>>> http://www.creatis.insa-lyon.fr/rio/RomuloPinho 
>>>>> <https://webmail.lyon.fnclcc.fr/exchweb/bin/redir.asp?URL=http://www.creatis.insa-lyon.fr/rio/RomuloPinho>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> elastix mailing list
>>>>> elastix at bigr.nl
>>>>> http://lists.bigr.nl/mailman/listinfo/elastix
>>>>
>>>> -- 
>>>> Stefan Klein
>>>> +31 10 7043049
>>>> http://www.bigr.nl/people/StefanKlein
>>
>> -- 
>> Stefan Klein
>> +31 10 7043049
>> http://www.bigr.nl/people/StefanKlein

-- 
Stefan Klein
+31 10 7043049
http://www.bigr.nl/people/StefanKlein

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bigr.nl/pipermail/elastix/attachments/20120116/1d6da533/attachment.html>


More information about the Elastix mailing list