18 #ifndef itkAmoebaOptimizerv4_h
19 #define itkAmoebaOptimizerv4_h
22 #include "vnl/algo/vnl_amoeba.h"
23 #include "ITKOptimizersv4Export.h"
84 virtual void StartOptimization(
bool doOnlyInitialization =
false) ITK_OVERRIDE;
87 virtual
void SetMetric(
MetricType *metric) ITK_OVERRIDE;
97 itkSetMacro(AutomaticInitialSimplex,
bool);
98 itkBooleanMacro(AutomaticInitialSimplex);
99 itkGetConstMacro(AutomaticInitialSimplex,
bool);
108 itkSetMacro(OptimizeWithRestarts,
bool);
109 itkBooleanMacro(OptimizeWithRestarts);
110 itkGetConstMacro(OptimizeWithRestarts,
bool);
116 bool automaticInitialSimplex = false);
124 itkSetMacro(ParametersConvergenceTolerance,
double);
125 itkGetConstMacro(ParametersConvergenceTolerance,
double);
132 itkSetMacro(FunctionConvergenceTolerance,
double);
133 itkGetConstMacro(FunctionConvergenceTolerance,
double);
137 virtual const std::
string GetStopConditionDescription() const ITK_OVERRIDE;
140 vnl_amoeba * GetOptimizer() const;
144 virtual ~AmoebaOptimizerv4() ITK_OVERRIDE;
145 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
150 ITK_DISALLOW_COPY_AND_ASSIGN(AmoebaOptimizerv4);
153 void ValidateSettings();
155 ParametersType::ValueType m_ParametersConvergenceTolerance;
156 MeasureType m_FunctionConvergenceTolerance;
157 bool m_AutomaticInitialSimplex;
158 ParametersType m_InitialSimplexDelta;
159 bool m_OptimizeWithRestarts;
160 vnl_amoeba * m_VnlOptimizer;
162 std::ostringstream m_StopConditionDescription;
Superclass::ParametersType ParametersType
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
Light weight base class for most itk classes.
SmartPointer< const Self > ConstPointer
Superclass::ParametersType ParametersType
Superclass::MetricType MetricType
This is a base for the ITKv4 Optimization methods using the vnl library.
Wrap of the vnl_amoeba algorithm.
vnl_vector< double > InternalParametersType
Control indentation during Print() invocation.
SmartPointer< Self > Pointer
SingleValuedNonLinearVnlOptimizerv4 Superclass