FREE::AmoebaSOOptimizer Class Reference
[Setup optimization optimizer]

#include <freAmoebaSOOptimizer.h>

Inheritance diagram for FREE::AmoebaSOOptimizer:

Inheritance graph
FREE::LimitedAxisAmoebaSOOptimizerFREE::VnlSetupOptimizationOptimizerFREE::SetupOptimizationOptimizer
[legend]
Collaboration diagram for FREE::AmoebaSOOptimizer:

Collaboration graph
FREE::VnlSetupOptimizationOptimizerFREE::SetupOptimizationOptimizerFREE::SingleValuedVnlSOMetricAdaptor
[legend]

List of all members.

Public Types

typedef AmoebaSOOptimizer Self
typedef
VnlSetupOptimizationOptimizer 
Superclass
typedef
itk::SmartPointer
< Self
Pointer
typedef
itk::SmartPointer
< const Self
ConstPointer
typedef vnl_vector
< double > 
InternalParametersType
typedef vnl_amoeba InternalOptimizerType
typedef itk::Array
< double > 
InitialAxisDeltasType

Public Member Functions

virtual const char * GetNameOfClass () const
virtual
::itk::LightObject::Pointer 
CreateAnother (void) const
vnl_amoeba * GetOptimizer (void)
virtual void SetMaximumNumberOfIterations (unsigned int n)
virtual unsigned int GetMaximumNumberOfIterations ()
virtual void SetAutomaticInitialSimplex (const bool _arg)
virtual void AutomaticInitialSimplexOn ()
virtual void AutomaticInitialSimplexOff ()
virtual bool GetAutomaticInitialSimplex ()
virtual void SetInitialSimplexDelta (const InitialAxisDeltasType _arg)
virtual
InitialAxisDeltasType 
GetInitialSimplexDelta ()
virtual void SetParametersConvergenceTolerance (double tol)
virtual double GetParametersConvergenceTolerance ()
virtual void SetFunctionConvergenceTolerance (double tol)
virtual double GetFunctionConvergenceTolerance ()
virtual void StartOptimization (void)
virtual MeasureType GetValue (const ParametersType &parameters)
virtual
DecomposedMeasureType 
GetDecomposedValue (const ParametersType &parameters)
virtual void SetCostFunction (CostFunctionType *costFunction)

Static Public Member Functions

static Pointer New (void)

Protected Member Functions

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

Protected Attributes

bool m_OptimizerInitialized
InternalOptimizerTypem_VnlOptimizer
unsigned int m_MaximumNumberOfIterations
double m_ParametersConvergenceTolerance
double m_FunctionConvergenceTolerance
bool m_AutomaticInitialSimplex
InitialAxisDeltasType m_InitialSimplexDelta

Private Member Functions

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


Detailed Description

Definition at line 36 of file freAmoebaSOOptimizer.h.


Member Typedef Documentation

typedef AmoebaSOOptimizer FREE::AmoebaSOOptimizer::Self

Standard "Self" typedef.

Reimplemented from FREE::VnlSetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 41 of file freAmoebaSOOptimizer.h.

typedef VnlSetupOptimizationOptimizer FREE::AmoebaSOOptimizer::Superclass

Reimplemented from FREE::VnlSetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 42 of file freAmoebaSOOptimizer.h.

typedef itk::SmartPointer<Self> FREE::AmoebaSOOptimizer::Pointer

Reimplemented from FREE::VnlSetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 43 of file freAmoebaSOOptimizer.h.

typedef itk::SmartPointer<const Self> FREE::AmoebaSOOptimizer::ConstPointer

Reimplemented from FREE::VnlSetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 44 of file freAmoebaSOOptimizer.h.

typedef vnl_vector<double> FREE::AmoebaSOOptimizer::InternalParametersType

InternalParameters typedef.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 50 of file freAmoebaSOOptimizer.h.

typedef vnl_amoeba FREE::AmoebaSOOptimizer::InternalOptimizerType

Internal optimizer type.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 56 of file freAmoebaSOOptimizer.h.

typedef itk::Array< double > FREE::AmoebaSOOptimizer::InitialAxisDeltasType

Definition at line 61 of file freAmoebaSOOptimizer.h.


Constructor & Destructor Documentation

