18#ifndef itkOnePlusOneEvolutionaryOptimizerv4_h
19#define itkOnePlusOneEvolutionaryOptimizerv4_h
69template <
typename TInternalComputationValueType>
94 using typename Superclass::MeasureType;
97 using typename Superclass::ParametersType;
100 using typename Superclass::ScalesType;
103 itkSetMacro(MaximumIteration,
unsigned int);
104 itkGetConstReferenceMacro(MaximumIteration,
unsigned int);
108 itkSetMacro(GrowthFactor,
double);
109 itkGetConstReferenceMacro(GrowthFactor,
double);
113 itkSetMacro(ShrinkFactor,
double);
114 itkGetConstReferenceMacro(ShrinkFactor,
double);
118 itkSetMacro(InitialRadius,
double);
119 itkGetConstReferenceMacro(InitialRadius,
double);
124 itkSetMacro(Epsilon,
double);
125 itkGetConstReferenceMacro(Epsilon,
double);
129 itkGetConstReferenceMacro(FrobeniusNorm,
double);
141 Initialize(
double initialRadius,
double grow = -1,
double shrink = -1);
150 itkGetConstReferenceMacro(Initialized,
bool);
167 itkGetConstReferenceMacro(CatchGetValueException,
bool);
168 itkSetMacro(CatchGetValueException,
bool);
169 itkBooleanMacro(CatchGetValueException);
171 itkGetConstReferenceMacro(MetricWorstPossibleValue,
double);
172 itkSetMacro(MetricWorstPossibleValue,
double);
189 unsigned int m_MaximumIteration{};
191 bool m_CatchGetValueException{};
192 double m_MetricWorstPossibleValue{};
199 double m_InitialRadius{};
202 double m_GrowthFactor{};
205 double m_ShrinkFactor{};
208 bool m_Initialized{};
220 std::ostringstream m_StopConditionDescription{};
224 double m_FrobeniusNorm{};
228#ifndef ITK_MANUAL_INSTANTIATION
229# include "itkOnePlusOneEvolutionaryOptimizerv4.hxx"
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Abstract base for object-to-object optimizers.
typename MetricType::MeasureType MeasureType
1+1 evolutionary strategy optimizer
void StartOptimization(bool doOnlyInitialization=false) override
OnePlusOneEvolutionaryOptimizerv4()
OnePlusOneEvolutionaryOptimizerv4(const OnePlusOneEvolutionaryOptimizerv4 &)
const MeasureType & GetValue() const override
void Initialize(double initialRadius, double grow=-1, double shrink=-1)
void SetNormalVariateGenerator(NormalVariateGeneratorType *generator)
std::string GetStopConditionDescription() const override
~OnePlusOneEvolutionaryOptimizerv4() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
Defines common interfaces for random variate generators.
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SingleValuedCostFunctionv4Template< double > SingleValuedCostFunctionv4