18 #ifndef itkGradientDescentOptimizerBasev4_h
19 #define itkGradientDescentOptimizerBasev4_h
38 template<
typename TInternalComputationValueType>
99 itkDebugMacro(
"setting NumberOfIterations to " << numberOfIterations );
100 if ( this->m_NumberOfIterations != numberOfIterations)
102 this->m_NumberOfIterations = numberOfIterations;
111 return this->m_NumberOfIterations;
117 return this->m_CurrentIteration;
121 virtual void StartOptimization(
bool doOnlyInitialization =
false ) ITK_OVERRIDE;
126 virtual
void ResumeOptimization() = 0;
130 virtual
void StopOptimization();
133 virtual const StopConditionReturnStringType GetStopConditionDescription() const ITK_OVERRIDE;
147 virtual
void ModifyGradientByScales();
148 virtual
void ModifyGradientByLearningRate();
158 virtual
void ModifyGradientByScalesOverSubRange( const IndexRangeType& subrange ) = 0;
168 virtual
void ModifyGradientByLearningRateOverSubRange( const IndexRangeType& subrange ) = 0;
174 virtual ~GradientDescentOptimizerBasev4Template() ITK_OVERRIDE;
180 bool m_DoEstimateLearningRateAtEachIteration;
185 bool m_DoEstimateLearningRateOnce;
193 TInternalComputationValueType m_MaximumStepSizeInPhysicalUnits;
199 bool m_UseConvergenceMonitoring;
220 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
224 ITK_DISALLOW_COPY_AND_ASSIGN(GradientDescentOptimizerBasev4Template);
233 #ifndef ITK_MANUAL_INSTANTIATION
234 #include "itkGradientDescentOptimizerBasev4.hxx"
Array class with size defined at construction time.
Superclass::ScalesType 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
Superclass::ParametersType ParametersType
Superclass::StopConditionReturnStringType StopConditionReturnStringType
SmartPointer< Self > Pointer
Superclass::MetricType MetricType
MetricType::MeasureType MeasureType
SmartPointer< const Self > ConstPointer
virtual SizeValueType GetCurrentIteration() const override
virtual SizeValueType GetNumberOfIterations() const override
unsigned long SizeValueType
virtual void SetNumberOfIterations(const SizeValueType numberOfIterations) override
std::ostringstream StopConditionDescriptionType
Superclass::MeasureType MeasureType
TInternalComputationValueType InternalComputationValueType
Class which monitors convergence during the course of optimization.
Partitions an indexed container.
GradientDescentOptimizerBasev4Template Self
Control indentation during Print() invocation.
Abstract base for object-to-object optimizers.
ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType > Superclass
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
itk::Function::WindowConvergenceMonitoringFunction< TInternalComputationValueType > ConvergenceMonitoringType
MetricType::Pointer MetricTypePointer