FREE::AmoebaSOOptimizer::AmoebaSOOptimizer (  )  [protected]

Definition at line 27 of file freAmoebaSOOptimizer.cxx.

FREE::AmoebaSOOptimizer::~AmoebaSOOptimizer (  )  [protected, virtual]

Definition at line 40 of file freAmoebaSOOptimizer.cxx.

FREE::AmoebaSOOptimizer::AmoebaSOOptimizer ( const Self  )  [private]


Member Function Documentation

virtual const char* FREE::AmoebaSOOptimizer::GetNameOfClass (  )  const [inline, virtual]

Run-time type information (and related methods).

Reimplemented from FREE::VnlSetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 47 of file freAmoebaSOOptimizer.h.

static Pointer FREE::AmoebaSOOptimizer::New ( void   )  [inline, static]

Method for creation through the object factory.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 50 of file freAmoebaSOOptimizer.h.

virtual ::itk::LightObject::Pointer FREE::AmoebaSOOptimizer::CreateAnother ( void   )  const [inline, virtual]

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 50 of file freAmoebaSOOptimizer.h.

vnl_amoeba * FREE::AmoebaSOOptimizer::GetOptimizer ( void   ) 

Method for getting access to the internal optimizer.

Definition at line 234 of file freAmoebaSOOptimizer.cxx.

void FREE::AmoebaSOOptimizer::SetMaximumNumberOfIterations ( unsigned int  n  )  [virtual]

Set/Get the maximum number of iterations. The optimization algorithm will terminate after the maximum number of iterations has been reached. The default value is 500.

Definition at line 89 of file freAmoebaSOOptimizer.cxx.

virtual unsigned int FREE::AmoebaSOOptimizer::GetMaximumNumberOfIterations (  )  [inline, virtual]

Definition at line 67 of file freAmoebaSOOptimizer.h.

virtual void FREE::AmoebaSOOptimizer::SetAutomaticInitialSimplex ( const bool  _arg  )  [inline, virtual]

Set/Get the mode which determines how the amoeba algorithm defines the initial simplex. Default is AutomaticInitialSimplexOn. If AutomaticInitialSimplex is on, the initial simplex is created with a default size. If AutomaticInitialSimplex is off, then InitialSimplexDelta will be used to define the initial simplex, setting the ith corner of the simplex as [x0[0], x0[1], ..., x0[i]+InitialSimplexDelta[i], ..., x0[d-1]].

Definition at line 77 of file freAmoebaSOOptimizer.h.

virtual void FREE::AmoebaSOOptimizer::AutomaticInitialSimplexOn (  )  [inline, virtual]

Definition at line 78 of file freAmoebaSOOptimizer.h.

virtual void FREE::AmoebaSOOptimizer::AutomaticInitialSimplexOff (  )  [inline, virtual]

Definition at line 78 of file freAmoebaSOOptimizer.h.

virtual bool FREE::AmoebaSOOptimizer::GetAutomaticInitialSimplex (  )  [inline, virtual]

Definition at line 79 of file freAmoebaSOOptimizer.h.

virtual void FREE::AmoebaSOOptimizer::SetInitialSimplexDelta ( const InitialAxisDeltasType  _arg  )  [inline, virtual]

Set/Get the deltas that are used to define the initial simplex when AutomaticInitialSimplex is off.

Definition at line 83 of file freAmoebaSOOptimizer.h.

virtual InitialAxisDeltasType FREE::AmoebaSOOptimizer::GetInitialSimplexDelta (  )  [inline, virtual]

Definition at line 84 of file freAmoebaSOOptimizer.h.

void FREE::AmoebaSOOptimizer::SetParametersConvergenceTolerance ( double  tol  )  [virtual]

The optimization algorithm will terminate when the simplex diameter and the difference in cost function at the corners of the simplex falls below user specified thresholds. The simplex diameter threshold is set via method SetParametersConvergenceTolerance() with the default value being 1e-8. The cost function convergence threshold is set via method SetFunctionConvergenceTolerance() with the default value being 1e-4.

Definition at line 106 of file freAmoebaSOOptimizer.cxx.

virtual double FREE::AmoebaSOOptimizer::GetParametersConvergenceTolerance (  )  [inline, virtual]

