FREE::SetupOptimizationProcessor Class Reference
[Processor controllerSetup optimization controllerSetup Optimization]

Class manages the optimization of a setup. More...

#include <freSetupOptimizationProcessor.h>

List of all members.

Public Types

typedef
SetupOptimizationProcessor 
Self
typedef itk::Object Superclass
typedef
itk::SmartPointer
< Self
Pointer
typedef
itk::SmartPointer
< const Self
ConstPointer
typedef SetupTransform TransformType
typedef
TransformType::Pointer 
TransformPointer
typedef
SetupOptimizationMetric 
MetricType
typedef
MetricType::Pointer 
MetricPointer
typedef
SetupOptimizationOptimizer 
OptimizerType
typedef
OptimizerType::Pointer 
OptimizerPointer
typedef
TransformType::ParametersType 
ParametersType
typedef
MetricType::MeasureType 
MeasureType

Public Member Functions

virtual const char * GetNameOfClass () const
virtual
::itk::LightObject::Pointer 
CreateAnother (void) const
SetupGetSetup ()
void SetSetup (Setup *pSetup)
Adaptation::AdaptationListGetAdaptationList ()
void SetAdaptationList (Adaptation::AdaptationList *pAdaptations)
virtual TransformTypeGetTransform ()
virtual void SetTransform (TransformType *_arg)
virtual MetricTypeGetMetric ()
virtual void SetMetric (MetricType *_arg)
virtual OptimizerTypeGetOptimizer ()
virtual void SetOptimizer (OptimizerType *_arg)
virtual const
ParametersType
GetFinalParameters () const
virtual const
MeasureType
GetFinalMeasure () const
const SetupGetFinalSetup () const
virtual const long GetMaxIterationCount () const
const long GetCurrentIterationCount () const
bool OptimizationIsFinished () const
void StartOptimization ()
void ResumeOptimization ()
bool OptimizationIsResumable ()
void StopOptimization ()
bool OptimizationIsStoppable ()

Static Public Member Functions

static Pointer New (void)

Public Attributes

RegistrationProgressEventBase::Pointer fnOnProgress
SetOpIterationEventBase::Pointer fnOnNextIteration
ProgressEventBase::Pointer fnOnMetricComputationProgress
ProgressEventBase::Pointer fnOnEvaluationDone
ProgressEventBase::Pointer fnOnEvaluationProgress
ProgressEventBase::Pointer fnOnNextAdaptation
ProgressEventBase::Pointer fnOnEvaluationFailed

Protected Member Functions

 SetupOptimizationProcessor ()
virtual ~SetupOptimizationProcessor ()
void ComputeOptimization ()
void OnNewIteration (void *pSender, long threadID)
void OnEvaluationProgress (const long status, const std::string &sComment, void *pSender, long threadID)

Protected Attributes

long m_lCurIteration
bool m_bOptimizationDone
bool m_bOptimizationStarted
Adaptation::AdaptationList::Pointer m_smpAdaptations
Setup::Pointer m_smpSetup
TransformPointer m_Transform
MetricPointer m_Metric
OptimizerPointer m_Optimizer
Setup::Pointer m_smpFinalSetup
TransformType::ParametersType m_FinalParameters
MetricType::MeasureType m_FinalMeasure


Detailed Description

Class manages the optimization of a setup.

SetupOptimizationProcessor manages the optimization of a given setup by using a given adaptation list, setup transfroms, special metrices and optimizers.

Definition at line 47 of file freSetupOptimizationProcessor.h.


Member Typedef Documentation

typedef SetupOptimizationProcessor FREE::SetupOptimizationProcessor::Self

Standard typedefs

Definition at line 51 of file freSetupOptimizationProcessor.h.

typedef itk::Object FREE::SetupOptimizationProcessor::Superclass

Definition at line 52 of file freSetupOptimizationProcessor.h.

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

Definition at line 53 of file freSetupOptimizationProcessor.h.

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

Definition at line 54 of file freSetupOptimizationProcessor.h.

typedef SetupTransform FREE::SetupOptimizationProcessor::TransformType

Definition at line 56 of file freSetupOptimizationProcessor.h.

typedef TransformType::Pointer FREE::SetupOptimizationProcessor::TransformPointer

Definition at line 57 of file freSetupOptimizationProcessor.h.

typedef SetupOptimizationMetric FREE::SetupOptimizationProcessor::MetricType

Definition at line 58 of file freSetupOptimizationProcessor.h.

typedef MetricType::Pointer FREE::SetupOptimizationProcessor::MetricPointer

Definition at line 59 of file freSetupOptimizationProcessor.h.

typedef SetupOptimizationOptimizer FREE::SetupOptimizationProcessor::OptimizerType

Definition at line 60 of file freSetupOptimizationProcessor.h.

typedef OptimizerType::Pointer FREE::SetupOptimizationProcessor::OptimizerPointer

Definition at line 61 of file freSetupOptimizationProcessor.h.

typedef TransformType::ParametersType FREE::SetupOptimizationProcessor::ParametersType

Definition at line 63 of file freSetupOptimizationProcessor.h.

typedef MetricType::MeasureType FREE::SetupOptimizationProcessor::MeasureType

Definition at line 64 of file freSetupOptimizationProcessor.h.


Constructor & Destructor Documentation

FREE::SetupOptimizationProcessor::SetupOptimizationProcessor (  )  [protected]

Abstract class. LightRegistrationProcessor is not meant to be created directly.

Definition at line 204 of file freSetupOptimizationProcessor.cxx.

References fnOnEvaluationDone, fnOnEvaluationFailed, fnOnNextAdaptation, fnOnNextIteration, fnOnProgress, m_bOptimizationDone, m_bOptimizationStarted, and m_lCurIteration.

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

Definition at line 218 of file freSetupOptimizationProcessor.cxx.


Member Function Documentation

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

Run-time type information (and related methods).

Definition at line 67 of file freSetupOptimizationProcessor.h.

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

Definition at line 69 of file freSetupOptimizationProcessor.h.

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

Definition at line 69 of file freSetupOptimizationProcessor.h.

Setup * FREE::SetupOptimizationProcessor::GetSetup (  ) 

Function to access the member variable m_smpSetup. m_smpSetup points to the setup used as template setup that should be optimized.

Returns:
Pointer to the setup. If not valid/exists the return is NULL.
Implementation of FREE::SetupOptimizationProcessor ///////////////

Definition at line 39 of file freSetupOptimizationProcessor.cxx.

References m_smpSetup.

void FREE::SetupOptimizationProcessor::SetSetup ( Setup pSetup  ) 

Definition at line 46 of file freSetupOptimizationProcessor.cxx.

References m_smpSetup, and m_Transform.

Adaptation::AdaptationList * FREE::SetupOptimizationProcessor::GetAdaptationList (  ) 

Function to access the member variable m_smpAdaptations. m_smpAdaptations points to the adaptation list used as data basis to drive the optimization.

Returns:
Pointer to the adaptation list. If not valid/exists the return is NULL.

Definition at line 57 of file freSetupOptimizationProcessor.cxx.

References m_smpAdaptations.

void FREE::SetupOptimizationProcessor::SetAdaptationList ( Adaptation::AdaptationList pAdaptations  ) 

Definition at line 64 of file freSetupOptimizationProcessor.cxx.

References m_Metric, and m_smpAdaptations.

virtual TransformType* FREE::SetupOptimizationProcessor::GetTransform (  )  [inline, virtual]

Definition at line 118 of file freSetupOptimizationProcessor.h.

virtual void FREE::SetupOptimizationProcessor::SetTransform ( TransformType _arg  )  [inline, virtual]

Definition at line 119 of file freSetupOptimizationProcessor.h.

