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 = 2, ImageNotAvailable = 3, CostFunctionError = 4,
  MaximumNumberOfIterations = 5
}

Public Member Functions

virtual const char * GetNameOfClass () const
void StartOptimization (void)
void ResumeOptimization (void)
void StopOptimization (void)
virtual void SetMaximize (bool _arg)
virtual const 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 SetRelaxationFactor (double _arg)
virtual void SetNumberOfIterations (unsigned long _arg)
virtual void SetGradientMagnitudeTolerance (double _arg)
virtual const double & GetCurrentStepLength ()
virtual const double & GetMaximumStepLength ()
virtual const double & GetMinimumStepLength ()
virtual const double & GetRelaxationFactor ()
virtual const unsigned long & GetNumberOfIterations ()
virtual const double & GetGradientMagnitudeTolerance ()
virtual unsigned int GetCurrentIteration () const
virtual const StopConditionTypeGetStopCondition ()
virtual const MeasureTypeGetValue ()
virtual const DerivativeTypeGetGradient ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

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

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
double m_RelaxationFactor
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, itk::VersorRigid3DTransformOptimizer, 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, itk::VersorRigid3DTransformOptimizer, 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, itk::VersorRigid3DTransformOptimizer, and itk::VersorTransformOptimizer.

Definition at line 35 of file itkRegularStepGradientDescentBaseOptimizer.h.

typedef SingleValuedNonLinearOptimizer itk::RegularStepGradientDescentBaseOptimizer::Superclass
 

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Reimplemented in itk::RegularStepGradientDescentOptimizer, itk::VersorRigid3DTransformOptimizer, 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 
CostFunctionError 
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 103 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 unsigned int itk::RegularStepGradientDescentBaseOptimizer::GetCurrentIteration  )  const [virtual]
 

Set/Get parameters to control the optimization process.

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

Set/Get parameters to control the optimization process.

virtual const DerivativeType& itk::RegularStepGradientDescentBaseOptimizer::GetGradient  )  [virtual]
 

Set/Get parameters to control the optimization process.

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

Set/Get parameters to control the optimization process.

virtual const bool& itk::RegularStepGradientDescentBaseOptimizer::GetMaximize  )  [virtual]
 

Specify whether to minimize or maximize the cost function.

virtual const double& itk::RegularStepGradientDescentBaseOptimizer::GetMaximumStepLength  )  [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 const double& itk::RegularStepGradientDescentBaseOptimizer::GetMinimumStepLength  )  [virtual]
 

Set/Get parameters to control the optimization process.

virtual const char* itk::RegularStepGradientDescentBaseOptimizer::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::SingleValuedNonLinearOptimizer.

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

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

Set/Get parameters to control the optimization process.

virtual const double& itk::RegularStepGradientDescentBaseOptimizer::GetRelaxationFactor  )  [virtual]
 

Set/Get parameters to control the optimization process.

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

Set/Get parameters to control the optimization process.

virtual const MeasureType& itk::RegularStepGradientDescentBaseOptimizer::GetValue  )  [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, itk::VersorRigid3DTransformOptimizer, 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.

virtual void itk::RegularStepGradientDescentBaseOptimizer::SetRelaxationFactor double  _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  ,
const DerivativeType
[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, itk::VersorRigid3DTransformOptimizer, and itk::VersorTransformOptimizer.

Definition at line 116 of file itkRegularStepGradientDescentBaseOptimizer.h.

void itk::RegularStepGradientDescentBaseOptimizer::StopOptimization void   ) 
 

Stop optimization.

See also:
ResumeOptimization


Member Data Documentation

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

Definition at line 146 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_CurrentStepLength [protected]
 

Definition at line 142 of file itkRegularStepGradientDescentBaseOptimizer.h.

DerivativeType itk::RegularStepGradientDescentBaseOptimizer::m_Gradient [protected]
 

Definition at line 133 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_GradientMagnitudeTolerance [protected]
 

Definition at line 139 of file itkRegularStepGradientDescentBaseOptimizer.h.

bool itk::RegularStepGradientDescentBaseOptimizer::m_Maximize [protected]
 

Definition at line 137 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_MaximumStepLength [protected]
 

Definition at line 140 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_MinimumStepLength [protected]
 

Definition at line 141 of file itkRegularStepGradientDescentBaseOptimizer.h.

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

Definition at line 145 of file itkRegularStepGradientDescentBaseOptimizer.h.

DerivativeType itk::RegularStepGradientDescentBaseOptimizer::m_PreviousGradient [protected]
 

Definition at line 134 of file itkRegularStepGradientDescentBaseOptimizer.h.

double itk::RegularStepGradientDescentBaseOptimizer::m_RelaxationFactor [protected]
 

Definition at line 143 of file itkRegularStepGradientDescentBaseOptimizer.h.

bool itk::RegularStepGradientDescentBaseOptimizer::m_Stop [protected]
 

Definition at line 136 of file itkRegularStepGradientDescentBaseOptimizer.h.

StopConditionType itk::RegularStepGradientDescentBaseOptimizer::m_StopCondition [protected]
 

Definition at line 144 of file itkRegularStepGradientDescentBaseOptimizer.h.

MeasureType itk::RegularStepGradientDescentBaseOptimizer::m_Value [protected]
 

Definition at line 138 of file itkRegularStepGradientDescentBaseOptimizer.h.


The documentation for this class was generated from the following file:
Generated at Thu May 25 02:11:44 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000