18 #ifndef itkGradientDescentOptimizerBasev4_h
19 #define itkGradientDescentOptimizerBasev4_h
39 template <
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;
107 StartOptimization(
bool doOnlyInitialization =
false)
override;
113 ResumeOptimization() = 0;
122 GetStopConditionDescription()
const override;
137 ModifyGradientByScales();
139 ModifyGradientByLearningRate();
150 ModifyGradientByScalesOverSubRange(
const IndexRangeType & subrange) = 0;
161 ModifyGradientByLearningRateOverSubRange(
const IndexRangeType & subrange) = 0;
172 bool m_DoEstimateLearningRateAtEachIteration{};
177 bool m_DoEstimateLearningRateOnce{};
185 TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits{};
191 bool m_UseConvergenceMonitoring{};
206 bool m_Stop{
false };
213 PrintSelf(std::ostream & os,
Indent indent)
const override;
223 #ifndef ITK_MANUAL_INSTANTIATION
224 # include "itkGradientDescentOptimizerBasev4.hxx"