18 #ifndef itkGradientDescentOptimizerBasev4_h
19 #define itkGradientDescentOptimizerBasev4_h
38 template<
typename TInternalComputationValueType>
100 itkDebugMacro(
"setting NumberOfIterations to " << numberOfIterations );
101 if ( this->m_NumberOfIterations != numberOfIterations)
103 this->m_NumberOfIterations = numberOfIterations;
112 return this->m_NumberOfIterations;
118 return this->m_CurrentIteration;
122 void StartOptimization(
bool doOnlyInitialization =
false )
override;
127 virtual void ResumeOptimization() = 0;
131 virtual void StopOptimization();
134 const StopConditionReturnStringType GetStopConditionDescription()
const override;
148 virtual void ModifyGradientByScales();
149 virtual void ModifyGradientByLearningRate();
159 virtual void ModifyGradientByScalesOverSubRange(
const IndexRangeType& subrange ) = 0;
169 virtual void ModifyGradientByLearningRateOverSubRange(
const IndexRangeType& subrange ) = 0;
221 void PrintSelf(std::ostream & os,
Indent indent)
const override;
232 #ifndef ITK_MANUAL_INSTANTIATION
233 #include "itkGradientDescentOptimizerBasev4.hxx"
SizeValueType m_ConvergenceWindowSize
SizeValueType GetNumberOfIterations() const override
Light weight base class for most itk classes.
unsigned long SizeValueType
typename MetricType::DerivativeType DerivativeType
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_ModifyGradientByLearningRateThreader
StopConditionType m_StopCondition
typename Superclass::ParametersType ParametersType
typename Superclass::ScalesType ScalesType
DerivativeType m_Gradient
bool m_DoEstimateLearningRateAtEachIteration
TInternalComputationValueType InternalComputationValueType
typename Superclass::MeasureType MeasureType
bool m_UseConvergenceMonitoring
DomainType IndexRangeType
ConvergenceMonitoringType::Pointer m_ConvergenceMonitoring
Class which monitors convergence during the course of optimization.
SizeValueType GetCurrentIteration() const override
typename Superclass::StopConditionDescriptionType StopConditionDescriptionType
typename MetricType::Pointer MetricTypePointer
TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits
typename Superclass::MetricType MetricType
typename Superclass::StopConditionReturnStringType StopConditionReturnStringType
Control indentation during Print() invocation.
bool m_DoEstimateLearningRateOnce
typename Superclass::DerivativeType DerivativeType
void SetNumberOfIterations(const SizeValueType numberOfIterations) override
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_ModifyGradientByScalesThreader
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
Abstract base for object-to-object optimizers.
class ITK_FORWARD_EXPORT GradientDescentOptimizerBasev4Template
StopConditionDescriptionType m_StopConditionDescription