18 #ifndef itkGradientDescentOptimizerBasev4_h 19 #define itkGradientDescentOptimizerBasev4_h 38 template<
typename TInternalComputationValueType>
91 itkGetConstReferenceMacro( Gradient, DerivativeType );
94 itkGetConstReferenceMacro(StopCondition, StopConditionType);
99 itkDebugMacro(
"setting NumberOfIterations to " << numberOfIterations );
121 virtual void StartOptimization(
bool doOnlyInitialization =
false ) ITK_OVERRIDE;
220 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
225 void operator=( const Self& ) ITK_DELETE_FUNCTION;
234 #ifndef ITK_MANUAL_INSTANTIATION 235 #include "itkGradientDescentOptimizerBasev4.hxx" Superclass::ScalesType ScalesType
SizeValueType m_ConvergenceWindowSize
OptimizerParameters< TInternalComputationValueType > ScalesType
Superclass::StopConditionDescriptionType StopConditionDescriptionType
GradientDescentOptimizerBasev4Template()
Superclass::DerivativeType DerivativeType
virtual void ModifyGradientByLearningRateOverSubRange(const IndexRangeType &subrange)=0
Superclass::ParametersType ParametersType
Superclass::StopConditionReturnStringType StopConditionReturnStringType
MetricType::DerivativeType DerivativeType
SmartPointer< Self > Pointer
virtual ~GradientDescentOptimizerBasev4Template()
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_ModifyGradientByLearningRateThreader
StopConditionType m_StopCondition
Superclass::MetricType MetricType
MetricType::MeasureType MeasureType
SmartPointer< const Self > ConstPointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
virtual void ResumeOptimization()=0
DerivativeType m_Gradient
bool m_DoEstimateLearningRateAtEachIteration
virtual const StopConditionReturnStringType GetStopConditionDescription() const override
unsigned long SizeValueType
ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > MetricType
virtual void StopOptimization()
virtual void SetNumberOfIterations(const SizeValueType numberOfIterations) override
virtual void ModifyGradientByScales()
std::ostringstream StopConditionDescriptionType
Superclass::MeasureType MeasureType
TInternalComputationValueType InternalComputationValueType
bool m_UseConvergenceMonitoring
Class to hold and manage different parameter types used during optimization.
ConvergenceMonitoringType::Pointer m_ConvergenceMonitoring
Class which monitors convergence during the course of optimization.
virtual SizeValueType GetNumberOfIterations() const override
SizeValueType m_NumberOfIterations
virtual void Modified() const
virtual void StartOptimization(bool doOnlyInitialization=false) override
TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits
GradientDescentOptimizerBasev4Template Self
Control indentation during Print() invocation.
bool m_DoEstimateLearningRateOnce
SizeValueType m_CurrentIteration
virtual void ModifyGradientByLearningRate()
std::string StopConditionReturnStringType
DomainType IndexRangeType
virtual void ModifyGradientByScalesOverSubRange(const IndexRangeType &subrange)=0
virtual SizeValueType GetCurrentIteration() const override
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_ModifyGradientByScalesThreader
virtual void PrintSelf(std::ostream &os, Indent indent) const override
Abstract base for object-to-object optimizers.
ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType > Superclass
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
itk::Function::WindowConvergenceMonitoringFunction< TInternalComputationValueType > ConvergenceMonitoringType
StopConditionDescriptionType m_StopConditionDescription
MetricType::Pointer MetricTypePointer