18 #ifndef itkGradientDescentOptimizerBasev4_h
19 #define itkGradientDescentOptimizerBasev4_h
38 template<
typename TInternalComputationValueType>
99 itkDebugMacro(
"setting NumberOfIterations to " << numberOfIterations );
121 virtual void StartOptimization(
bool doOnlyInitialization =
false ) ITK_OVERRIDE;
174 virtual ~GradientDescentOptimizerBasev4Template();
220 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
224 GradientDescentOptimizerBasev4Template( const
Self & ) ITK_DELETE_FUNCTION;
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
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
virtual void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::MetricType MetricType
MetricType::MeasureType MeasureType
SmartPointer< const Self > ConstPointer
virtual SizeValueType GetCurrentIteration() const override
virtual void ResumeOptimization()=0
DerivativeType m_Gradient
virtual SizeValueType GetNumberOfIterations() const override
bool m_DoEstimateLearningRateAtEachIteration
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.
SizeValueType m_NumberOfIterations
Partitions an indexed container.
virtual void Modified() const
virtual void StartOptimization(bool doOnlyInitialization=false) override
TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits
virtual const StopConditionReturnStringType GetStopConditionDescription() const override
GradientDescentOptimizerBasev4Template Self
Control indentation during Print() invocation.
bool m_DoEstimateLearningRateOnce
SizeValueType m_CurrentIteration
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