18 #ifndef __itkGradientDescentOptimizerBasev4_h
19 #define __itkGradientDescentOptimizerBasev4_h
38 template<
typename TInternalComputationValueType>
106 virtual void StartOptimization(
bool doOnlyInitialization =
false ) ITK_OVERRIDE;
159 virtual ~GradientDescentOptimizerBasev4Template();
209 GradientDescentOptimizerBasev4Template( const
Self & );
210 void operator=( const Self& );
219 #ifndef ITK_MANUAL_INSTANTIATION
220 #include "itkGradientDescentOptimizerBasev4.hxx"
Superclass::ScalesType ScalesType
virtual void StartOptimization(bool doOnlyInitialization=false) ITK_OVERRIDE
SizeValueType m_ConvergenceWindowSize
OptimizerParameters< TInternalComputationValueType > ScalesType
Light weight base class for most itk classes.
Superclass::StopConditionDescriptionType StopConditionDescriptionType
Multi-threaded processing on a domain by processing sub-domains per thread.
Superclass::DerivativeType DerivativeType
virtual void ModifyGradientByLearningRateOverSubRange(const IndexRangeType &subrange)=0
Superclass::ParametersType ParametersType
Superclass::StopConditionReturnStringType StopConditionReturnStringType
MetricType::DerivativeType DerivativeType
SmartPointer< Self > Pointer
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_ModifyGradientByLearningRateThreader
StopConditionType m_StopCondition
Superclass::MetricType MetricType
MetricType::MeasureType MeasureType
SmartPointer< const Self > ConstPointer
virtual void ResumeOptimization()=0
DerivativeType m_Gradient
virtual void StopOptimization(void)
bool m_DoEstimateLearningRateAtEachIteration
virtual const StopConditionReturnStringType GetStopConditionDescription() const ITK_OVERRIDE
unsigned long SizeValueType
ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > MetricType
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.
Partitions an indexed container.
virtual void PrintSelf(std::ostream &os, Indent indent) const
TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits
GradientDescentOptimizerBasev4Template Self
Control indentation during Print() invocation.
bool m_DoEstimateLearningRateOnce
virtual void ModifyGradientByLearningRate()
std::string StopConditionReturnStringType
virtual void ModifyGradientByScalesOverSubRange(const IndexRangeType &subrange)=0
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_ModifyGradientByScalesThreader
Abstract base for object-to-object optimizers.
ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType > Superclass
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
itk::Function::WindowConvergenceMonitoringFunction< TInternalComputationValueType > ConvergenceMonitoringType
StopConditionDescriptionType m_StopConditionDescription
MetricType::Pointer MetricTypePointer