18#ifndef itkGradientDescentOptimizer_h
19#define itkGradientDescentOptimizer_h
23#include "ITKOptimizersExport.h"
39 MaximumNumberOfIterations,
44extern ITKOptimizers_EXPORT std::ostream &
91#if !defined(ITK_LEGACY_REMOVE)
95 StopConditionGradientDescentOptimizerEnum::MaximumNumberOfIterations;
97 StopConditionGradientDescentOptimizerEnum::MetricError;
101 itkGetConstReferenceMacro(Maximize,
bool);
102 itkSetMacro(Maximize,
bool);
103 itkBooleanMacro(Maximize);
112 this->SetMaximize(!v);
145 itkSetMacro(LearningRate,
double);
148 itkGetConstReferenceMacro(LearningRate,
double);
160 itkGetConstReferenceMacro(Value,
double);
180 bool m_Maximize{
false };
182 double m_LearningRate{ 1.0 };
185 bool m_Stop{
false };
186 double m_Value{ 0.0 };
188 StopConditionGradientDescentOptimizerEnum::MaximumNumberOfIterations
192 std::ostringstream m_StopConditionDescription{};
196extern ITKOptimizers_EXPORT std::ostream &
Array class with size defined at construction time.
Contains all enum classes in the GradientDescentOptimizer class.
StopConditionGradientDescentOptimizer
Implement a gradient descent optimizer.
void StartOptimization() override
GradientDescentOptimizer()
void ResumeOptimization()
std::string GetStopConditionDescription() const override
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void AdvanceOneStep()
~GradientDescentOptimizer() override=default
GradientDescentOptimizerEnums::StopConditionGradientDescentOptimizer StopConditionGradientDescentOptimizerEnum
Control indentation during Print() invocation.
Light weight base class for most itk classes.
This class is a base for the Optimization methods that optimize a single valued function.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
unsigned long SizeValueType