3 #include <itkMultipleValuedNonLinearOptimizer.h> 5 #include "AnimaOptimizersExport.h" 22 public itk::MultipleValuedNonLinearOptimizer
27 typedef itk::MultipleValuedNonLinearOptimizer
Superclass;
41 void StartOptimization() ITK_OVERRIDE;
43 itkSetMacro(NumberOfIterations,
unsigned int)
44 itkSetMacro(ValueTolerance,
double)
45 itkSetMacro(CostTolerance,
double)
47 itkGetMacro(CurrentValue,
double)
49 itkSetMacro(LowerBounds, ParametersType)
50 itkSetMacro(UpperBounds, ParametersType)
53 BoundedLevenbergMarquardtOptimizer()
55 m_NumberOfIterations = 2000;
56 m_ValueTolerance = 1e-8;
57 m_CostTolerance = 1e-5;
58 m_LambdaParameter = 1.0e-8;
59 m_DeltaParameter = 0.0;
67 double EvaluateCostFunctionAtParameters(ParametersType ¶meters,
MeasureType &residualValues);
69 bool CheckSolutionIsInBounds(ParametersType &solutionVector, ParametersType &lowerBounds,
70 ParametersType &upperBounds,
unsigned int rank);
72 void UpdateLambdaParameter(DerivativeType &derivative, ParametersType &dValues,
73 std::vector <unsigned int> &pivotVector,
74 ParametersType &qtResiduals,
unsigned int rank);
76 bool CheckConditions(
unsigned int numIterations, ParametersType &newParams,
77 ParametersType &oldParams, ParametersType &dValues,
double newCostValue);
82 unsigned int m_NumberOfIterations;
83 double m_ValueTolerance;
84 double m_CostTolerance;
86 double m_LambdaParameter;
87 double m_DeltaParameter;
88 double m_CurrentValue;
91 ParametersType m_LowerBounds, m_UpperBounds;
92 ParametersType m_CurrentAddonVector;
itk::SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
Levenberg-Marquardt optimizer with lower and upper bounds on parameters Implementation of the origina...
Superclass::MeasureType MeasureType
itk::MultipleValuedNonLinearOptimizer Superclass
Superclass::CostFunctionType CostFunctionType
BoundedLevenbergMarquardtOptimizer Self
itk::SmartPointer< Self > Pointer
virtual ~BoundedLevenbergMarquardtOptimizer() ITK_OVERRIDE