|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkGradientDescentOptimizerBasev4_h
19 #define itkGradientDescentOptimizerBasev4_h
39 template <
typename TInternalComputationValueType>
55 #if !defined(ITK_LEGACY_REMOVE)
109 itkDebugMacro(
"setting NumberOfIterations to " << numberOfIterations);
110 if (this->m_NumberOfIterations != numberOfIterations)
112 this->m_NumberOfIterations = numberOfIterations;
122 return this->m_NumberOfIterations;
129 return this->m_CurrentIteration;
134 StartOptimization(
bool doOnlyInitialization =
false)
override;
140 ResumeOptimization() = 0;
148 const StopConditionReturnStringType
149 GetStopConditionDescription()
const override;
164 ModifyGradientByScales();
166 ModifyGradientByLearningRate();
177 ModifyGradientByScalesOverSubRange(
const IndexRangeType & subrange) = 0;
188 ModifyGradientByLearningRateOverSubRange(
const IndexRangeType & subrange) = 0;
233 bool m_Stop{
false };
240 PrintSelf(std::ostream & os,
Indent indent)
const override;
250 #ifndef ITK_MANUAL_INSTANTIATION
251 # include "itkGradientDescentOptimizerBasev4.hxx"
DerivativeType m_Gradient
typename Superclass::StopConditionDescriptionType StopConditionDescriptionType
bool m_UseConvergenceMonitoring
TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits
class ITK_FORWARD_EXPORT GradientDescentOptimizerBasev4Template
Control indentation during Print() invocation.
typename Superclass::ParametersType ParametersType
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
StopConditionObjectToObjectOptimizerEnum m_StopCondition
typename Superclass::MetricType MetricType
Light weight base class for most itk classes.
StopConditionDescriptionType m_StopConditionDescription
StopConditionObjectToObjectOptimizer
SizeValueType m_ConvergenceWindowSize
void SetNumberOfIterations(const SizeValueType numberOfIterations) override
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_ModifyGradientByScalesThreader
ConvergenceMonitoringType::Pointer m_ConvergenceMonitoring
Class which monitors convergence during the course of optimization.
typename Superclass::StopConditionReturnStringType StopConditionReturnStringType
TInternalComputationValueType InternalComputationValueType
typename MetricType::DerivativeType DerivativeType
SizeValueType GetCurrentIteration() const override
bool m_DoEstimateLearningRateOnce
typename MetricType::Pointer MetricTypePointer
SizeValueType GetNumberOfIterations() const override
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Abstract base for object-to-object optimizers.
bool m_DoEstimateLearningRateAtEachIteration
DomainType IndexRangeType
typename Superclass::DerivativeType DerivativeType
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_ModifyGradientByLearningRateThreader
typename Superclass::ScalesType ScalesType
unsigned long SizeValueType
typename Superclass::MeasureType MeasureType