go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::GradientDescentOptimizer2 Class Reference

#include <itkGradientDescentOptimizer2.h>

Inheritance diagram for itk::GradientDescentOptimizer2:
Inheritance graph
[legend]
Collaboration diagram for itk::GradientDescentOptimizer2:
Collaboration graph
[legend]

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::CostFunctionType 
CostFunctionType
typedef Superclass::DerivativeType DerivativeType
typedef Superclass::MeasureType MeasureType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef
Superclass::ScaledCostFunctionPointer 
ScaledCostFunctionPointer
typedef
Superclass::ScaledCostFunctionType 
ScaledCostFunctionType
typedef Superclass::ScalesType ScalesType
typedef GradientDescentOptimizer2 Self
enum  StopConditionType { MaximumNumberOfIterations, MetricError, MinimumStepSize }
typedef
ScaledSingleValuedNonLinearOptimizer 
Superclass

Public Member Functions

virtual void AdvanceOneStep (void)
virtual const char * GetClassName () const
virtual unsigned int GetCurrentIteration () const
virtual const DerivativeTypeGetGradient ()
virtual const doubleGetLearningRate ()
virtual const unsigned long & GetNumberOfIterations ()
virtual const StopConditionTypeGetStopCondition ()
virtual const doubleGetValue ()
virtual void MetricErrorResponse (ExceptionObject &err)
virtual void ResumeOptimization (void)
virtual void SetLearningRate (double _arg)
virtual void SetNumberOfIterations (unsigned long _arg)
virtual void StartOptimization (void)
virtual void StopOptimization (void)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 GradientDescentOptimizer2 ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~GradientDescentOptimizer2 ()

Protected Attributes

DerivativeType m_Gradient
double m_LearningRate
StopConditionType m_StopCondition

Private Member Functions

 GradientDescentOptimizer2 (const Self &)
void operator= (const Self &)

Private Attributes

unsigned long m_CurrentIteration
unsigned long m_NumberOfIterations
bool m_Stop
double m_Value

Detailed Description

Implement a gradient descent optimizer.

GradientDescentOptimizer2 implements a simple gradient descent optimizer. At each iteration the current position is updated according to

\[ p_{n+1} = p_n + \mbox{learningRate} \, \frac{\partial f(p_n) }{\partial p_n} \]

The learning rate is a fixed scalar defined via SetLearningRate(). The optimizer steps through a user defined number of iterations; no convergence checking is done.

Additionally, user can scale each component of the $\partial f / \partial p$ but setting a scaling vector using method SetScale().

The difference of this class with the itk::GradientDescentOptimizer is that it's based on the ScaledSingleValuedNonLinearOptimizer

See also:
ScaledSingleValuedNonLinearOptimizer

Definition at line 49 of file itkGradientDescentOptimizer2.h.


Member Typedef Documentation

Typedefs inherited from the superclass.

Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.

Reimplemented in itk::AdaptiveStochasticGradientDescentOptimizer, and itk::StandardGradientDescentOptimizer.

Definition at line 63 of file itkGradientDescentOptimizer2.h.


Member Enumeration Documentation

Codes of stopping conditions The MinimumStepSize stopcondition never occurs, but may be implemented in inheriting classes

Enumerator:
MaximumNumberOfIterations 
MetricError 
MinimumStepSize 

Reimplemented in elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::StandardGradientDescent< TElastix >, itk::AdaptiveStochasticGradientDescentOptimizer, and itk::StandardGradientDescentOptimizer.

Definition at line 77 of file itkGradientDescentOptimizer2.h.


Constructor & Destructor Documentation

virtual itk::GradientDescentOptimizer2::~GradientDescentOptimizer2 ( ) [inline, protected, virtual]

Definition at line 126 of file itkGradientDescentOptimizer2.h.


Member Function Documentation

virtual void itk::GradientDescentOptimizer2::AdvanceOneStep ( void  ) [virtual]

Advance one step following the gradient direction.

Reimplemented in itk::StandardGradientDescentOptimizer.

virtual const char* itk::GradientDescentOptimizer2::GetClassName ( ) const [virtual]
virtual unsigned int itk::GradientDescentOptimizer2::GetCurrentIteration ( ) const [virtual]

Get the current iteration number.

Get current gradient.

Get the learning rate.

virtual const unsigned long& itk::GradientDescentOptimizer2::GetNumberOfIterations ( ) [virtual]

Get the number of iterations.

Get Stop condition.

virtual const double& itk::GradientDescentOptimizer2::GetValue ( ) [virtual]

Get the current value.

virtual void itk::GradientDescentOptimizer2::MetricErrorResponse ( ExceptionObject &  err) [virtual]

Stop optimisation and pass on exception.

Reimplemented in elastix::AdaptiveStochasticGradientDescent< TElastix >, and elastix::StandardGradientDescent< TElastix >.

void itk::GradientDescentOptimizer2::operator= ( const Self ) [private]
void itk::GradientDescentOptimizer2::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected]
virtual void itk::GradientDescentOptimizer2::ResumeOptimization ( void  ) [virtual]

Resume previously stopped optimization with current parameters

See also:
StopOptimization.

Reimplemented in elastix::AdaptiveStochasticGradientDescent< TElastix >.

virtual void itk::GradientDescentOptimizer2::SetLearningRate ( double  _arg) [virtual]

Set the learning rate.

virtual void itk::GradientDescentOptimizer2::SetNumberOfIterations ( unsigned long  _arg) [virtual]

Set the number of iterations.

virtual void itk::GradientDescentOptimizer2::StartOptimization ( void  ) [virtual]
virtual void itk::GradientDescentOptimizer2::StopOptimization ( void  ) [virtual]

Stop optimization.

See also:
ResumeOptimization

Field Documentation

Definition at line 142 of file itkGradientDescentOptimizer2.h.

Definition at line 130 of file itkGradientDescentOptimizer2.h.

Definition at line 131 of file itkGradientDescentOptimizer2.h.

Definition at line 141 of file itkGradientDescentOptimizer2.h.

Definition at line 138 of file itkGradientDescentOptimizer2.h.

Definition at line 132 of file itkGradientDescentOptimizer2.h.

Definition at line 139 of file itkGradientDescentOptimizer2.h.



Generated on 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo