[Insight-users] noise and normalized correlation

Luis Ibanez luis.ibanez at kitware.com
Wed Oct 26 02:49:16 EDT 2005


Hi Romain,

I would not say that it the "ITK Affine Transform" what is unstable,
but rather the "Affine Transform".

In fact, the issue is not really the Transform itself, but the fact
that the optimizer is not aware the the 12 parameters that it is
optimizing represent rotations and translations in an affine transform.

Their relative value ranges are certainly critical.

The first thing that you want to do is to use a parameter scaling
that will restrict the rotational+shearing part, and favor translations.

Once you solve for translations, then you can start exploring the 
sub-space of rotations+shearing.


Now that,...
if you really expect to have only shear, then the best approach is
to create a shear only Transform, so you have a naturally constrained
system, instead of having to trick the optimizer.



   Regards,



       Luis



-------------------
Romain Lebel wrote:
> Thanks for your answer Luis!
> After some talk with a phd student who used the itk registration 
> framework, he told me that the itk affine transform is not so stable and 
> that i need to bloc the rotation using the optimizerscaleparameter. Do 
> you confirm or do you think that the shearing a encountred comes from 
> otherwhere?
> Luis Ibanez a écrit :
> 
>>
>> Hi Romain,
>>
>> The Normalized correlation metric is not partiularly sensitive
>> to noise in the Fixed and Moving image.
>>
>> From just the description of the components that you used it
>> is difficult to tell what may be the cause of the problem.
>>
>> Most of the times you are dealing with the need for fine-tuning
>> the parameters of your application.
>>
>> In general you want to first solve the registration problem by
>> using a Rigid transform, and then use that solution for initializing
>> an Affine transform.
>>
>> In your partiuclar case, since you seem to be interested in Shearing
>> but not in scaling, then you should probably consider the use of the
>> Transform
>>
>> http://www.itk.org/Insight/Doxygen/html/classitk_1_1ScaleSkewVersor3DTransform.html 
>>
>>
>>
>> You should also connect Observers to your optimizer, as illustrated
>> in the ITK Software Guide
>>
>>
>>             http://www.itk.org/ItkSoftwareGuide.pdf
>>
>>
>> and plot the progression of the registration paramters.
>>
>> This will help you to identify the source of the problem.
>>
>>
>> You will also fond useful to generate an exploratory plot
>> of your image metric around the 'optimal' value, so you
>> can get familiar with the characteristics of the cost
>> function (the image metric). In that way, you will be
>> able to stablish whether the image noise significantly
>> affects the cost function.
>>
>>
>>
>>    Regards,
>>
>>
>>        Luis
>>
>>
>> ------------------
>> Romain Lebel wrote:
>>
>>> Hello everyone!
>>> I'm currently testing the normalized correlation metric on my 
>>> registration problem
>>> I need to register an image on another knowing that the moving image 
>>> translates, and that there is a small scale on the image. The moving 
>>> image is captured at a different height so it is defocused (implies a 
>>> bluring)
>>> I'm using the affin transform with the optimizerscaleparameter[1] and 
>>> [2] to a great value so that no rotation is possible (i used to set 
>>> them to 1 and i had a big shearing effect does anyone faced this?)
>>> I'm using the RegularStepGradientDescentOptimizer and linear 
>>> interpolator.
>>> I tried it on very simple synthesis images and it works fine. But 
>>> when i add noise on them the translation is ok but the scaling is 
>>> wrong (even when i filter the images using a median filter)
>>> Is this metric very sensitiv to noise or does it come from the 
>>> optimizer?
>>> Or maybe the cause is ohterwhere....?
>>>
>>
>>
>>
> 
> 



More information about the Insight-users mailing list