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 Types inherited from itk::ScaledSingleValuedNonLinearOptimizer
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::CostFunctionType 
CostFunctionType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef
ScaledCostFunctionType::Pointer 
ScaledCostFunctionPointer
 
typedef
ScaledSingleValuedCostFunction 
ScaledCostFunctionType
 
typedef
NonLinearOptimizer::ScalesType 
ScalesType
 
typedef
ScaledSingleValuedNonLinearOptimizer 
Self
 
typedef
SingleValuedNonLinearOptimizer 
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)
 
- Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
virtual const ParametersTypeGetCurrentPosition (void) const
 
virtual bool GetMaximize () const
 
virtual const
ScaledCostFunctionType
GetScaledCostFunction ()
 
virtual const ParametersTypeGetScaledCurrentPosition ()
 
bool GetUseScales (void) const
 
virtual void InitializeScales (void)
 
virtual void MaximizeOff ()
 
virtual void MaximizeOn ()
 
virtual void SetCostFunction (CostFunctionType *costFunction)
 
virtual void SetMaximize (bool _arg)
 
virtual void SetUseScales (bool arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
static Pointer New ()
 

Protected Member Functions

 GradientDescentOptimizer2 ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual ~GradientDescentOptimizer2 ()
 
- Protected Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
virtual void GetScaledDerivative (const ParametersType &parameters, DerivativeType &derivative) const
 
virtual MeasureType GetScaledValue (const ParametersType &parameters) const
 
virtual void GetScaledValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
 
void PrintSelf (std::ostream &os, Indent indent) const
 
 ScaledSingleValuedNonLinearOptimizer ()
 
virtual void SetCurrentPosition (const ParametersType &param)
 
virtual void SetScaledCurrentPosition (const ParametersType &parameters)
 
virtual ~ScaledSingleValuedNonLinearOptimizer ()
 

Protected Attributes

DerivativeType m_Gradient
 
double m_LearningRate
 
StopConditionType m_StopCondition
 
- Protected Attributes inherited from itk::ScaledSingleValuedNonLinearOptimizer
ScaledCostFunctionPointer m_ScaledCostFunction
 
ParametersType m_ScaledCurrentPosition
 

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

Definition at line 57 of file itkGradientDescentOptimizer2.h.

typedef Superclass::CostFunctionType itk::GradientDescentOptimizer2::CostFunctionType

Definition at line 69 of file itkGradientDescentOptimizer2.h.

Definition at line 68 of file itkGradientDescentOptimizer2.h.

typedef Superclass::MeasureType itk::GradientDescentOptimizer2::MeasureType

Typedefs inherited from the superclass.

Definition at line 63 of file itkGradientDescentOptimizer2.h.

typedef Superclass::ParametersType itk::GradientDescentOptimizer2::ParametersType

Definition at line 67 of file itkGradientDescentOptimizer2.h.

Definition at line 56 of file itkGradientDescentOptimizer2.h.

typedef Superclass::ScaledCostFunctionPointer itk::GradientDescentOptimizer2::ScaledCostFunctionPointer

Definition at line 72 of file itkGradientDescentOptimizer2.h.

typedef Superclass::ScaledCostFunctionType itk::GradientDescentOptimizer2::ScaledCostFunctionType

Definition at line 71 of file itkGradientDescentOptimizer2.h.

typedef Superclass::ScalesType itk::GradientDescentOptimizer2::ScalesType

Definition at line 70 of file itkGradientDescentOptimizer2.h.

Standard class typedefs.

Definition at line 54 of file itkGradientDescentOptimizer2.h.

Definition at line 55 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 

Definition at line 77 of file itkGradientDescentOptimizer2.h.

Constructor & Destructor Documentation

itk::GradientDescentOptimizer2::GradientDescentOptimizer2 ( )
protected
virtual itk::GradientDescentOptimizer2::~GradientDescentOptimizer2 ( )
inlineprotectedvirtual

Definition at line 126 of file itkGradientDescentOptimizer2.h.

itk::GradientDescentOptimizer2::GradientDescentOptimizer2 ( const Self )
private

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.

virtual const DerivativeType& itk::GradientDescentOptimizer2::GetGradient ( )
virtual

Get current gradient.

virtual const double& itk::GradientDescentOptimizer2::GetLearningRate ( )
virtual

Get the learning rate.

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

Get the number of iterations.

virtual const StopConditionType& itk::GradientDescentOptimizer2::GetStopCondition ( )
virtual

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 >.

static Pointer itk::GradientDescentOptimizer2::New ( )
static

Method for creation through the object factory.

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

unsigned long itk::GradientDescentOptimizer2::m_CurrentIteration
private

Definition at line 142 of file itkGradientDescentOptimizer2.h.

DerivativeType itk::GradientDescentOptimizer2::m_Gradient
protected

Definition at line 130 of file itkGradientDescentOptimizer2.h.

double itk::GradientDescentOptimizer2::m_LearningRate
protected

Definition at line 131 of file itkGradientDescentOptimizer2.h.

unsigned long itk::GradientDescentOptimizer2::m_NumberOfIterations
private

Definition at line 141 of file itkGradientDescentOptimizer2.h.

bool itk::GradientDescentOptimizer2::m_Stop
private

Definition at line 138 of file itkGradientDescentOptimizer2.h.

StopConditionType itk::GradientDescentOptimizer2::m_StopCondition
protected

Definition at line 132 of file itkGradientDescentOptimizer2.h.

double itk::GradientDescentOptimizer2::m_Value
private

Definition at line 139 of file itkGradientDescentOptimizer2.h.



Generated on 27-06-2013 for elastix by doxygen 1.8.3.1 elastix logo