ITK
4.0.0
Insight Segmentation and Registration Toolkit
|
Gradient descent optimizer. More...
#include <itkGradientDescentOptimizerv4.h>
Gradient descent optimizer.
GradientDescentOptimizer implements a simple gradient descent optimizer. At each iteration the current position is updated according to
The user can scale each component of the df / dp but setting a scaling vector using method SetScales().
The learning rate defaults to 1.0, and can be set via SetLearningRate
.
The user may set a member m_ScalesEstimator by calling SetScalesEstimator() before optimization to estimate scales and learning rates automatically.
When m_ScalesEstimator is set, m_MaximumStepSizeInPhysicalUnits may also be set by the user to change the maximum step size at each iteration. Learning rates are automatically restricted such that each step will produce physical impacts on voxels less than m_MaximumStepSizeInPhysicalUnits. m_MaximumStepSizeInPhysicalUnits defaults to the voxel spacing returned by m_ScalesEstimator.
Definition at line 62 of file itkGradientDescentOptimizerv4.h.
typedef SmartPointer< const Self > itk::GradientDescentOptimizerv4::ConstPointer |
Reimplemented from itk::GradientDescentOptimizerBasev4.
Reimplemented in itk::QuasiNewtonOptimizerv4.
Definition at line 70 of file itkGradientDescentOptimizerv4.h.
Derivative type
Reimplemented from itk::GradientDescentOptimizerBasev4.
Definition at line 76 of file itkGradientDescentOptimizerv4.h.
typedef Superclass::InternalComputationValueType itk::GradientDescentOptimizerv4::InternalComputationValueType |
Internal computation type, for maintaining a desired precision
Reimplemented from itk::GradientDescentOptimizerBasev4.
Reimplemented in itk::QuasiNewtonOptimizerv4.
Definition at line 83 of file itkGradientDescentOptimizerv4.h.
Metric type over which this class is templated
Reimplemented from itk::GradientDescentOptimizerBasev4.
Definition at line 82 of file itkGradientDescentOptimizerv4.h.
Reimplemented from itk::GradientDescentOptimizerBasev4.
Reimplemented in itk::QuasiNewtonOptimizerv4.
Definition at line 69 of file itkGradientDescentOptimizerv4.h.
Standard class typedefs.
Reimplemented from itk::GradientDescentOptimizerBasev4.
Reimplemented in itk::QuasiNewtonOptimizerv4.
Definition at line 67 of file itkGradientDescentOptimizerv4.h.
Reimplemented from itk::GradientDescentOptimizerBasev4.
Reimplemented in itk::QuasiNewtonOptimizerv4.
Definition at line 68 of file itkGradientDescentOptimizerv4.h.
itk::GradientDescentOptimizerv4::GradientDescentOptimizerv4 | ( | ) | [protected] |
Default constructor
virtual itk::GradientDescentOptimizerv4::~GradientDescentOptimizerv4 | ( | ) | [protected, virtual] |
Destructor
itk::GradientDescentOptimizerv4::GradientDescentOptimizerv4 | ( | const Self & | ) | [private] |
virtual void itk::GradientDescentOptimizerv4::AdvanceOneStep | ( | void | ) | [protected, virtual] |
Advance one Step following the gradient direction. Includes transform update.
Reimplemented in itk::QuasiNewtonOptimizerv4.
virtual::itk::LightObject::Pointer itk::GradientDescentOptimizerv4::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
Reimplemented in itk::QuasiNewtonOptimizerv4.
virtual void itk::GradientDescentOptimizerv4::EstimateLearningRate | ( | ) | [protected, virtual] |
Estimate the learning rate
Implements itk::GradientDescentOptimizerBasev4.
virtual const InternalComputationValueType& itk::GradientDescentOptimizerv4::GetLearningRate | ( | ) | [virtual] |
Get the learning rate.
virtual const char* itk::GradientDescentOptimizerv4::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::GradientDescentOptimizerBasev4.
Reimplemented in itk::QuasiNewtonOptimizerv4.
virtual void itk::GradientDescentOptimizerv4::ModifyGradientByLearningRateOverSubRange | ( | const IndexRangeType & | subrange | ) | [protected, virtual] |
Modify the gradient over a given index range.
Implements itk::GradientDescentOptimizerBasev4.
virtual void itk::GradientDescentOptimizerv4::ModifyGradientByScalesOverSubRange | ( | const IndexRangeType & | subrange | ) | [protected, virtual] |
Modify the gradient over a given index range.
Implements itk::GradientDescentOptimizerBasev4.
static Pointer itk::GradientDescentOptimizerv4::New | ( | ) | [static] |
New macro for creation of through a Smart Pointer
Reimplemented from itk::Object.
Reimplemented in itk::QuasiNewtonOptimizerv4.
void itk::GradientDescentOptimizerv4::operator= | ( | const Self & | ) | [private] |
Mutex lock to protect modification to the reference count
Reimplemented from itk::GradientDescentOptimizerBasev4.
Reimplemented in itk::QuasiNewtonOptimizerv4.
virtual void itk::GradientDescentOptimizerv4::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::GradientDescentOptimizerBasev4.
Reimplemented in itk::QuasiNewtonOptimizerv4.
virtual void itk::GradientDescentOptimizerv4::ResumeOptimization | ( | ) | [virtual] |
Resume the optimization. Can be called after StopOptimization to resume. The bulk of the optimization work loop is here.
Implements itk::GradientDescentOptimizerBasev4.
virtual void itk::GradientDescentOptimizerv4::SetLearningRate | ( | InternalComputationValueType | _arg | ) | [virtual] |
Set the learning rate.
virtual void itk::GradientDescentOptimizerv4::SetMaximumStepSizeInPhysicalUnits | ( | InternalComputationValueType | _arg | ) | [virtual] |
Set the maximum step size.
virtual void itk::GradientDescentOptimizerv4::SetScalesEstimator | ( | OptimizerParameterScalesEstimator * | _arg | ) | [virtual] |
Set the scales estimator.
virtual void itk::GradientDescentOptimizerv4::StartOptimization | ( | ) | [virtual] |
Start and run the optimization
Reimplemented from itk::ObjectToObjectOptimizerBase.
Reimplemented in itk::QuasiNewtonOptimizerv4.
Definition at line 115 of file itkGradientDescentOptimizerv4.h.
InternalComputationValueType itk::GradientDescentOptimizerv4::m_MaximumStepSizeInPhysicalUnits [protected] |
The maximum step size to restrict learning rates.
Definition at line 118 of file itkGradientDescentOptimizerv4.h.
OptimizerParameterScalesEstimator::Pointer itk::GradientDescentOptimizerv4::m_ScalesEstimator [protected] |
Definition at line 131 of file itkGradientDescentOptimizerv4.h.