itk::ContinuousLBFGSOptimizer Class Reference

Wrap of the vnl_lbfgs algorithm This component is simelar to the original itk::LBFGSOptimizer. But in difference to the orignial version no exception will be thrown if the vnl_lbfgs algorithm detects an error in the very beginning of the optimization process. This would cause an exception in itkLBFGSOptimizer.cxx:265. This version of the wrapper stores the error, but allways has a result, at least the initial position. More...

#include <itkContinuousLBFGSOptimizer.h>

List of all members.

Public Types

typedef
ContinuousLBFGSOptimizer 
Self
typedef
SingleValuedNonLinearVnlOptimizer 
Superclass
typedef SmartPointer
< Self
Pointer
typedef SmartPointer
< const Self
ConstPointer
typedef vnl_vector
< double > 
InternalParametersType
typedef vnl_lbfgs InternalOptimizerType

Public Member Functions

 itkNewMacro (Self)
 itkTypeMacro (ContinuousLBFGSOptimizer, SingleValuedNonLinearVnlOptimizer)
vnl_lbfgs * GetOptimizer (void)
void StartOptimization (void)
virtual void SetCostFunction (SingleValuedCostFunction *costFunction)
 itkGetMacro (ErrorOccurred, bool)
virtual void SetTrace (bool flag)
 itkGetMacro (Trace, bool)
 itkBooleanMacro (Trace)
virtual void SetMaximumNumberOfFunctionEvaluations (unsigned int n)
 itkGetMacro (MaximumNumberOfFunctionEvaluations, unsigned int)
virtual void SetGradientConvergenceTolerance (double gtol)
 itkGetMacro (GradientConvergenceTolerance, double)
virtual void SetLineSearchAccuracy (double tol)
 itkGetMacro (LineSearchAccuracy, double)
virtual void SetDefaultStepLength (double stp)
 itkGetMacro (DefaultStepLength, double)
MeasureType GetValue ()

Protected Types

typedef
Superclass::CostFunctionAdaptorType 
CostFunctionAdaptorType

Protected Member Functions

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

Private Member Functions

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

Private Attributes

bool m_OptimizerInitialized
InternalOptimizerTypem_VnlOptimizer
bool m_Trace
unsigned int m_MaximumNumberOfFunctionEvaluations
double m_GradientConvergenceTolerance
double m_LineSearchAccuracy
double m_DefaultStepLength
bool m_ErrorOccurred


Detailed Description

Wrap of the vnl_lbfgs algorithm This component is simelar to the original itk::LBFGSOptimizer. But in difference to the orignial version no exception will be thrown if the vnl_lbfgs algorithm detects an error in the very beginning of the optimization process. This would cause an exception in itkLBFGSOptimizer.cxx:265. This version of the wrapper stores the error, but allways has a result, at least the initial position.

Definition at line 35 of file itkContinuousLBFGSOptimizer.h.


Member Typedef Documentation

typedef ContinuousLBFGSOptimizer itk::ContinuousLBFGSOptimizer::Self

Standard "Self" typedef.

Definition at line 40 of file itkContinuousLBFGSOptimizer.h.

typedef SingleValuedNonLinearVnlOptimizer itk::ContinuousLBFGSOptimizer::Superclass

Definition at line 41 of file itkContinuousLBFGSOptimizer.h.

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

Definition at line 42 of file itkContinuousLBFGSOptimizer.h.

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

Definition at line 43 of file itkContinuousLBFGSOptimizer.h.

typedef vnl_vector<double> itk::ContinuousLBFGSOptimizer::InternalParametersType

InternalParameters typedef.

Definition at line 52 of file itkContinuousLBFGSOptimizer.h.

typedef vnl_lbfgs itk::ContinuousLBFGSOptimizer::InternalOptimizerType

Internal optimizer type.

Definition at line 55 of file itkContinuousLBFGSOptimizer.h.

typedef Superclass::CostFunctionAdaptorType itk::ContinuousLBFGSOptimizer::CostFunctionAdaptorType [protected]

Definition at line 111 of file itkContinuousLBFGSOptimizer.h.


Constructor & Destructor Documentation

itk::ContinuousLBFGSOptimizer::ContinuousLBFGSOptimizer (  )  [protected]

Constructor

Definition at line 29 of file itkContinuousLBFGSOptimizer.cxx.

itk::ContinuousLBFGSOptimizer::~ContinuousLBFGSOptimizer (  )  [protected, virtual]

Destructor

Definition at line 46 of file itkContinuousLBFGSOptimizer.cxx.

itk::ContinuousLBFGSOptimizer::ContinuousLBFGSOptimizer ( const Self  )  [private]


Member Function Documentation

itk::ContinuousLBFGSOptimizer::itkNewMacro ( Self   ) 

Method for creation through the object factory.

itk::ContinuousLBFGSOptimizer::itkTypeMacro ( ContinuousLBFGSOptimizer  ,
SingleValuedNonLinearVnlOptimizer   
)

Run-time type information (and related methods).

vnl_lbfgs * itk::ContinuousLBFGSOptimizer::GetOptimizer ( void   ) 

Method for getting access to the internal optimizer.

Get the Optimizer

Definition at line 294 of file itkContinuousLBFGSOptimizer.cxx.

void itk::ContinuousLBFGSOptimizer::StartOptimization ( void   ) 

Start optimization with an initial value.

Start the optimization

