18 #ifndef itkAmoebaOptimizer_h
19 #define itkAmoebaOptimizer_h
22 #include "vnl/algo/vnl_amoeba.h"
23 #include "ITKOptimizersExport.h"
87 virtual void StartOptimization(
void) ITK_OVERRIDE;
96 itkGetConstMacro( MaximumNumberOfIterations, NumberOfIterationsType );
107 itkSetMacro(AutomaticInitialSimplex,
bool);
108 itkBooleanMacro(AutomaticInitialSimplex);
109 itkGetConstMacro(AutomaticInitialSimplex,
bool);
118 itkSetMacro(OptimizeWithRestarts,
bool);
119 itkBooleanMacro(OptimizeWithRestarts);
120 itkGetConstMacro(OptimizeWithRestarts,
bool);
126 bool automaticInitialSimplex = false);
134 itkSetMacro(ParametersConvergenceTolerance,
double);
135 itkGetConstMacro(ParametersConvergenceTolerance,
double);
142 itkSetMacro(FunctionConvergenceTolerance,
double);
143 itkGetConstMacro(FunctionConvergenceTolerance,
double);
147 virtual const std::
string GetStopConditionDescription() const ITK_OVERRIDE;
153 vnl_amoeba * GetOptimizer() const;
157 virtual ~AmoebaOptimizer();
158 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
163 AmoebaOptimizer(const
Self &) ITK_DELETE_FUNCTION;
164 void operator=(const
Self &) ITK_DELETE_FUNCTION;
167 void ValidateSettings();
169 NumberOfIterationsType m_MaximumNumberOfIterations;
170 ParametersType::ValueType m_ParametersConvergenceTolerance;
172 bool m_AutomaticInitialSimplex;
173 ParametersType m_InitialSimplexDelta;
174 bool m_OptimizeWithRestarts;
175 vnl_amoeba * m_VnlOptimizer;
177 std::ostringstream m_StopConditionDescription;
unsigned int NumberOfIterationsType
This class is a base for the CostFunctions returning a single value.
Light weight base class for most itk classes.
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
SmartPointer< const Self > ConstPointer
vnl_vector< double > InternalParametersType
CostFunctionType::MeasureType MeasureType
This class is a base for the Optimization methods that optimize a single valued function.
SingleValuedNonLinearVnlOptimizer Superclass
Wrap of the vnl_amoeba algorithm.
Control indentation during Print() invocation.