FREE::VnlSetupOptimizationOptimizer Class Reference
[Setup optimization optimizer]

#include <freVnlSetupOptimizationOptimizer.h>

Inheritance diagram for FREE::VnlSetupOptimizationOptimizer:

Inheritance graph
FREE::AmoebaSOOptimizerFREE::SetupOptimizationOptimizerFREE::LimitedAxisAmoebaSOOptimizer
[legend]
Collaboration diagram for FREE::VnlSetupOptimizationOptimizer:

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

List of all members.

Public Types

typedef
VnlSetupOptimizationOptimizer 
Self
typedef
SetupOptimizationOptimizer 
Superclass
typedef
itk::SmartPointer
< Self
Pointer
typedef
itk::SmartPointer
< const Self
ConstPointer
typedef
Superclass::CostFunctionType 
CostFunctionType
typedef
CostFunctionType::Pointer 
CostFunctionPointer
typedef
Superclass::MeasureType 
MeasureType
typedef itk::Array
< double > 
DerivativeType
typedef
Superclass::DecomposedMeasureType 
DecomposedMeasureType
typedef
itk::ReceptorMemberCommand
< Self
CommandType

Public Member Functions

virtual const char * GetNameOfClass () const
virtual const bool & GetMaximize () const
virtual void SetMaximize (const bool _arg)
virtual void MaximizeOn ()
virtual void MaximizeOff ()
bool GetMinimize () const
void SetMinimize (bool v)
void MinimizeOn ()
void MinimizeOff ()
virtual const
MeasureType
GetCachedValue () const
virtual const
DerivativeType
GetCachedDerivative () const
virtual const
ParametersType & 
GetCachedCurrentPosition () const
virtual void SetCostFunction (CostFunctionType *costFunction)=0

Protected Types

typedef
SingleValuedVnlSOMetricAdaptor 
CostFunctionAdaptorType

Protected Member Functions

 VnlSetupOptimizationOptimizer ()
virtual ~VnlSetupOptimizationOptimizer ()
void PrintSelf (std::ostream &os, itk::Indent indent) const
void SetCostFunctionAdaptor (CostFunctionAdaptorType *adaptor)
const
CostFunctionAdaptorType
GetCostFunctionAdaptor (void) const
CostFunctionAdaptorTypeGetCostFunctionAdaptor (void)
CostFunctionAdaptorTypeGetNonConstCostFunctionAdaptor (void) const

Private Member Functions

 VnlSetupOptimizationOptimizer (const Self &)
void operator= (const Self &)
void IterationReport (const itk::EventObject &event)

Private Attributes

CostFunctionAdaptorTypem_CostFunctionAdaptor
bool m_Maximize
CommandType::Pointer m_Command
ParametersType m_CachedCurrentPosition
MeasureType m_CachedValue
DerivativeType m_CachedDerivative


Detailed Description

Definition at line 35 of file freVnlSetupOptimizationOptimizer.h.


Member Typedef Documentation

typedef VnlSetupOptimizationOptimizer FREE::VnlSetupOptimizationOptimizer::Self

Standard "Self" typedef.

Reimplemented from FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::AmoebaSOOptimizer, and FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 40 of file freVnlSetupOptimizationOptimizer.h.

typedef SetupOptimizationOptimizer FREE::VnlSetupOptimizationOptimizer::Superclass

Reimplemented from FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::AmoebaSOOptimizer, and FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 41 of file freVnlSetupOptimizationOptimizer.h.

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

Reimplemented from FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::AmoebaSOOptimizer, and FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 42 of file freVnlSetupOptimizationOptimizer.h.

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

Reimplemented from FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::AmoebaSOOptimizer, and FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 43 of file freVnlSetupOptimizationOptimizer.h.

typedef Superclass::CostFunctionType FREE::VnlSetupOptimizationOptimizer::CostFunctionType

Reimplemented from FREE::SetupOptimizationOptimizer.

Definition at line 45 of file freVnlSetupOptimizationOptimizer.h.

typedef CostFunctionType::Pointer FREE::VnlSetupOptimizationOptimizer::CostFunctionPointer

Reimplemented from FREE::SetupOptimizationOptimizer.

Definition at line 46 of file freVnlSetupOptimizationOptimizer.h.

typedef Superclass::MeasureType FREE::VnlSetupOptimizationOptimizer::MeasureType

Reimplemented from FREE::SetupOptimizationOptimizer.

Definition at line 48 of file freVnlSetupOptimizationOptimizer.h.

typedef itk::Array< double > FREE::VnlSetupOptimizationOptimizer::DerivativeType