virtual MetricType* FREE::SetupOptimizationProcessor::GetMetric (  )  [inline, virtual]

Definition at line 121 of file freSetupOptimizationProcessor.h.

virtual void FREE::SetupOptimizationProcessor::SetMetric ( MetricType _arg  )  [inline, virtual]

Definition at line 122 of file freSetupOptimizationProcessor.h.

virtual OptimizerType* FREE::SetupOptimizationProcessor::GetOptimizer ( void   )  [inline, virtual]

Definition at line 124 of file freSetupOptimizationProcessor.h.

virtual void FREE::SetupOptimizationProcessor::SetOptimizer ( OptimizerType _arg  )  [inline, virtual]

Definition at line 125 of file freSetupOptimizationProcessor.h.

virtual const ParametersType& FREE::SetupOptimizationProcessor::GetFinalParameters (  )  const [inline, virtual]

Definition at line 127 of file freSetupOptimizationProcessor.h.

virtual const MeasureType& FREE::SetupOptimizationProcessor::GetFinalMeasure (  )  const [inline, virtual]

Definition at line 128 of file freSetupOptimizationProcessor.h.

const Setup* FREE::SetupOptimizationProcessor::GetFinalSetup (  )  const [inline]

Definition at line 130 of file freSetupOptimizationProcessor.h.

References m_smpFinalSetup.

const long FREE::SetupOptimizationProcessor::GetMaxIterationCount (  )  const [virtual]

Returns the max count of iteration steps of the actual resolution level. The return of the function depends on the derived classes. If the return -1 the count is unknown (e.g optimizer has a threshold value as stopping criterion)

Definition at line 245 of file freSetupOptimizationProcessor.cxx.

References m_Optimizer.

const long FREE::SetupOptimizationProcessor::GetCurrentIterationCount (  )  const

Function returns the actual count of iteration done in the optimization process.

Definition at line 255 of file freSetupOptimizationProcessor.cxx.

References m_lCurIteration.

bool FREE::SetupOptimizationProcessor::OptimizationIsFinished (  )  const [inline]

Function to access the member variable m_bRegistrationDone

Returns:
Indicates if the registration is finished and therefore valid results are available.

Definition at line 145 of file freSetupOptimizationProcessor.h.

References m_bOptimizationDone.

void FREE::SetupOptimizationProcessor::StartOptimization ( void   ) 

This function starts the optimization.

Definition at line 75 of file freSetupOptimizationProcessor.cxx.

References catchAllNPassMacro, fnOnEvaluationDone, fnOnEvaluationFailed, fnOnMetricComputationProgress, fnOnNextAdaptation, fnOnProgress, m_bOptimizationDone, m_bOptimizationStarted, m_FinalMeasure, m_FinalParameters, m_lCurIteration, m_Metric, m_Optimizer, m_smpAdaptations, m_smpFinalSetup, m_Transform, FREE::SetupOptimizationProgressObserver::New(), OnEvaluationProgress(), OnNewIteration(), FREE::RSTFinalizing, FREE::RSTInitProcessor, FREE::RSTProcessing, and throwExceptionMacro.

Here is the call graph for this function:

FREE::SetupOptimizationProgressObserver::NewFREE::SetupOptimizationProcessor::OnEvaluationProgressFREE::SetupOptimizationProcessor::OnNewIteration

void FREE::SetupOptimizationProcessor::ResumeOptimization (  ) 

This function resumes the optimization, if possible.

Definition at line 147 of file freSetupOptimizationProcessor.cxx.

References catchAllNPassMacro, fnOnProgress, m_bOptimizationStarted, m_FinalMeasure, m_FinalParameters, m_Optimizer, m_smpFinalSetup, m_Transform, FREE::RSTFinalizing, FREE::RSTProcessing, and throwExceptionMacro.

bool FREE::SetupOptimizationProcessor::OptimizationIsResumable (  ) 

Definition at line 173 of file freSetupOptimizationProcessor.cxx.

References m_Optimizer.

