Proposals:Refactoring of optimization framework
From KitwarePublic
Revision as of 15:55, 20 July 2010 by ZivYaniv (talk | contribs) (→Modification to cost function hierarchy)
Refactor Optimization Framework Based on Available Function Derivative Information
Modification to cost function hierarchy
Currently all cost functions are subclasses of itk::SingleValuedCostFunction or itk::MultipleValuedCostFunction. These two classes are pure virtual, forcing the user to implement a GetDerivative() method. This assumes that the optimized function is differentiable. When this is not the case, developers either provide a bogus derivative which is problematic if they unintentionally use an optimizer that utilizes this information or they can throw an exception.
We propose to modify the hierarchy to the following: