FREE::ContinuousLBFGSOptimizerController Class Reference
[Optimizer controller]

Derived class of a controller objects for optimizers. More...

#include <freContinuousLBFGSOptimizerController.h>

Inheritance diagram for FREE::ContinuousLBFGSOptimizerController:

Inheritance graph
FREE::SVNonLinearVNLOptimizerControllerBase\< itk::ContinuousLBFGSOptimizer \>FREE::SVNonLinearOptimizerControllerBase\< itk::ContinuousLBFGSOptimizer \>FREE::OptimizerControllerBase\< itk::ContinuousLBFGSOptimizer \>FREE::ComponentControllerBase\< itk::ContinuousLBFGSOptimizer \>FREE::ComponentControllerInterfaceFREE::OptimizerControllerInterface
[legend]
Collaboration diagram for FREE::ContinuousLBFGSOptimizerController:

Collaboration graph
FREE::SVNonLinearVNLOptimizerControllerBase\< itk::ContinuousLBFGSOptimizer \>FREE::SVNonLinearOptimizerControllerBase\< itk::ContinuousLBFGSOptimizer \>FREE::OptimizerControllerBase\< itk::ContinuousLBFGSOptimizer \>FREE::ComponentControllerBase\< itk::ContinuousLBFGSOptimizer \>FREE::ComponentControllerInterfaceFREE::CtrlProfile::ProfileInheritanceFREE::XMLStringMultiMapFREE::XMLStreamObjectFREE::OptimizerControllerInterface
[legend]

List of all members.

Public Types

typedef
itk::ContinuousLBFGSOptimizer 
ComponentType
typedef
SVNonLinearVNLOptimizerControllerBase
< ComponentType
Superclass

Public Member Functions

 itkTypeMacro (ContinuousLBFGSOptimizerController, SVNonLinearVNLOptimizerControllerBase)
 DeclareParameterMacro (GradConvTolerance)
 DeclareParameterMacro (LineSearchAccuracy)
 DeclareParameterMacro (DefaultStepLength)
 DeclareParameterMacro (TraceOn)
 ContinuousLBFGSOptimizerController ()

Protected Member Functions

virtual void GenerateProfile (CtrlProfile::ControllerProfile &profile, const SessionComponentCache *pComponentCache, bool bRegardOldSetup) const
virtual void ActualizeMainComponent (ComponentType *pMainComponent, SessionComponentCache *pComponentCache, SessionInfo *pSessionInfo, const unsigned int &iActLevel) const
virtual void SetStatisticEntryMainComponent (StatisticEntry &rStatisticEntry, ComponentType *pMainComponent, SessionComponentCache *pMainComponentCache, SessionInfo *pSessionInfo, StatisticDictionary &rDictionary) const


Detailed Description

Derived class of a controller objects for optimizers.

ContinuousLBFGSOptimizerController is derived from OptimizerControllerBase and the class for the control of a LBFGS optimizer. The class uses the itk::ContinuousLBFGSOptimizer. This version of the LBFGS optimizer was implemented to allow an optimization of setups using the LBFGS without throwing exceptions because the optimizer wasn't able to achieve an optimization right from the start.

Definition at line 45 of file freContinuousLBFGSOptimizerController.h.


Member Typedef Documentation

typedef itk::ContinuousLBFGSOptimizer FREE::ContinuousLBFGSOptimizerController::ComponentType

The component class managed by the controller. The component class must be a derivation from itk::LightObject to ensure the ability to use the smartpointer concept of itk

Reimplemented from FREE::SVNonLinearVNLOptimizerControllerBase< itk::ContinuousLBFGSOptimizer >.

Definition at line 50 of file freContinuousLBFGSOptimizerController.h.

typedef SVNonLinearVNLOptimizerControllerBase<ComponentType> FREE::ContinuousLBFGSOptimizerController::Superclass

Reimplemented from FREE::SVNonLinearVNLOptimizerControllerBase< itk::ContinuousLBFGSOptimizer >.

Definition at line 51 of file freContinuousLBFGSOptimizerController.h.


Constructor & Destructor Documentation

FREE::ContinuousLBFGSOptimizerController::ContinuousLBFGSOptimizerController (  ) 

Definition at line 39 of file freContinuousLBFGSOptimizerController.cxx.

References FREE::ComponentControllerInterface::m_Description, and FREE::ComponentControllerInterface::UpdateControllerID().

Here is the call graph for this function:

FREE::ComponentControllerInterface::UpdateControllerIDFREE::CtrlProfile::ProfileInheritance::AddAncestorFREE::XMLStringMultiMap::AddElementFREE::CtrlProfile::ProfileInheritance::IndexOfAncestorFREE::XMLStringMultiMap::SetElementDataFREE::XMLStringMultiMap::GetElementDataFREE::XMLStringMultiMap::Size


Member Function Documentation

FREE::ContinuousLBFGSOptimizerController::itkTypeMacro ( ContinuousLBFGSOptimizerController  ,
SVNonLinearVNLOptimizerControllerBase   
)

FREE::ContinuousLBFGSOptimizerController::DeclareParameterMacro ( GradConvTolerance   ) 

FREE::ContinuousLBFGSOptimizerController::DeclareParameterMacro ( LineSearchAccuracy   ) 

FREE::ContinuousLBFGSOptimizerController::DeclareParameterMacro ( DefaultStepLength   ) 

FREE::ContinuousLBFGSOptimizerController::DeclareParameterMacro ( TraceOn   ) 

void FREE::ContinuousLBFGSOptimizerController::GenerateProfile ( CtrlProfile::ControllerProfile profile,
const SessionComponentCache pComponentCache,
bool  bRegardOldSetup 
) const [protected, virtual]

Adjusts the current profile according to the definitions of the controller.
Method should call the superclass variant to regard demands of basic controllers.

Parameters:
[in,out] profile Reference of the current profile.
[in] pComponentCache Pointer to the cache indicating the location of the component that should be profiled. This pointer can be null. In this case only a default profile that isn't context sensitive is wanted (others aren't possible anyway)
[in] bRegardOldSetup If true, the setup of pComponentCache is valid and should be regarded when the profile is generated. Otherwise just use defaults if setup information is needed.

Reimplemented from FREE::SVNonLinearOptimizerControllerBase< itk::ContinuousLBFGSOptimizer >.

Definition at line 48 of file freContinuousLBFGSOptimizerController.cxx.

References FREE::cParam_Iterations, FREE::cParamDsc_Iterations, FREE::SVNonLinearOptimizerControllerBase< TControlledVNLOptimizer >::GenerateProfile(), FREE::CtrlProfile::ControllerProfileBase::Parameters(), FREE::Parameter::PVTBool, FREE::Parameter::PVTDouble, and FREE::Parameter::PVTInteger.

Here is the call graph for this function:

FREE::SVNonLinearOptimizerControllerBase\< TControlledVNLOptimizer \>::GenerateProfileFREE::CtrlProfile::ControllerProfileBase::Parameters

void FREE::ContinuousLBFGSOptimizerController::ActualizeMainComponent ( ComponentType pMainComponent,
SessionComponentCache pComponentCache,
SessionInfo pSessionInfo,
const unsigned int &  iActLevel 
) const [protected, virtual]

This function (called by ActualizeComponent()) actualizes the passed component with the setup information considering the actual resolution level of the ongoing registration. In a derived class this function should be overridden to provide a specific behavior.

Parameters:
[in,out] pMainComponent Pointer to the main component. Can also be retrieved via component cache, but offered directly and already casted for more convenience.
[in,out] pComponentCache Pointer to the component cache that should be actualized.
[in] pSessionInfo Pointer to the session info.
[in] iActLevel Indicates which layer of a parameter should be used, if the parameter is layer sensitive (e.g. as resolution level of a registration). Default is 0.

Reimplemented from FREE::ComponentControllerBase< itk::ContinuousLBFGSOptimizer >.

Definition at line 64 of file freContinuousLBFGSOptimizerController.cxx.

References catchAllNPassMacro, FREE::SessionComponentCache::Controller(), FREE::cParam_Iterations, FREE::ComponentControllerInterface::GetParameter(), FREE::SessionAccessor::GetParameterValue(), FREE::SessionComponentCache::GetParentCache(), FREE::OptimizerControllerBase< itk::ContinuousLBFGSOptimizer >::GetTransformScales(), itk::ContinuousLBFGSOptimizer::SetDefaultStepLength(), itk::ContinuousLBFGSOptimizer::SetGradientConvergenceTolerance(), itk::ContinuousLBFGSOptimizer::SetLineSearchAccuracy(), itk::ContinuousLBFGSOptimizer::SetMaximumNumberOfFunctionEvaluations(), itk::ContinuousLBFGSOptimizer::SetTrace(), and throwCtrlExceptionMacro.

Here is the call graph for this function:

FREE::SessionComponentCache::ControllerFREE::ComponentControllerInterface::GetParameterFREE::SessionAccessor::GetParameterValueFREE::SessionComponentCache::GetParentCacheFREE::OptimizerControllerBase\< itk::ContinuousLBFGSOptimizer \>::GetTransformScalesitk::ContinuousLBFGSOptimizer::SetDefaultStepLengthitk::ContinuousLBFGSOptimizer::SetGradientConvergenceToleranceitk::ContinuousLBFGSOptimizer::SetLineSearchAccuracyitk::ContinuousLBFGSOptimizer::SetMaximumNumberOfFunctionEvaluationsitk::ContinuousLBFGSOptimizer::SetTraceFREE::SessionComponentCache::GetIDPathFREE::SessionAccessor::GetParameterFREE::IDPath::ToStrFREE::ComponentSetup::GetIDPathFREE::SessionComponentCache::SetupFREE::ComponentSetup::HasParentComponentFREE::SessionComponentCache::ControllerIsAssignedFREE::IDPath::Size

void FREE::ContinuousLBFGSOptimizerController::SetStatisticEntryMainComponent ( StatisticEntry rStatisticEntry,
ComponentType pMainComponent,
SessionComponentCache pMainComponentCache,
SessionInfo pSessionInfo,
StatisticDictionary rDictionary 
) const [protected, virtual]

This function (called by SetStatisticEntry()) records any statistical information of the passed component In a derived class this function should be overridden to provide a specific behavior.

Parameters:
[in,out] rStatisticEntry reference to the Statistic object, where the relevant information should be stored.
[in] pMainComponent Pointer to the casted component. Also available via cache, but already casted for convenience.
[in] pMainComponentCache Pointer to the component cache.
[in] pSessionInfo Pointer to the session info
[in,out] rDictionary Dictionary with information about the stored facts (e.g. Type, Name) The entry in the dictionary should set by the controller if needed.

Reimplemented from FREE::SVNonLinearVNLOptimizerControllerBase< itk::ContinuousLBFGSOptimizer >.

Definition at line 102 of file freContinuousLBFGSOptimizerController.cxx.

References FREE::StatisticEntry::AddValue(), FREE::StatisticDictionary::AddValueDefinition(), FREE::SessionComponentCache::GetIDPath(), FREE::StatisticValueDefinition::GetRefID(), FREE::StatisticDictionary::GetValueDefinitionByName(), and FREE::Convert::ToStr().

Here is the call graph for this function:

FREE::StatisticEntry::AddValueFREE::StatisticDictionary::AddValueDefinitionFREE::SessionComponentCache::GetIDPathFREE::StatisticValueDefinition::GetRefIDFREE::StatisticDictionary::GetValueDefinitionByNameFREE::Convert::ToStrFREE::SmartCollectionBase::AddElementFREE::SmartCollectionBase::GetElementFREE::CollectionBase::SizeFREE::ComponentSetup::GetIDPathFREE::SessionComponentCache::SetupFREE::ComponentSetup::HasParentComponent


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