Definition at line 232 of file itkContinuousLBFGSOptimizer.cxx.

void itk::ContinuousLBFGSOptimizer::SetCostFunction ( SingleValuedCostFunction *  costFunction  )  [virtual]

Plug in a Cost Function into the optimizer

Connect a Cost Function

Definition at line 194 of file itkContinuousLBFGSOptimizer.cxx.

itk::ContinuousLBFGSOptimizer::itkGetMacro ( ErrorOccurred  ,
bool   
)

void itk::ContinuousLBFGSOptimizer::SetTrace ( bool  flag  )  [virtual]

Set/Get the optimizer trace flag. If set to true, the optimizer prints out information every iteration.

Set the optimizer trace flag

Definition at line 80 of file itkContinuousLBFGSOptimizer.cxx.

Referenced by FREE::ContinuousLBFGSOptimizerController::ActualizeMainComponent().

itk::ContinuousLBFGSOptimizer::itkGetMacro ( Trace  ,
bool   
)

itk::ContinuousLBFGSOptimizer::itkBooleanMacro ( Trace   ) 

void itk::ContinuousLBFGSOptimizer::SetMaximumNumberOfFunctionEvaluations ( unsigned int  n  )  [virtual]

Set/Get the maximum number of function evaluations allowed.

Set the maximum number of function evalutions

Definition at line 101 of file itkContinuousLBFGSOptimizer.cxx.

Referenced by FREE::ContinuousLBFGSOptimizerController::ActualizeMainComponent().

itk::ContinuousLBFGSOptimizer::itkGetMacro ( MaximumNumberOfFunctionEvaluations  ,
unsigned  int 
)

void itk::ContinuousLBFGSOptimizer::SetGradientConvergenceTolerance ( double  f  )  [virtual]

Set/Get the gradient convergence tolerance. This is a positive real number that determines the accuracy with which the solution is to be found. The optimization terminates when: ||G|| < gtol max(1,||X||) where ||.|| denotes the Euclidean norm.

Set the gradient convergence tolerance

Definition at line 123 of file itkContinuousLBFGSOptimizer.cxx.

Referenced by FREE::ContinuousLBFGSOptimizerController::ActualizeMainComponent().

itk::ContinuousLBFGSOptimizer::itkGetMacro ( GradientConvergenceTolerance  ,
double   
)

void itk::ContinuousLBFGSOptimizer::SetLineSearchAccuracy ( double  f  )  [virtual]

Set/Get the line search accuracy. This is a positive real number with a default value of 0.9, which controls the accuracy of the line search. If the function and gradient evalutions are inexpensive with respect to the cost of the iterations it may be advantageous to set the value to a small value (say 0.1).

Set the line search accuracy

Definition at line 144 of file itkContinuousLBFGSOptimizer.cxx.

Referenced by FREE::ContinuousLBFGSOptimizerController::ActualizeMainComponent().

itk::ContinuousLBFGSOptimizer::itkGetMacro ( LineSearchAccuracy  ,
double   
)

void itk::ContinuousLBFGSOptimizer::SetDefaultStepLength ( double  f  )  [virtual]

Set/Get the default step size. This is a positive real number with a default value of 1.0 which determines the stpe size in the line search.

Set the default step length

Definition at line 165 of file itkContinuousLBFGSOptimizer.cxx.

Referenced by FREE::ContinuousLBFGSOptimizerController::ActualizeMainComponent().

itk::ContinuousLBFGSOptimizer::itkGetMacro ( DefaultStepLength  ,
double   
)

ContinuousLBFGSOptimizer::MeasureType itk::ContinuousLBFGSOptimizer::GetValue (  ) 

Return Current Value

Definition at line 184 of file itkContinuousLBFGSOptimizer.cxx.

void itk::ContinuousLBFGSOptimizer::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected]

PrintSelf

Definition at line 56 of file itkContinuousLBFGSOptimizer.cxx.

void itk::ContinuousLBFGSOptimizer::operator= ( const Self  )  [private]


Member Data Documentation

bool itk::ContinuousLBFGSOptimizer::m_OptimizerInitialized [private]

Definition at line 117 of file itkContinuousLBFGSOptimizer.h.

InternalOptimizerType* itk::ContinuousLBFGSOptimizer::m_VnlOptimizer [private]

Definition at line 118 of file itkContinuousLBFGSOptimizer.h.

bool itk::ContinuousLBFGSOptimizer::m_Trace [private]

Definition at line 120 of file itkContinuousLBFGSOptimizer.h.

unsigned int itk::ContinuousLBFGSOptimizer::m_MaximumNumberOfFunctionEvaluations [private]

Definition at line 121 of file itkContinuousLBFGSOptimizer.h.

double itk::ContinuousLBFGSOptimizer::m_GradientConvergenceTolerance [private]

Definition at line 122 of file itkContinuousLBFGSOptimizer.h.

double itk::ContinuousLBFGSOptimizer::m_LineSearchAccuracy [private]

Definition at line 123 of file itkContinuousLBFGSOptimizer.h.

double itk::ContinuousLBFGSOptimizer::m_DefaultStepLength [private]

Definition at line 124 of file itkContinuousLBFGSOptimizer.h.

bool itk::ContinuousLBFGSOptimizer::m_ErrorOccurred [private]

Definition at line 125 of file itkContinuousLBFGSOptimizer.h.


The documentation for this class was generated from the following files:
Generated at Sat Oct 13 18:29:52 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000