Multi-level optimizer. More...
#include <cmtkMultiLevelOptimizer.h>
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. |
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.
typedef std::list<FunctionalWithStepSizes::SmartPtr> cmtk::MultiLevelOptimizer::FunctionalListType [private] |
Type for list of functionals with step sizes.
Definition at line 124 of file cmtkMultiLevelOptimizer.h.
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.
size_t cmtk::MultiLevelOptimizer::AddFunctional | ( | Functional::SmartPtr | functional, |
const Types::Coordinate | initialStepSize, | ||
const Types::Coordinate | finalStepSize | ||
) | [inline] |
Add functional and step sizes.
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.
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.