Classes | Public Member Functions | Private Types | Private Attributes

cmtk::MultiLevelOptimizer Class Reference
[cmtkRegistration Library]

Multi-level optimizer. More...

#include <cmtkMultiLevelOptimizer.h>

Inheritance diagram for cmtk::MultiLevelOptimizer:
Inheritance graph
[legend]
Collaboration diagram for cmtk::MultiLevelOptimizer:
Collaboration graph
[legend]

List of all members.

Classes

class  FunctionalWithStepSizes
 Functional with step initial and final size. More...

Public Member Functions

 MultiLevelOptimizer (Optimizer::SmartPtr &optimizer)
 Constructor.
void SetOptimizer (Optimizer::SmartPtr &optimizer)
 Set low-level optimizer.
virtual ~MultiLevelOptimizer ()
 Virtual destructor.
size_t AddFunctional (Functional::SmartPtr functional, const Types::Coordinate initialStepSize, const Types::Coordinate finalStepSize)
 Add functional and step sizes.
virtual CallbackResult Optimize (CoordinateVector &, const Types::Coordinate=1, const Types::Coordinate=0)
 Perform the optimization.

Private Types

typedef std::list
< FunctionalWithStepSizes::SmartPtr
FunctionalListType
 Type for list of functionals with step sizes.

Private Attributes

Optimizer::SmartPtr m_Optimizer
 The actual low-level optimizer.
FunctionalListType m_FunctionalList
 List of functionals with step sizes.

Detailed Description

Multi-level optimizer.

This class implements a multi-level optimizer. In fact, this is a meta-optimizer, which uses a separate instance of an actual low-level optimizer to perform the actual optimization. This class keeps a list of several different functionals with corresponding initial and final optimization step sizes that are sequentially handled by the low-level optimizer.

Definition at line 56 of file cmtkMultiLevelOptimizer.h.


Member Typedef Documentation

Type for list of functionals with step sizes.

Definition at line 124 of file cmtkMultiLevelOptimizer.h.


Constructor & Destructor Documentation

cmtk::MultiLevelOptimizer::MultiLevelOptimizer ( Optimizer::SmartPtr optimizer ) [inline]

Constructor.

Definition at line 62 of file cmtkMultiLevelOptimizer.h.

virtual cmtk::MultiLevelOptimizer::~MultiLevelOptimizer (  ) [inline, virtual]

Virtual destructor.

Definition at line 72 of file cmtkMultiLevelOptimizer.h.


Member Function Documentation

size_t cmtk::MultiLevelOptimizer::AddFunctional ( Functional::SmartPtr  functional,
const Types::Coordinate  initialStepSize,
const Types::Coordinate  finalStepSize 
) [inline]

Add functional and step sizes.

Returns:
Number of functionals defined so far.

Definition at line 77 of file cmtkMultiLevelOptimizer.h.

void cmtk::MultiLevelOptimizer::SetOptimizer ( Optimizer::SmartPtr optimizer ) [inline]

Set low-level optimizer.

Definition at line 66 of file cmtkMultiLevelOptimizer.h.


Member Data Documentation

List of functionals with step sizes.

Definition at line 127 of file cmtkMultiLevelOptimizer.h.

The actual low-level optimizer.

Definition at line 89 of file cmtkMultiLevelOptimizer.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines