Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::RegularStepGradientDescentBaseOptimizer Class Reference
[NumericsOptimizers]

Implement a gradient descent optimizer. More...

#include <itkRegularStepGradientDescentBaseOptimizer.h>

Inheritance diagram for itk::RegularStepGradientDescentBaseOptimizer:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef RegularStepGradientDescentBaseOptimizer Self
typedef SingleValuedNonLinearOptimizer Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
enum  StopConditionType {
  GradientMagnitudeTolerance = 1, StepTooSmall, ImageNotAvailable, SamplesNotAvailable,
  MaximumNumberOfIterations
}

Public Methods

virtual const char * GetClassName () const
void StartOptimization (void)
void ResumeOptimization (void)
void StopOptimization (void)
virtual void SetMaximize (bool _arg)
virtual bool GetMaximize ()
virtual void MaximizeOn ()
virtual void MaximizeOff ()
bool GetMinimize () const
void SetMinimize (bool v)
void MinimizeOn (void)
void MinimizeOff (void)
virtual void SetMaximumStepLength (double _arg)
virtual void SetMinimumStepLength (double _arg)
virtual void SetNumberOfIterations (unsigned long _arg)
virtual void SetGradientMagnitudeTolerance (double _arg)
virtual double GetCurrentStepLength () const
virtual double GetMaximumStepLength () const
virtual double GetMinimumStepLength () const
virtual unsigned long GetNumberOfIterations () const
virtual double GetGradientMagnitudeTolerance () const
virtual unsigned int GetCurrentIteration () const
virtual StopConditionType GetStopCondition () const
virtual MeasureType GetValue () const

Static Public Methods

Pointer New ()

Protected Methods

 RegularStepGradientDescentBaseOptimizer ()
virtual ~RegularStepGradientDescentBaseOptimizer ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual void AdvanceOneStep (void)
virtual void StepAlongGradient (double factor, const DerivativeType &transformedGradient)

Protected Attributes

DerivativeType m_Gradient
DerivativeType m_PreviousGradient
bool m_Stop
bool m_Maximize
MeasureType m_Value
double m_GradientMagnitudeTolerance
double m_MaximumStepLength
double m_MinimumStepLength
double m_CurrentStepLength
StopConditionType m_StopCondition
unsigned long m_NumberOfIterations
unsigned long m_CurrentIteration

Detailed Description

Implement a gradient descent optimizer.

Definition at line 30 of file itkRegularStepGradientDescentBaseOptimizer.h.


Member Typedef Documentation

typedef SmartPointer<const Self> itk::RegularStepGradientDescentBaseOptimizer::ConstPointer
 

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Reimplemented in itk::RegularStepGradientDescentOptimizer, and itk::VersorTransformOptimizer.

Definition at line 38 of file itkRegularStepGradientDescentBaseOptimizer.h.

typedef SmartPointer<Self> itk::RegularStepGradientDescentBaseOptimizer::Pointer
 

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Reimplemented in itk::RegularStepGradientDescentOptimizer, and itk::VersorTransformOptimizer.

Definition at line 37 of file itkRegularStepGradientDescentBaseOptimizer.h.

typedef RegularStepGradientDescentBaseOptimizer itk::RegularStepGradientDescentBaseOptimizer::Self
 

Standard "Self" typedef.

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Reimplemented in itk::RegularStepGradientDescentOptimizer, and itk::VersorTransformOptimizer.

Definition at line 35 of file itkRegularStepGradientDescentBaseOptimizer.h.

typedef SingleValuedNonLinearOptimizer itk::RegularStepGradientDescentBaseOptimizer::Superclass
 

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Reimplemented in itk::RegularStepGradientDescentOptimizer, and itk::VersorTransformOptimizer.

Definition at line 36 of file itkRegularStepGradientDescentBaseOptimizer.h.


Member Enumeration Documentation

enum itk::RegularStepGradientDescentBaseOptimizer::StopConditionType
 

Codes of stopping conditions.

Enumeration values:
GradientMagnitudeTolerance 
StepTooSmall 
ImageNotAvailable 
SamplesNotAvailable 
MaximumNumberOfIterations 

Definition at line 49 of file itkRegularStepGradientDescentBaseOptimizer.h.


Constructor & Destructor Documentation

itk::RegularStepGradientDescentBaseOptimizer::RegularStepGradientDescentBaseOptimizer   [protected]
 

virtual itk::RegularStepGradientDescentBaseOptimizer::~RegularStepGradientDescentBaseOptimizer   [inline, protected, virtual]
 

Definition at line 100 of file itkRegularStepGradientDescentBaseOptimizer.h.


Member Function Documentation

virtual void itk::RegularStepGradientDescentBaseOptimizer::AdvanceOneStep void    [protected, virtual]
 

Advance one step following the gradient direction This method verifies if a change in direction is required and if a reduction in steplength is required.

virtual const char* itk::RegularStepGradientDescentBaseOptimizer::GetClassName   const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Reimplemented in itk::RegularStepGradientDescentOptimizer, and itk::VersorTransformOptimizer.

virtual unsigned int itk::RegularStepGradientDescentBaseOptimizer::GetCurrentIteration   const [virtual]
 

Set/Get parameters to control the optimization process.

virtual double itk::RegularStepGradientDescentBaseOptimizer::GetCurrentStepLength   const [virtual]
 

Set/Get parameters to control the optimization process.

virtual double itk::RegularStepGradientDescentBaseOptimizer::GetGradientMagnitudeTolerance   const [virtual]
 

Set/Get parameters to control the optimization process.

virtual bool itk::RegularStepGradientDescentBaseOptimizer::GetMaximize   [virtual]
 

Specify whether to minimize or maximize the cost function.

virtual double itk::RegularStepGradientDescentBaseOptimizer::GetMaximumStepLength   const [virtual]
 

Set/Get parameters to control the optimization process.

bool itk::RegularStepGradientDescentBaseOptimizer::GetMinimize   const [inline]
 

Specify whether to minimize or maximize the cost function.

Definition at line 61 of file itkRegularStepGradientDescentBaseOptimizer.h.

virtual double itk::RegularStepGradientDescentBaseOptimizer::GetMinimumStepLength   const [virtual]
 

Set/Get parameters to control the optimization process.

virtual unsigned long itk::RegularStepGradientDescentBaseOptimizer::GetNumberOfIterations   const [virtual]
 

Set/Get parameters to control the optimization process.

virtual StopConditionType itk::RegularStepGradientDescentBaseOptimizer::GetStopCondition   const [virtual]
 

Set/Get parameters to control the optimization process.

virtual MeasureType itk::RegularStepGradientDescentBaseOptimizer::GetValue   const [virtual]
 

Set/Get parameters to control the optimization process.

virtual void itk::RegularStepGradientDescentBaseOptimizer::MaximizeOff   [virtual]
 

Specify whether to minimize or maximize the cost function.

virtual void itk::RegularStepGradientDescentBaseOptimizer::MaximizeOn   [virtual]
 

Specify whether to minimize or maximize the cost function.

void itk::RegularStepGradientDescentBaseOptimizer::MinimizeOff void    [inline]
 

Specify whether to minimize or maximize the cost function.

Definition at line 67 of file itkRegularStepGradientDescentBaseOptimizer.h.

void itk::RegularStepGradientDescentBaseOptimizer::MinimizeOn void    [inline]
 

Specify whether to minimize or maximize the cost function.

Definition at line 65 of file itkRegularStepGradientDescentBaseOptimizer.h.

Pointer itk::RegularStepGradientDescentBaseOptimizer::New   [static]
 

Method for creation through the object factory.

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Reimplemented in itk::RegularStepGradientDescentOptimizer, and itk::VersorTransformOptimizer.

void itk::RegularStepGradientDescentBaseOptimizer::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::SingleValuedNonLinearOptimizer.

void itk::RegularStepGradientDescentBaseOptimizer::ResumeOptimization void   
 

Resume previously stopped optimization with current parameters.

See also:
StopOptimization

virtual void itk::RegularStepGradientDescentBaseOptimizer::SetGradientMagnitudeTolerance double    _arg [virtual]
 

Set/Get parameters to control the optimization process.

virtual void itk::RegularStepGradientDescentBaseOptimizer::SetMaximize bool    _arg [virtual]
 

Specify whether to minimize or maximize the cost function.

virtual void itk::RegularStepGradientDescentBaseOptimizer::SetMaximumStepLength double    _arg [virtual]
 

Set/Get parameters to control the optimization process.

void itk::RegularStepGradientDescentBaseOptimizer::SetMinimize bool    v [inline]
 

Specify whether to minimize or maximize the cost function.

Definition at line 63 of file itkRegularStepGradientDescentBaseOptimizer.h.

virtual void itk::RegularStepGradientDescentBaseOptimizer::SetMinimumStepLength double    _arg [virtual]
 

Set/Get parameters to control the optimization process.

virtual void itk::RegularStepGradientDescentBaseOptimizer::SetNumberOfIterations unsigned long    _arg [virtual]
 

Set/Get parameters to control the optimization process.

void itk::RegularStepGradientDescentBaseOptimizer::StartOptimization void    [virtual]
 

Start optimization.

Reimplemented from itk::Optimizer.

virtual void itk::RegularStepGradientDescentBaseOptimizer::StepAlongGradient double    factor,
const DerivativeType   transformedGradient
[inline, protected, virtual]
 

Advance one step along the corrected gradient taking into account the steplength represented by factor. This method is invoked by AdvanceOneStep. It is expected to be overrided by optimization methods in non-vector spaces

See also:
AdvanceOneStep

Reimplemented in itk::RegularStepGradientDescentOptimizer, and itk::VersorTransformOptimizer.

Definition at line 113 of file itkRegularStepGradientDescentBaseOptimizer.h.

References itk::DerivativeType, itk::ExceptionObject::SetDescription(), and itk::ExceptionObject::SetLocation().

void itk::RegularStepGradientDescentBaseOptimizer::StopOptimization void   
 

Stop optimization.

See also:
ResumeOptimization


Member Data Documentation

unsigned long itk::RegularStepGradientDescentBaseOptimizer::m_CurrentIteration [protected]
 

Definition at line 142 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_CurrentStepLength [protected]
 

Definition at line 139 of file itkRegularStepGradientDescentBaseOptimizer.h.

DerivativeType itk::RegularStepGradientDescentBaseOptimizer::m_Gradient [protected]
 

Definition at line 130 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_GradientMagnitudeTolerance [protected]
 

Definition at line 136 of file itkRegularStepGradientDescentBaseOptimizer.h.

bool itk::RegularStepGradientDescentBaseOptimizer::m_Maximize [protected]
 

Definition at line 134 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_MaximumStepLength [protected]
 

Definition at line 137 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_MinimumStepLength [protected]
 

Definition at line 138 of file itkRegularStepGradientDescentBaseOptimizer.h.

unsigned long itk::RegularStepGradientDescentBaseOptimizer::m_NumberOfIterations [protected]
 

Definition at line 141 of file itkRegularStepGradientDescentBaseOptimizer.h.

DerivativeType itk::RegularStepGradientDescentBaseOptimizer::m_PreviousGradient [protected]
 

Definition at line 131 of file itkRegularStepGradientDescentBaseOptimizer.h.

bool itk::RegularStepGradientDescentBaseOptimizer::m_Stop [protected]
 

Definition at line 133 of file itkRegularStepGradientDescentBaseOptimizer.h.

StopConditionType itk::RegularStepGradientDescentBaseOptimizer::m_StopCondition [protected]
 

Definition at line 140 of file itkRegularStepGradientDescentBaseOptimizer.h.

MeasureType itk::RegularStepGradientDescentBaseOptimizer::m_Value [protected]
 

Definition at line 135 of file itkRegularStepGradientDescentBaseOptimizer.h.


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:14:39 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000