[Insight-developers] a small bug in itkConjugateGradientOptimizer

Luis Ibanez luis.ibanez at kitware.com
Wed May 18 21:23:55 EDT 2005


Hi Ashish,

The Conjugate Gradient method is only convenient when the cost
function has smooth second derivatives.  If your cost function
is noisy, is is unlikely that this optimizer will behave nicely.

Note that is is common to find that Image Metrics are rather
noisy functions.



    Regards,


       Luis



--------------------

Ashish Poddar wrote:

> Hi,
> 
> I also am right now struggling with the initialization options for the
> Conjugate Gradient for which I could not find any examples. While
> searching I came across an example for Levenberg Marquardt Optimizer
> which seems to be having similar interface as that of conjugate
> gradient optimizer. However the similar initialization did not worked
> for Conjugate gradient. If someone can point out any reference for
> Conjugate Gradient, it would be great.
> 
> Earlier I was using regular step gradient descent optimizer with these
> parameters:
> Transform - Centered Affine
> Scale for first 9 parameters - 1.0
> Scale for next 6 parameters - 0.0001
> Number of Iterations - 400
> Minimum Step Length - 0.0001
> Maximum Step Length - 0.005
> 
> Any help will be highly appreciated,
> with regards,
> Ashish.
> 
> 
> 
> On 5/17/05, Ashish Poddar <ahpoddar at gmail.com> wrote:
> 
>>Hi Luis,
>>
>>Thank you for the quick action. probably similar change is required
>>for Levenberg Marquardt Optimizer too.
>>
>>with regards,
>>Ashish.
>>
>>On 5/16/05, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>
>>>Hi Ashish,
>>>
>>>Thanks for pointing this out.
>>>
>>>You are right, the GetValue() method should be const.
>>>
>>>A fix has now been committed to the CVS repository.
>>>
>>>Please let us know if you encounter any other problem.
>>>
>>>    Thanks
>>>
>>>       Luis
>>>
>>>----------------------
>>>Ashish Poddar wrote:
>>>
>>>>hi,
>>>>
>>>>I am not sure whether it qualifies as a bug or not, but surely affects
>>>>the re-usability and pluggability model of ITK Library.
>>>>
>>>>the GetValue() function in ConjugateGradientOptimizer class currently is
>>>>
>>>>MeasureType GetValue();
>>>>
>>>>but in case of RegularStepGradientDescentOptimizer class its defined by macro as
>>>>
>>>>MeasureType GetValue() const;
>>>>
>>>>which is an interface mis-match... This I encountered when i replaced
>>>>regular step gradient descent optimizer by conjugate gradient
>>>>optimizer. In the observer I was using a const reference of the
>>>>optimizer and displaying the value (just the example which is
>>>>available for the same nothing new =D)...
>>>>
>>>>with regards,
>>>>Ashish.
>>>>
>>>
>>>
>>--
>>Ashish Poddar
>>Have an acceptable reason for accepting anything.
>>Y:ashish_poddar | MSN:ashish_poddar at yahoo.com
>>
> 
> 
> 





More information about the Insight-developers mailing list