18 #ifndef itkOnePlusOneEvolutionaryOptimizer_h
19 #define itkOnePlusOneEvolutionaryOptimizer_h
23 #include "ITKOptimizersExport.h"
95 itkSetMacro(Maximize,
bool);
96 itkBooleanMacro(Maximize);
97 itkGetConstReferenceMacro(Maximize,
bool);
101 {
return !m_Maximize; }
103 { this->SetMaximize(!v); }
105 { SetMaximize(
false); }
107 { SetMaximize(
true); }
110 itkSetMacro(MaximumIteration,
unsigned int);
111 itkGetConstReferenceMacro(MaximumIteration,
unsigned int);
115 itkSetMacro(GrowthFactor,
double);
116 itkGetConstReferenceMacro(GrowthFactor,
double);
120 itkSetMacro(ShrinkFactor,
double);
121 itkGetConstReferenceMacro(ShrinkFactor,
double);
125 itkSetMacro(InitialRadius,
double);
126 itkGetConstReferenceMacro(InitialRadius,
double);
131 itkSetMacro(Epsilon,
double);
132 itkGetConstReferenceMacro(Epsilon,
double);
136 itkGetConstReferenceMacro(FrobeniusNorm,
double);
138 void SetNormalVariateGenerator(NormalVariateGeneratorType *generator);
146 void Initialize(
double initialRadius,
double grow = -1,
double shrink = -1);
149 itkGetConstReferenceMacro(CurrentCost, MeasureType);
150 MeasureType
GetValue()
const {
return this->GetCurrentCost(); }
154 itkGetConstReferenceMacro(CurrentIteration,
unsigned int);
157 itkGetConstReferenceMacro(Initialized,
bool);
162 void StartOptimization()
override;
170 itkGetConstReferenceMacro(CatchGetValueException,
bool);
171 itkSetMacro(CatchGetValueException,
bool);
173 itkGetConstReferenceMacro(MetricWorstPossibleValue,
double);
174 itkSetMacro(MetricWorstPossibleValue,
double);
176 const std::string GetStopConditionDescription()
const override;
182 void PrintSelf(std::ostream & os,
Indent indent)
const override;
This class is a base for the CostFunctions returning a single value.
Light weight base class for most itk classes.
This class is a base for the Optimization methods that optimize a single valued function.
double m_MetricWorstPossibleValue
unsigned int m_MaximumIteration
bool m_CatchGetValueException
MeasureType m_CurrentCost
MeasureType GetValue() const
Defines common interfaces for random variate generators.
std::ostringstream m_StopConditionDescription
1+1 evolutionary strategy optimizer
NormalVariateGeneratorType::Pointer m_RandomGenerator
Control indentation during Print() invocation.
unsigned int m_CurrentIteration