18 #ifndef itkGradientDescentOptimizerv4_h
19 #define itkGradientDescentOptimizerv4_h
76 template<
typename TInternalComputationValueType>
110 itkSetMacro(LearningRate, TInternalComputationValueType);
111 itkGetConstReferenceMacro(LearningRate, TInternalComputationValueType);
120 itkSetMacro(MaximumStepSizeInPhysicalUnits, TInternalComputationValueType);
121 itkGetConstReferenceMacro(MaximumStepSizeInPhysicalUnits, TInternalComputationValueType);
131 itkSetMacro(DoEstimateLearningRateAtEachIteration,
bool);
132 itkGetConstReferenceMacro(DoEstimateLearningRateAtEachIteration,
bool);
133 itkBooleanMacro(DoEstimateLearningRateAtEachIteration);
143 itkSetMacro(DoEstimateLearningRateOnce,
bool);
144 itkGetConstReferenceMacro(DoEstimateLearningRateOnce,
bool);
145 itkBooleanMacro(DoEstimateLearningRateOnce);
157 itkSetMacro(MinimumConvergenceValue, TInternalComputationValueType);
172 itkGetConstReferenceMacro( ConvergenceValue, TInternalComputationValueType);
185 itkSetMacro(ReturnBestParametersAndValue,
bool);
186 itkGetConstReferenceMacro(ReturnBestParametersAndValue,
bool);
187 itkBooleanMacro(ReturnBestParametersAndValue);
191 virtual void StartOptimization(
bool doOnlyInitialization =
false ) ITK_OVERRIDE;
194 virtual
void StopOptimization(
void) ITK_OVERRIDE;
197 virtual
void ResumeOptimization() ITK_OVERRIDE;
200 virtual
void EstimateLearningRate();
206 virtual
void AdvanceOneStep();
209 virtual
void ModifyGradientByScalesOverSubRange( const
IndexRangeType& subrange ) ITK_OVERRIDE;
212 virtual
void ModifyGradientByLearningRateOverSubRange( const
IndexRangeType& subrange ) ITK_OVERRIDE;
220 virtual
void PrintSelf( std::ostream & os,
Indent indent ) const ITK_OVERRIDE;
223 TInternalComputationValueType m_LearningRate;
224 TInternalComputationValueType m_MinimumConvergenceValue;
225 TInternalComputationValueType m_ConvergenceValue;
231 bool m_ReturnBestParametersAndValue;
250 #ifndef ITK_MANUAL_INSTANTIATION
251 #include "itkGradientDescentOptimizerv4.hxx"
Light weight base class for most itk classes.
Superclass::IndexRangeType IndexRangeType
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
Superclass::ScalesType ScalesType
Superclass::ParametersType ParametersType
SmartPointer< const Self > ConstPointer
GradientDescentOptimizerv4Template Self
unsigned long SizeValueType
GradientDescentOptimizerBasev4Template< TInternalComputationValueType > Superclass
Superclass::MeasureType MeasureType
Superclass::DerivativeType DerivativeType
TInternalComputationValueType InternalComputationValueType
Control indentation during Print() invocation.
Superclass::MeasureType MeasureType
Gradient descent optimizer.
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
Superclass::StopConditionType StopConditionType