Definition at line 49 of file freVnlSetupOptimizationOptimizer.h.

typedef Superclass::DecomposedMeasureType FREE::VnlSetupOptimizationOptimizer::DecomposedMeasureType

Reimplemented from FREE::SetupOptimizationOptimizer.

Definition at line 50 of file freVnlSetupOptimizationOptimizer.h.

typedef itk::ReceptorMemberCommand< Self > FREE::VnlSetupOptimizationOptimizer::CommandType

Command observer that will interact with the ITK-VNL cost-function adaptor in order to generate iteration events. This will allow to overcome the limitation of VNL optimizers not offering callbacks for every iteration

Definition at line 53 of file freVnlSetupOptimizationOptimizer.h.

typedef SingleValuedVnlSOMetricAdaptor FREE::VnlSetupOptimizationOptimizer::CostFunctionAdaptorType [protected]

Reimplemented in FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 95 of file freVnlSetupOptimizationOptimizer.h.


Constructor & Destructor Documentation

FREE::VnlSetupOptimizationOptimizer::VnlSetupOptimizationOptimizer (  )  [protected]

Constructor

Definition at line 30 of file freVnlSetupOptimizationOptimizer.cxx.

References IterationReport().

Here is the call graph for this function:

FREE::VnlSetupOptimizationOptimizer::IterationReportFREE::SingleValuedVnlSOMetricAdaptor::GetCachedCurrentParametersFREE::SingleValuedVnlSOMetricAdaptor::GetCachedDecomposedValueFREE::SingleValuedVnlSOMetricAdaptor::GetCachedDerivativeFREE::SingleValuedVnlSOMetricAdaptor::GetCachedValue

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

Definition at line 42 of file freVnlSetupOptimizationOptimizer.cxx.

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


Member Function Documentation

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

Run-time type information (and related methods).

Reimplemented from FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::AmoebaSOOptimizer, and FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 53 of file freVnlSetupOptimizationOptimizer.h.

virtual const bool& FREE::VnlSetupOptimizationOptimizer::GetMaximize (  )  const [inline, virtual]

Methods to define whether the cost function will be maximized or minimized. By default the VNL amoeba optimizer is only a minimizer. Maximization is implemented here by notifying the CostFunctionAdaptor which in its turn will multiply the function values and its derivative by -1.0.

Definition at line 66 of file freVnlSetupOptimizationOptimizer.h.

virtual void FREE::VnlSetupOptimizationOptimizer::SetMaximize ( const bool  _arg  )  [inline, virtual]

Definition at line 67 of file freVnlSetupOptimizationOptimizer.h.

virtual void FREE::VnlSetupOptimizationOptimizer::MaximizeOn (  )  [inline, virtual]

Definition at line 68 of file freVnlSetupOptimizationOptimizer.h.

virtual void FREE::VnlSetupOptimizationOptimizer::MaximizeOff (  )  [inline, virtual]

Definition at line 68 of file freVnlSetupOptimizationOptimizer.h.

bool FREE::VnlSetupOptimizationOptimizer::GetMinimize (  )  const [inline]

Definition at line 70 of file freVnlSetupOptimizationOptimizer.h.

void FREE::VnlSetupOptimizationOptimizer::SetMinimize ( bool  v  )  [inline]

Definition at line 72 of file freVnlSetupOptimizationOptimizer.h.

void FREE::VnlSetupOptimizationOptimizer::MinimizeOn (  )  [inline]

Definition at line 74 of file freVnlSetupOptimizationOptimizer.h.

void FREE::VnlSetupOptimizationOptimizer::MinimizeOff (  )  [inline]

Definition at line 76 of file freVnlSetupOptimizationOptimizer.h.

virtual const MeasureType& FREE::VnlSetupOptimizationOptimizer::GetCachedValue (  )  const [inline, virtual]

Return Cached Values. These method have the advantage of not triggering a recomputation of the metric value, but it has the disadvantage of returning a value that may not be the one corresponding to the current parameters. For GUI update purposes, this method is a good option, for mathematical validation you should rather call GetValue().

Definition at line 84 of file freVnlSetupOptimizationOptimizer.h.

virtual const DerivativeType& FREE::VnlSetupOptimizationOptimizer::GetCachedDerivative (  )  const [inline, virtual]

Definition at line 85 of file freVnlSetupOptimizationOptimizer.h.

virtual const ParametersType& FREE::VnlSetupOptimizationOptimizer::GetCachedCurrentPosition (  )  const [inline, virtual]

