19#ifndef itkRSGDEachParameterApartBaseOptimizer_h
20#define itkRSGDEachParameterApartBaseOptimizer_h
22#include "itkSingleValuedNonLinearOptimizer.h"
65 itkSetMacro(Maximize,
bool);
66 itkGetConstMacro(Maximize,
bool);
67 itkBooleanMacro(Maximize);
104 itkSetMacro(MaximumStepLength,
double);
105 itkSetMacro(MinimumStepLength,
double);
106 itkSetMacro(NumberOfIterations,
unsigned long);
108 itkGetConstMacro(MaximumStepLength,
double);
109 itkGetConstMacro(MinimumStepLength,
double);
110 itkGetConstMacro(NumberOfIterations,
unsigned long);
112 itkGetConstMacro(CurrentIteration,
unsigned long);
114 itkGetConstMacro(Value, MeasureType);
115 itkGetConstReferenceMacro(Gradient, DerivativeType);
118 itkGetConstReferenceMacro(CurrentStepLengths, DerivativeType);
121 itkGetConstMacro(CurrentStepLength,
double);
124 itkGetConstMacro(GradientMagnitude,
double);
130 PrintSelf(std::ostream & os, Indent indent)
const override;
152 ex.SetLocation(__FILE__);
153 ex.SetDescription(
"This method MUST be overloaded in derived classes");
An optimizer based on gradient descent...
unsigned long m_CurrentIteration
double m_MaximumStepLength
SmartPointer< const Self > ConstPointer
double m_GradientMagnitude
virtual void SetMaximize(bool _arg)
DerivativeType m_CurrentStepLengths
void StartOptimization() override
double m_MinimumStepLength
ITK_DISALLOW_COPY_AND_MOVE(RSGDEachParameterApartBaseOptimizer)
double m_GradientMagnitudeTolerance
DerivativeType m_PreviousGradient
~RSGDEachParameterApartBaseOptimizer() override=default
StopConditionType m_StopCondition
virtual void AdvanceOneStep()
virtual void StepAlongGradient(const DerivativeType &, const DerivativeType &)
@ GradientMagnitudeTolerance
@ MaximumNumberOfIterations
void ResumeOptimization()
void PrintSelf(std::ostream &os, Indent indent) const override
double m_CurrentStepLength
RSGDEachParameterApartBaseOptimizer()
DerivativeType m_Gradient
unsigned long m_NumberOfIterations