[Insight-developers] optimizer member functions incompatible

Simon Warfield warfield at bwh.harvard.edu
Mon Jun 20 23:18:12 EDT 2005


In the current CVS version of ITK, the itkPowellOptimizer has a 
GetCurrentCost() member function, but other optimizers e.g. 
itk::QuaternionRigidTransformGradientDescentOptimizer, implement a 
GetValue() member function.
There are several other member functions that are not consistent 
throughout the optimizer class hierarchy, which makes it difficult in 
practice to actually substitute one for another.

The powell optimizer has:
GetCurrentIteration() , SetMaximumIteration
Others have GetNumberOfIterations(), SetNumberOfIterations.


The function SetLearningRate() corresponds to an action that has no real 
equivalent and doesn't exist in the powell optimizer, and yet since it 
must be called for gradient descent optimizers, the interface between 
these different types of optimizers is incompatible. This makes the 
optimizers not interchangeable.

-- 
Simon 



More information about the Insight-developers mailing list