Definition at line 95 of file freAmoebaSOOptimizer.h.

void FREE::AmoebaSOOptimizer::SetFunctionConvergenceTolerance ( double  tol  )  [virtual]

Definition at line 124 of file freAmoebaSOOptimizer.cxx.

virtual double FREE::AmoebaSOOptimizer::GetFunctionConvergenceTolerance (  )  [inline, virtual]

Definition at line 97 of file freAmoebaSOOptimizer.h.

void FREE::AmoebaSOOptimizer::StartOptimization ( void   )  [virtual]

Implements FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 172 of file freAmoebaSOOptimizer.cxx.

AmoebaSOOptimizer::MeasureType FREE::AmoebaSOOptimizer::GetValue ( const ParametersType &  parameters  )  [virtual]

Reimplemented from FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 65 of file freAmoebaSOOptimizer.cxx.

AmoebaSOOptimizer::DecomposedMeasureType FREE::AmoebaSOOptimizer::GetDecomposedValue ( const ParametersType &  parameters  )  [virtual]

Reimplemented from FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 81 of file freAmoebaSOOptimizer.cxx.

void FREE::AmoebaSOOptimizer::SetCostFunction ( CostFunctionType costFunction  )  [virtual]

Implements FREE::VnlSetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 142 of file freAmoebaSOOptimizer.cxx.

References FREE::SetupOptimizationMetric::GetNumberOfParameters(), FREE::SetupOptimizationOptimizer::m_CostFunction, m_FunctionConvergenceTolerance, m_MaximumNumberOfIterations, m_OptimizerInitialized, m_ParametersConvergenceTolerance, m_VnlOptimizer, FREE::SingleValuedVnlSOMetricAdaptor::SetCostFunction(), and FREE::VnlSetupOptimizationOptimizer::SetCostFunctionAdaptor().

Here is the call graph for this function:

FREE::SetupOptimizationMetric::GetNumberOfParametersFREE::SingleValuedVnlSOMetricAdaptor::SetCostFunctionFREE::VnlSetupOptimizationOptimizer::SetCostFunctionAdaptorFREE::SingleValuedVnlSOMetricAdaptor::AddObserver

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

Reimplemented from FREE::VnlSetupOptimizationOptimizer.

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 47 of file freAmoebaSOOptimizer.cxx.

void FREE::AmoebaSOOptimizer::operator= ( const Self  )  [private]

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.


Member Data Documentation

bool FREE::AmoebaSOOptimizer::m_OptimizerInitialized [protected]

Definition at line 116 of file freAmoebaSOOptimizer.h.

Referenced by FREE::LimitedAxisAmoebaSOOptimizer::SetCostFunction(), and SetCostFunction().

InternalOptimizerType* FREE::AmoebaSOOptimizer::m_VnlOptimizer [protected]

Definition at line 117 of file freAmoebaSOOptimizer.h.

Referenced by FREE::LimitedAxisAmoebaSOOptimizer::SetCostFunction(), and SetCostFunction().

unsigned int FREE::AmoebaSOOptimizer::m_MaximumNumberOfIterations [protected]

Definition at line 118 of file freAmoebaSOOptimizer.h.

Referenced by FREE::LimitedAxisAmoebaSOOptimizer::SetCostFunction(), and SetCostFunction().

double FREE::AmoebaSOOptimizer::m_ParametersConvergenceTolerance [protected]

Definition at line 119 of file freAmoebaSOOptimizer.h.

Referenced by FREE::LimitedAxisAmoebaSOOptimizer::SetCostFunction(), and SetCostFunction().

double FREE::AmoebaSOOptimizer::m_FunctionConvergenceTolerance [protected]

Definition at line 120 of file freAmoebaSOOptimizer.h.

Referenced by FREE::LimitedAxisAmoebaSOOptimizer::SetCostFunction(), and SetCostFunction().

bool FREE::AmoebaSOOptimizer::m_AutomaticInitialSimplex [protected]

Definition at line 122 of file freAmoebaSOOptimizer.h.

InitialAxisDeltasType FREE::AmoebaSOOptimizer::m_InitialSimplexDelta [protected]

Definition at line 123 of file freAmoebaSOOptimizer.h.


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