void FREE::SetupOptimizationProcessor::StopOptimization ( void   ) 

This function stops the optimization at the end of the current iteration, if possible.

Definition at line 184 of file freSetupOptimizationProcessor.cxx.

References m_Optimizer.

bool FREE::SetupOptimizationProcessor::OptimizationIsStoppable (  ) 

Definition at line 194 of file freSetupOptimizationProcessor.cxx.

References m_Optimizer.

void FREE::SetupOptimizationProcessor::ComputeOptimization (  )  [protected]

This function processes the optimization itself.

Definition at line 223 of file freSetupOptimizationProcessor.cxx.

void FREE::SetupOptimizationProcessor::OnNewIteration ( void *  pSender,
long  threadID 
) [protected]

This function is plugged to an IterationObserver and reacts to a new iteration. The actual optimizer values will be computed and passed by the NextIterationEvent function pointer

Parameters:
[in] pSender The origin of the event, in this case IterationObserver.
[in] threadID ID of the Thread executing the event. By default this value is 0. This ID is not unique over the complete system, it should only be assumed that it is unique in the context of the sender.

Definition at line 230 of file freSetupOptimizationProcessor.cxx.

References fnOnNextIteration, m_lCurIteration, and m_Optimizer.

Referenced by StartOptimization().

void FREE::SetupOptimizationProcessor::OnEvaluationProgress ( const long  status,
const std::string &  sComment,
void *  pSender,
long  threadID 
) [protected]

This function is plugged to a SetupOptimizationprogressObserver and reacts to any evaluation progress notified by metric, optimizer or transform.

Parameters:
[in] iStatusID ID indicating type of the progress (coding depends on sender).
[in] pSender The origin of the event, in this case IterationObserver.
[in] sComment A comment concerning the progress.
[in] threadID ID of the Thread executing the event. By default this value is 0. This ID is not unique over the complete system, it should only be assumed that it is unique in the context of the sender.

Definition at line 238 of file freSetupOptimizationProcessor.cxx.

References fnOnEvaluationProgress.

Referenced by StartOptimization().


Member Data Documentation

RegistrationProgressEventBase::Pointer FREE::SetupOptimizationProcessor::fnOnProgress

Function pointer, which can be set, if e.g. a GUI interaction is wanted. The function is called, when the optimization process makes a general progress. Its a good possibility for a brief overview of the registration.

Definition at line 69 of file freSetupOptimizationProcessor.h.

Referenced by ResumeOptimization(), SetupOptimizationProcessor(), and StartOptimization().

SetOpIterationEventBase::Pointer FREE::SetupOptimizationProcessor::fnOnNextIteration

Function pointer, which can be set, if e.g. a GUI interaction is wanted. The function is called, when an iteration step of the setup optimizer is finished.

Definition at line 78 of file freSetupOptimizationProcessor.h.

Referenced by OnNewIteration(), and SetupOptimizationProcessor().

ProgressEventBase::Pointer FREE::SetupOptimizationProcessor::fnOnMetricComputationProgress

Function pointer, which can be set, if e.g. a GUI interaction is wanted. The function is called, when an evaluation of the metric makes any progress. Depending on the metric, there could be many notifications.

Definition at line 83 of file freSetupOptimizationProcessor.h.

Referenced by StartOptimization().

ProgressEventBase::Pointer FREE::SetupOptimizationProcessor::fnOnEvaluationDone

Function pointer, which can be set, if e.g. a GUI interaction is wanted. The function is called, whenever an evaluation of an adaptation element is finished. Depending on the metric/optimizer, there could be many evaluation.

Definition at line 88 of file freSetupOptimizationProcessor.h.

Referenced by SetupOptimizationProcessor(), and StartOptimization().

ProgressEventBase::Pointer FREE::SetupOptimizationProcessor::fnOnEvaluationProgress

Function pointer, which can be set, if e.g. a GUI interaction is wanted. The function is called, whenever the evaluation process of an adaptation element has made progress.

