18#ifndef itkRegularStepGradientDescentOptimizerv4_h
19#define itkRegularStepGradientDescentOptimizerv4_h
46template <
typename TInternalComputationValueType =
double>
70 using typename Superclass::DerivativeType;
73 using typename Superclass::MeasureType;
74 using typename Superclass::IndexRangeType;
75 using typename Superclass::ScalesType;
76 using typename Superclass::ParametersType;
90 itkSetMacro(MinimumStepLength, TInternalComputationValueType);
91 itkGetConstReferenceMacro(MinimumStepLength, TInternalComputationValueType);
95 itkSetMacro(RelaxationFactor, TInternalComputationValueType);
96 itkGetConstReferenceMacro(RelaxationFactor, TInternalComputationValueType);
100 itkSetMacro(GradientMagnitudeTolerance, TInternalComputationValueType);
101 itkGetConstReferenceMacro(GradientMagnitudeTolerance, TInternalComputationValueType);
106 itkGetConstReferenceMacro(CurrentLearningRateRelaxation,
MeasureType);
146 TInternalComputationValueType m_RelaxationFactor{};
148 TInternalComputationValueType m_MinimumStepLength{};
150 TInternalComputationValueType m_GradientMagnitudeTolerance{};
157#ifndef ITK_MANUAL_INSTANTIATION
158# include "itkRegularStepGradientDescentOptimizerv4.hxx"
Perform more precise accumulation of floating point numbers.
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
Gradient descent optimizer.
Control indentation during Print() invocation.
Light weight base class for most itk classes.
typename MetricType::MeasureType MeasureType
Regular Step Gradient descent optimizer.
~RegularStepGradientDescentOptimizerv4() override=default
void ModifyGradientByScalesOverSubRange(const IndexRangeType &subrange) override
double GetCurrentStepLength() const
void ModifyGradientByLearningRateOverSubRange(const IndexRangeType &subrange) override
void EstimateLearningRate() override
TInternalComputationValueType InternalComputationValueType
RegularStepGradientDescentOptimizerv4()
void StartOptimization(bool doOnlyInitialization=false) override
void AdvanceOneStep() override
void PrintSelf(std::ostream &os, Indent indent) const override
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....