[Insight-users] Geospatial registration

Luis Ibanez luis.ibanez at kitware.com
Thu Oct 28 11:13:28 EDT 2004


Hi Garrett

The optimizers that you may want to try with Mutual
Information are:

1) GradientDescent
http://www.itk.org/Insight/Doxygen/html/classitk_1_1GradientDescentOptimizer.html

2) RegularStepGradientDescent
http://www.itk.org/Insight/Doxygen/html/classitk_1_1RegularStepGradientDescentOptimizer.html

3) OnePlusOneEvolutionary
http://www.itk.org/Insight/Doxygen/html/classitk_1_1OnePlusOneEvolutionaryOptimizer.html



They are ordered by their speed for convergence.
That is, (1) will converge faster than (2).

                 *BUT*

they are also ordered inversely by their sensitivity to
noise. Therefore (1) is more sensitive to noise than (2).



The criteria for choosing among those three is the Smoothness of
the metric. In order to evaluate that smoothness you probably want
to go through the excercise of plotting metric values for an array
of samples of your transform parameters.  If you plot those metric
values, they will show you the landscape in which the optimizer is
having to navigate.  You will find multiple examples on plotting
metric values in the ITK Software Guide.


             http://www.itk.org/ItkSoftwareGuide.pdf


in the Registration Chapter.



    Regards,



       Luis




---------------------
Garrett Potts wrote:

> Hello Luis:
> 
> 
> Yes, I have been playing with some of those.  In your opinion which  
> would be the best optimizer to use when using the mutual information  
> metric?
> 
> 
> Take care
> 
> Garrett
> 
>> Hi Garrett,
>>
>> You probably already know this,
>> but just in case...
>>
>> ITK optimizers offer a mechanism for adjusting the scale
>> of cost-function parameters. You pass an array of doubles
>> to the optimizer and each one of them correspond to a
>> scaling factor to be used for normalizing the parameters.
>>
>> You will find examples on the use of the scaling array,
>> in the ITK Software Guide.
>>
>>      http://www.itk.org/ItkSoftwareGuide.pdf
>>
>> in the Registration chapter.
>>
>>
>>
>>    Regards,
>>
>>
>>       Luis
>>
>>
>>
>> ---------------------------------
>> Garrett Potts wrote:
>>
>>> Hello Luis:
>>> Thank you for the information.  I'll try the metric for mutual  
>>> information.  I was currently using  
>>> MutualInformationImageToImageMetric and out of the metrics I have  
>>> tried it was giving better results and the only problem that I was  
>>> having now was the derivative estimates.  For our adjustable  
>>> parameter interface I think I'll add a scales factor in order to  
>>> compute derivatives so the change is not so large with respect to  
>>> each parameter.  For a temporary fix I was dividing the partials by  
>>> the largest change in pixels and this sort of got the change down to  
>>> a reasonable rate.
>>> I'll keep playing.  Thank you again for all the suggestions
>>> Take care
>>> Garrett
>>>
>>>> Hi Garrett,
>>>>
>>>> Thanks for the detailed description of your project.
>>>>
>>>>
>>>>>> Any suggestions on good metrics and size of the image to analyze  
>>>>>> let me know.
>>>>
>>>>
>>>>
>>>>
>>>> If you are registering multimodality images, your best
>>>> options for metrics are the variants of Mutual Information.
>>>> There are about 4 different implementations of Mutual Information
>>>> in ITK, you probably want to start with MattesMutualInformation,
>>>> that is one of the smoothest.
>>>>
>>>> For a full list of the ImageMetrics available in ITK please look at
>>>> http://www.itk.org/Insight/Doxygen/html/ 
>>>> group__RegistrationMetrics.html
>>>>
>>>> Note that you can always write your own customized Image Metric and
>>>> replace it in the registration framework as you just did with the
>>>> transform.
>>>>
>>>>
>>>> About the computation of derivatives, the size of the perturbations
>>>> to be used for computing derivatives by finite differences is  
>>>> something
>>>> that must be customized based on the dynamic range of every  individual
>>>> parameter, as well as the sensitivity of the transforms to those  
>>>> particular values.  For example, in a similarity transform, the  scale
>>>> and rotation parameters are very sensitive to small variations.
>>>>
>>>> This is one of those issues that can only be solved by experimenting
>>>> with the values.
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> 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