Definition at line 86 of file freVnlSetupOptimizationOptimizer.h.

virtual void FREE::VnlSetupOptimizationOptimizer::SetCostFunction ( CostFunctionType costFunction  )  [pure virtual]

Reimplemented from FREE::SetupOptimizationOptimizer.

Implemented in FREE::AmoebaSOOptimizer, and FREE::LimitedAxisAmoebaSOOptimizer.

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

Reimplemented from FREE::SetupOptimizationOptimizer.

Reimplemented in FREE::AmoebaSOOptimizer, and FREE::LimitedAxisAmoebaSOOptimizer.

Definition at line 53 of file freVnlSetupOptimizationOptimizer.cxx.

void FREE::VnlSetupOptimizationOptimizer::SetCostFunctionAdaptor ( CostFunctionAdaptorType adaptor  )  [protected]

Definition at line 68 of file freVnlSetupOptimizationOptimizer.cxx.

References FREE::SingleValuedVnlSOMetricAdaptor::AddObserver().

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

Here is the call graph for this function:

FREE::SingleValuedVnlSOMetricAdaptor::AddObserver

const VnlSetupOptimizationOptimizer::CostFunctionAdaptorType * FREE::VnlSetupOptimizationOptimizer::GetCostFunctionAdaptor ( void   )  const [protected]

Definition at line 88 of file freVnlSetupOptimizationOptimizer.cxx.

VnlSetupOptimizationOptimizer::CostFunctionAdaptorType * FREE::VnlSetupOptimizationOptimizer::GetCostFunctionAdaptor ( void   )  [protected]

Definition at line 96 of file freVnlSetupOptimizationOptimizer.cxx.

VnlSetupOptimizationOptimizer::CostFunctionAdaptorType * FREE::VnlSetupOptimizationOptimizer::GetNonConstCostFunctionAdaptor ( void   )  const [protected]

The purpose of this method is to get around the lack of const-correctness in VNL cost-functions and optimizers

Definition at line 106 of file freVnlSetupOptimizationOptimizer.cxx.

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

Reimplemented from FREE::SetupOptimizationOptimizer.

void FREE::VnlSetupOptimizationOptimizer::IterationReport ( const itk::EventObject &  event  )  [private]

The purpose of this method is to get around the lack of iteration reporting in VNL optimizers. By interfacing directly with the ITK cost function adaptor we are generating here Iteration Events. Note the iteration events here are produce PER EVALUATION of the metric, not per real iteration of the vnl optimizer. Optimizers that evaluate the metric multiple times at each iteration will generate a lot more of Iteration events here.

Definition at line 119 of file freVnlSetupOptimizationOptimizer.cxx.

References FREE::SingleValuedVnlSOMetricAdaptor::GetCachedCurrentParameters(), FREE::SingleValuedVnlSOMetricAdaptor::GetCachedDecomposedValue(), FREE::SingleValuedVnlSOMetricAdaptor::GetCachedDerivative(), and FREE::SingleValuedVnlSOMetricAdaptor::GetCachedValue().

Referenced by VnlSetupOptimizationOptimizer().

Here is the call graph for this function:

FREE::SingleValuedVnlSOMetricAdaptor::GetCachedCurrentParametersFREE::SingleValuedVnlSOMetricAdaptor::GetCachedDecomposedValueFREE::SingleValuedVnlSOMetricAdaptor::GetCachedDerivativeFREE::SingleValuedVnlSOMetricAdaptor::GetCachedValue


Member Data Documentation

CostFunctionAdaptorType* FREE::VnlSetupOptimizationOptimizer::m_CostFunctionAdaptor [private]

Definition at line 117 of file freVnlSetupOptimizationOptimizer.h.

bool FREE::VnlSetupOptimizationOptimizer::m_Maximize [private]

Definition at line 119 of file freVnlSetupOptimizationOptimizer.h.

CommandType::Pointer FREE::VnlSetupOptimizationOptimizer::m_Command [private]

Definition at line 121 of file freVnlSetupOptimizationOptimizer.h.

ParametersType FREE::VnlSetupOptimizationOptimizer::m_CachedCurrentPosition [mutable, private]

Definition at line 123 of file freVnlSetupOptimizationOptimizer.h.

MeasureType FREE::VnlSetupOptimizationOptimizer::m_CachedValue [mutable, private]

Definition at line 124 of file freVnlSetupOptimizationOptimizer.h.

DerivativeType FREE::VnlSetupOptimizationOptimizer::m_CachedDerivative [mutable, private]

Definition at line 125 of file freVnlSetupOptimizationOptimizer.h.


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