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);
159 Initialize(
double initialRadius,
double grow = -1,
double shrink = -1);
166 return this->GetCurrentCost();
171 itkGetConstReferenceMacro(CurrentIteration,
unsigned int);
174 itkGetConstReferenceMacro(Initialized,
bool);
191 itkGetConstReferenceMacro(CatchGetValueException,
bool);
192 itkSetMacro(CatchGetValueException,
bool);
194 itkGetConstReferenceMacro(MetricWorstPossibleValue,
double);
195 itkSetMacro(MetricWorstPossibleValue,
double);
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{};
249 std::ostringstream m_StopConditionDescription{};
253 double m_FrobeniusNorm{};
Control indentation during Print() invocation.
Light weight base class for most itk classes.
1+1 evolutionary strategy optimizer
OnePlusOneEvolutionaryOptimizer()
MeasureType GetValue() const
void Initialize(double initialRadius, double grow=-1, double shrink=-1)
void SetNormalVariateGenerator(NormalVariateGeneratorType *generator)
void PrintSelf(std::ostream &os, Indent indent) const override
void StartOptimization() override
~OnePlusOneEvolutionaryOptimizer() override=default
std::string GetStopConditionDescription() const override
OnePlusOneEvolutionaryOptimizer(const OnePlusOneEvolutionaryOptimizer &)
This class is a base for the CostFunctions returning a single value.
This class is a base for the Optimization methods that optimize a single valued function.
CostFunctionType::MeasureType MeasureType
Defines common interfaces for random variate generators.
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....