18#ifndef itkGradientDescentOptimizerBasev4_h
19#define itkGradientDescentOptimizerBasev4_h
39template <
typename TInternalComputationValueType>
55#if !defined(ITK_LEGACY_REMOVE)
74 using typename Superclass::StopConditionReturnStringType;
77 using typename Superclass::StopConditionDescriptionType;
83 using typename Superclass::MetricType;
87 using typename Superclass::DerivativeType;
90 using typename Superclass::MeasureType;
92 using typename Superclass::ScalesType;
94 using typename Superclass::ParametersType;
172 bool m_DoEstimateLearningRateAtEachIteration{};
177 bool m_DoEstimateLearningRateOnce{};
185 TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits{};
191 bool m_UseConvergenceMonitoring{};
206 bool m_Stop{
false };
223#ifndef ITK_MANUAL_INSTANTIATION
224# include "itkGradientDescentOptimizerBasev4.hxx"
Class which monitors convergence during the course of optimization.
virtual void ModifyGradientByScalesOverSubRange(const IndexRangeType &subrange)=0
virtual void ModifyGradientByLearningRateOverSubRange(const IndexRangeType &subrange)=0
void StartOptimization(bool doOnlyInitialization=false) override
typename MetricType::Pointer MetricTypePointer
TInternalComputationValueType InternalComputationValueType
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
virtual void ModifyGradientByLearningRate()
virtual void ResumeOptimization()=0
~GradientDescentOptimizerBasev4Template() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
GradientDescentOptimizerBasev4Template()
virtual void StopOptimization()
virtual void ModifyGradientByScales()
StopConditionReturnStringType GetStopConditionDescription() const override
Control indentation during Print() invocation.
Light weight base class for most itk classes.
StopConditionObjectToObjectOptimizer
@ GRADIENT_MAGNITUDE_TOLEARANCE
@ CONVERGENCE_CHECKER_PASSED
@ UPDATE_PARAMETERS_ERROR
@ MAXIMUM_NUMBER_OF_ITERATIONS
Abstract base for object-to-object optimizers.
typename MetricType::DerivativeType DerivativeType
std::ostringstream StopConditionDescriptionType
std::string StopConditionReturnStringType
DomainType IndexRangeType
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT GradientDescentOptimizerBasev4Template
unsigned long SizeValueType