18 #ifndef __itkRegularStepGradientDescentBaseOptimizer_h
19 #define __itkRegularStepGradientDescentBaseOptimizer_h
60 itkSetMacro(Maximize,
bool);
61 itkGetConstReferenceMacro(Maximize,
bool);
62 itkBooleanMacro(Maximize);
85 itkSetMacro(MaximumStepLength,
double);
86 itkSetMacro(MinimumStepLength,
double);
87 itkSetMacro(RelaxationFactor,
double);
90 itkGetConstReferenceMacro(CurrentStepLength,
double);
91 itkGetConstReferenceMacro(MaximumStepLength,
double);
92 itkGetConstReferenceMacro(MinimumStepLength,
double);
93 itkGetConstReferenceMacro(RelaxationFactor,
double);
94 itkGetConstReferenceMacro(NumberOfIterations, SizeValueType);
95 itkGetConstReferenceMacro(GradientMagnitudeTolerance,
double);
96 itkGetConstMacro(CurrentIteration,
unsigned int);
107 virtual ~RegularStepGradientDescentBaseOptimizer() {}
108 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
127 ex.
SetDescription(
"This method MUST be overloaded in derived classes");
Array class with size defined at construction time.
Light weight base class for most itk classes.
virtual void AdvanceOneStep(void)
double m_MinimumStepLength
virtual void SetDescription(const std::string &s)
SingleValuedNonLinearOptimizer Superclass
SmartPointer< Self > Pointer
virtual void SetLocation(const std::string &s)
Implement a gradient descent optimizer.
This class is a base for the Optimization methods that optimize a single valued function.
std::ostringstream m_StopConditionDescription
SizeValueType m_NumberOfIterations
double m_CurrentStepLength
unsigned long SizeValueType
double m_RelaxationFactor
CostFunctionType::DerivativeType DerivativeType
StopConditionType m_StopCondition
CostFunctionType::MeasureType MeasureType
DerivativeType m_PreviousGradient
void StopOptimization(void)
virtual void SetMaximize(bool _arg)
double m_MaximumStepLength
void ResumeOptimization(void)
Standard exception handling object.
virtual void StepAlongGradient(double, const DerivativeType &)
double m_GradientMagnitudeTolerance
void operator=(const Self &)
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
virtual void StartOptimization(void) ITK_OVERRIDE
Control indentation during Print() invocation.
RegularStepGradientDescentBaseOptimizer()
SizeValueType m_CurrentIteration
virtual const std::string GetStopConditionDescription() const ITK_OVERRIDE
SmartPointer< const Self > ConstPointer
DerivativeType m_Gradient
RegularStepGradientDescentBaseOptimizer Self