Proposals:Refactoring of optimization framework: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
(Created page with '= Refactor Optimization Framework Based on Available Function Derivative Information = ==Modification to cost function hierarchy== Currently all cost functions are subclasses o…') |
|||
Line 5: | Line 5: | ||
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. | 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: |
Revision as of 15:55, 20 July 2010
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: