18#ifndef itkAmoebaOptimizer_h
19#define itkAmoebaOptimizer_h
22#include "vnl/algo/vnl_amoeba.h"
23#include "ITKOptimizersExport.h"
115 itkSetMacro(AutomaticInitialSimplex,
bool);
116 itkBooleanMacro(AutomaticInitialSimplex);
117 itkGetConstMacro(AutomaticInitialSimplex,
bool);
126 itkSetMacro(OptimizeWithRestarts,
bool);
127 itkBooleanMacro(OptimizeWithRestarts);
128 itkGetConstMacro(OptimizeWithRestarts,
bool);
142 itkSetMacro(ParametersConvergenceTolerance,
double);
143 itkGetConstMacro(ParametersConvergenceTolerance,
double);
150 itkSetMacro(FunctionConvergenceTolerance,
double);
151 itkGetConstMacro(FunctionConvergenceTolerance,
double);
180 ParametersType::ValueType m_ParametersConvergenceTolerance{};
182 bool m_AutomaticInitialSimplex{};
184 bool m_OptimizeWithRestarts{};
187 std::ostringstream m_StopConditionDescription{};
Wrap of the vnl_amoeba algorithm.
MeasureType GetValue() const
std::string GetStopConditionDescription() const override
std::unique_ptr< vnl_amoeba > m_VnlOptimizer
void SetInitialSimplexDelta(ParametersType initialSimplexDelta, bool automaticInitialSimplex=false)
void SetCostFunction(SingleValuedCostFunction *costFunction) override
void PrintSelf(std::ostream &os, Indent indent) const override
unsigned int NumberOfIterationsType
void StartOptimization() override
vnl_amoeba * GetOptimizer() const
vnl_vector< double > InternalParametersType
Superclass::ParametersType ParametersType
~AmoebaOptimizer() override
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
Control indentation during Print() invocation.
Light weight base class for most itk classes.
This class is a base for the CostFunctions returning a single value.
CostFunctionType::MeasureType MeasureType
This class is a base for the Optimization methods that optimize a single valued function.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....