18 #ifndef itkOnePlusOneEvolutionaryOptimizer_h
19 #define itkOnePlusOneEvolutionaryOptimizer_h
23 #include "ITKOptimizersExport.h"
94 itkSetMacro(Maximize,
bool);
95 itkBooleanMacro(Maximize);
96 itkGetConstReferenceMacro(Maximize,
bool);
107 this->SetMaximize(!v);
121 itkSetMacro(MaximumIteration,
unsigned int);
122 itkGetConstReferenceMacro(MaximumIteration,
unsigned int);
126 itkSetMacro(GrowthFactor,
double);
127 itkGetConstReferenceMacro(GrowthFactor,
double);
131 itkSetMacro(ShrinkFactor,
double);
132 itkGetConstReferenceMacro(ShrinkFactor,
double);
136 itkSetMacro(InitialRadius,
double);
137 itkGetConstReferenceMacro(InitialRadius,
double);
142 itkSetMacro(Epsilon,
double);
143 itkGetConstReferenceMacro(Epsilon,
double);
147 itkGetConstReferenceMacro(FrobeniusNorm,
double);
150 SetNormalVariateGenerator(NormalVariateGeneratorType * generator);
159 Initialize(
double initialRadius,
double grow = -1,
double shrink = -1);
162 itkGetConstReferenceMacro(CurrentCost, MeasureType);
166 return this->GetCurrentCost();
171 itkGetConstReferenceMacro(CurrentIteration,
unsigned int);
174 itkGetConstReferenceMacro(Initialized,
bool);
180 StartOptimization()
override;
191 itkGetConstReferenceMacro(CatchGetValueException,
bool);
192 itkSetMacro(CatchGetValueException,
bool);
194 itkGetConstReferenceMacro(MetricWorstPossibleValue,
double);
195 itkSetMacro(MetricWorstPossibleValue,
double);
198 GetStopConditionDescription()
const override;
205 PrintSelf(std::ostream & os,
Indent indent)
const override;
212 unsigned int m_MaximumIteration{};
215 unsigned int m_CurrentIteration{};
217 bool m_CatchGetValueException{};
218 double m_MetricWorstPossibleValue{};
228 double m_InitialRadius{};
231 double m_GrowthFactor{};
234 double m_ShrinkFactor{};
237 bool m_Initialized{};
240 MeasureType m_CurrentCost{};
249 std::ostringstream m_StopConditionDescription{};
253 double m_FrobeniusNorm{};