18 #ifndef __itkGradientDescentOptimizerv4_h
19 #define __itkGradientDescentOptimizerv4_h
83 template<
typename TInternalComputationValueType>
119 itkSetMacro(LearningRate, TInternalComputationValueType);
122 itkGetConstReferenceMacro(LearningRate, TInternalComputationValueType);
130 itkSetMacro(MaximumStepSizeInPhysicalUnits, TInternalComputationValueType);
133 itkGetConstReferenceMacro(MaximumStepSizeInPhysicalUnits, TInternalComputationValueType);
150 itkSetMacro(DoEstimateScales,
bool);
151 itkGetConstReferenceMacro(DoEstimateScales,
bool);
152 itkBooleanMacro(DoEstimateScales);
162 itkSetMacro(DoEstimateLearningRateAtEachIteration,
bool);
163 itkGetConstReferenceMacro(DoEstimateLearningRateAtEachIteration,
bool);
164 itkBooleanMacro(DoEstimateLearningRateAtEachIteration);
174 itkSetMacro(DoEstimateLearningRateOnce,
bool);
175 itkGetConstReferenceMacro(DoEstimateLearningRateOnce,
bool);
176 itkBooleanMacro(DoEstimateLearningRateOnce);
188 itkSetMacro(MinimumConvergenceValue, TInternalComputationValueType);
201 itkGetConstReferenceMacro( ConvergenceValue, TInternalComputationValueType);
214 itkSetMacro(ReturnBestParametersAndValue,
bool);
215 itkGetConstReferenceMacro(ReturnBestParametersAndValue,
bool);
216 itkBooleanMacro(ReturnBestParametersAndValue);
312 #ifndef ITK_MANUAL_INSTANTIATION
313 #include "itkGradientDescentOptimizerv4.hxx"
virtual void ModifyGradientByScalesOverSubRange(const IndexRangeType &subrange)
Superclass::ScalesType ScalesType
TInternalComputationValueType m_LearningRate
Light weight base class for most itk classes.
Superclass::IndexRangeType IndexRangeType
virtual ~GradientDescentOptimizerv4Template()
TInternalComputationValueType m_ConvergenceValue
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
virtual void AdvanceOneStep(void)
Superclass::ScalesType ScalesType
Superclass::ParametersType ParametersType
virtual void ResumeOptimization()
SmartPointer< const Self > ConstPointer
virtual void PrintSelf(std::ostream &os, Indent indent) const
void operator=(const Self &)
itk::Function::WindowConvergenceMonitoringFunction< TInternalComputationValueType > ConvergenceMonitoringType
GradientDescentOptimizerv4Template Self
unsigned long SizeValueType
SizeValueType m_ConvergenceWindowSize
GradientDescentOptimizerBasev4Template< TInternalComputationValueType > Superclass
OptimizerParameterScalesEstimatorTemplate is the base class offering a empty method of estimating the...
ConvergenceMonitoringType::Pointer m_ConvergenceMonitoring
MetricType::DerivativeType DerivativeType
virtual void StopOptimization(void)
Superclass::MeasureType MeasureType
Superclass::DerivativeType DerivativeType
ParametersType m_BestParameters
Class which monitors convergence during the course of optimization.
GradientDescentOptimizerv4Template< double > GradientDescentOptimizerv4
MeasureType m_CurrentBestValue
TInternalComputationValueType InternalComputationValueType
OptimizerParameterScalesEstimatorTemplate< TInternalComputationValueType >::Pointer m_ScalesEstimator
bool m_DoEstimateLearningRateOnce
bool m_DoEstimateLearningRateAtEachIteration
virtual void EstimateLearningRate()
TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits
Control indentation during Print() invocation.
Superclass::MeasureType MeasureType
TInternalComputationValueType m_MinimumConvergenceValue
Gradient descent optimizer.
virtual void ModifyGradientByLearningRateOverSubRange(const IndexRangeType &subrange)
bool m_ReturnBestParametersAndValue
virtual void StartOptimization(bool doOnlyInitialization=false)
GradientDescentOptimizerv4Template()
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
Superclass::StopConditionType StopConditionType