Definition at line 93 of file freSetupOptimizationProcessor.h.

Referenced by OnEvaluationProgress().

ProgressEventBase::Pointer FREE::SetupOptimizationProcessor::fnOnNextAdaptation

Function pointer, which can be set, if e.g. a GUI interaction is wanted. The function is called, when a new adaptation will be processed by the metric. The Status ID indecats the index of the next adaptation.

Definition at line 98 of file freSetupOptimizationProcessor.h.

Referenced by SetupOptimizationProcessor(), and StartOptimization().

ProgressEventBase::Pointer FREE::SetupOptimizationProcessor::fnOnEvaluationFailed

Function pointer, which can be set, if e.g. a GUI interaction is wanted. The function is called, whenever an evaluation fails. The state ID is the index of the failed adaptation. sComment contains the exception information.

Definition at line 104 of file freSetupOptimizationProcessor.h.

Referenced by SetupOptimizationProcessor(), and StartOptimization().

long FREE::SetupOptimizationProcessor::m_lCurIteration [protected]

The count if the iterations, since starting the optimization

Definition at line 169 of file freSetupOptimizationProcessor.h.

Referenced by GetCurrentIterationCount(), OnNewIteration(), SetupOptimizationProcessor(), and StartOptimization().

bool FREE::SetupOptimizationProcessor::m_bOptimizationDone [protected]

Indicates if the optimization is done and hence a final setup can be retreived.

Definition at line 172 of file freSetupOptimizationProcessor.h.

Referenced by OptimizationIsFinished(), SetupOptimizationProcessor(), and StartOptimization().

bool FREE::SetupOptimizationProcessor::m_bOptimizationStarted [protected]

Indicates if the optimization has started.

Definition at line 174 of file freSetupOptimizationProcessor.h.

Referenced by ResumeOptimization(), SetupOptimizationProcessor(), and StartOptimization().

Adaptation::AdaptationList::Pointer FREE::SetupOptimizationProcessor::m_smpAdaptations [protected]

Definition at line 176 of file freSetupOptimizationProcessor.h.

Referenced by GetAdaptationList(), SetAdaptationList(), and StartOptimization().

Setup::Pointer FREE::SetupOptimizationProcessor::m_smpSetup [protected]

Definition at line 178 of file freSetupOptimizationProcessor.h.

Referenced by GetSetup(), and SetSetup().

TransformPointer FREE::SetupOptimizationProcessor::m_Transform [protected]

Definition at line 180 of file freSetupOptimizationProcessor.h.

Referenced by ResumeOptimization(), SetSetup(), and StartOptimization().

MetricPointer FREE::SetupOptimizationProcessor::m_Metric [protected]

Definition at line 181 of file freSetupOptimizationProcessor.h.

Referenced by SetAdaptationList(), and StartOptimization().

OptimizerPointer FREE::SetupOptimizationProcessor::m_Optimizer [protected]

Definition at line 182 of file freSetupOptimizationProcessor.h.

Referenced by GetMaxIterationCount(), OnNewIteration(), OptimizationIsResumable(), OptimizationIsStoppable(), ResumeOptimization(), StartOptimization(), and StopOptimization().

Setup::Pointer FREE::SetupOptimizationProcessor::m_smpFinalSetup [protected]

Definition at line 184 of file freSetupOptimizationProcessor.h.

Referenced by GetFinalSetup(), ResumeOptimization(), and StartOptimization().

TransformType::ParametersType FREE::SetupOptimizationProcessor::m_FinalParameters [protected]

Definition at line 185 of file freSetupOptimizationProcessor.h.

Referenced by ResumeOptimization(), and StartOptimization().

MetricType::MeasureType FREE::SetupOptimizationProcessor::m_FinalMeasure [protected]

Definition at line 186 of file freSetupOptimizationProcessor.h.

Referenced by ResumeOptimization(), and StartOptimization().


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