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();
145 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
150 AmoebaOptimizerv4(const
Self &) ITK_DELETE_FUNCTION;
151 void operator=(const
Self &) ITK_DELETE_FUNCTION;
154 void ValidateSettings();
156 ParametersType::ValueType m_ParametersConvergenceTolerance;
157 MeasureType m_FunctionConvergenceTolerance;
158 bool m_AutomaticInitialSimplex;
159 ParametersType m_InitialSimplexDelta;
160 bool m_OptimizeWithRestarts;
161 vnl_amoeba * m_VnlOptimizer;
163 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