FREE::RegStepGradDescOptimizerControllerBase< TOptimizer > Class Template Reference
[Optimizer controller]

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

#include <freRegStepGradDescOptimizerControllerBase.h>

Inheritance diagram for FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >:

Inheritance graph
FREE::SVNonLinearOptimizerControllerBase\< TOptimizer \>FREE::OptimizerControllerBase\< TOptimizer \>FREE::ComponentControllerBase\< TOptimizer \>FREE::ComponentControllerInterfaceFREE::OptimizerControllerInterface
[legend]
Collaboration diagram for FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >:

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

List of all members.

Public Types

typedef TOptimizer ComponentType
typedef
SVNonLinearOptimizerControllerBase
< ComponentType
Superclass

Public Member Functions

 DeclareParameterMacro (RelaxationFactor)
 itkTypeMacro (RegStepGradDescOptimizerControllerBase, SVNonLinearOptimizerControllerBase)
 RegStepGradDescOptimizerControllerBase ()

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

template<class TOptimizer>
class FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >

Derived class of a controller objects for optimizers.

RegStepGradDescOptimizerControllerBase is derived from SVNonLinearOptimizerControllerBase and the class for the control of regular step gradient descent optimizer or derivates.

Definition at line 40 of file freRegStepGradDescOptimizerControllerBase.h.


Member Typedef Documentation

template<class TOptimizer>
typedef TOptimizer FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >::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::SVNonLinearOptimizerControllerBase< TOptimizer >.

Reimplemented in FREE::RegStepGradDescOptimizerController, and FREE::VersorRigid3DTransformOptimizerController.

Definition at line 47 of file freRegStepGradDescOptimizerControllerBase.h.

template<class TOptimizer>
typedef SVNonLinearOptimizerControllerBase<ComponentType> FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >::Superclass

Reimplemented from FREE::SVNonLinearOptimizerControllerBase< TOptimizer >.

Reimplemented in FREE::RegStepGradDescOptimizerController, and FREE::VersorRigid3DTransformOptimizerController.

Definition at line 48 of file freRegStepGradDescOptimizerControllerBase.h.


Constructor & Destructor Documentation

template<class TOptimizer>
FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >::RegStepGradDescOptimizerControllerBase (  )  [inline]

Definition at line 43 of file freRegStepGradDescOptimizerControllerBase.txx.

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

template<class TOptimizer>
FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >::DeclareParameterMacro ( RelaxationFactor   ) 

template<class TOptimizer>
FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >::itkTypeMacro ( RegStepGradDescOptimizerControllerBase< TOptimizer >  ,
SVNonLinearOptimizerControllerBase   
)

template<class TOptimizer>
void FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >::GenerateProfile ( CtrlProfile::ControllerProfile profile,
const SessionComponentCache pComponentCache,
bool  bRegardOldSetup 
) const [inline, 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< TOptimizer >.

Reimplemented in FREE::VersorRigid3DTransformOptimizerController.

Definition at line 53 of file freRegStepGradDescOptimizerControllerBase.txx.

References FREE::cParam_DynamicLevelStepLength, FREE::cParam_GradMagTolerance, FREE::cParam_Iterations, FREE::cParam_MaxStepLength, FREE::cParam_MinStepLength, FREE::cParamDsc_DynamicLevelStepLength, FREE::cParamDsc_GradMagTolerance, FREE::cParamDsc_Iterations, FREE::cParamDsc_MaxStepLength, FREE::cParamDsc_MinStepLength, FREE::SVNonLinearOptimizerControllerBase< TControlledOptimizer >::GenerateProfile(), FREE::CtrlProfile::ControllerProfileBase::Parameters(), FREE::Parameter::PVTBool, FREE::Parameter::PVTDouble, and FREE::Parameter::PVTULong.

Referenced by FREE::VersorRigid3DTransformOptimizerController::GenerateProfile().

Here is the call graph for this function:

FREE::SVNonLinearOptimizerControllerBase::GenerateProfileFREE::CtrlProfile::ControllerProfileBase::ParametersFREE::CtrlProfile::ProfileOption::CheckForInheritanceFREE::ComponentControllerBase\< TControlledOptimizer \>::GenerateProfileFREE::CtrlProfile::ControllerProfileBase::InheritanceFREE::CtrlProfile::ControllerProfile::Requirements

template<class TOptimizer>
void FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >::ActualizeMainComponent ( ComponentType pMainComponent,
SessionComponentCache pComponentCache,
SessionInfo pSessionInfo,
const unsigned int &  iActLevel 
) const [inline, 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< TOptimizer >.

Definition at line 72 of file freRegStepGradDescOptimizerControllerBase.txx.

References catchAllNPassMacro, FREE::SessionComponentCache::Controller(), FREE::cParam_DynamicLevelStepLength, FREE::cParam_GradMagTolerance, FREE::cParam_Iterations, FREE::cParam_MaxStepLength, FREE::cParam_MinStepLength, FREE::ComponentControllerInterface::GetParameter(), FREE::SessionAccessor::GetParameterValue(), FREE::SessionComponentCache::GetParentCache(), FREE::OptimizerControllerBase< TOptimizer >::GetTransformScales(), and throwCtrlExceptionMacro.

Here is the call graph for this function:

FREE::SessionComponentCache::ControllerFREE::ComponentControllerInterface::GetParameterFREE::SessionAccessor::GetParameterValueFREE::SessionComponentCache::GetParentCacheFREE::OptimizerControllerBase\< TOptimizer \>::GetTransformScalesFREE::SessionComponentCache::GetIDPathFREE::SessionAccessor::GetParameterFREE::IDPath::ToStrFREE::ComponentSetup::GetIDPathFREE::SessionComponentCache::SetupFREE::ComponentSetup::HasParentComponentFREE::SessionComponentCache::ControllerIsAssignedFREE::IDPath::Size

template<class TOptimizer>
void FREE::RegStepGradDescOptimizerControllerBase< TOptimizer >::SetStatisticEntryMainComponent ( StatisticEntry rStatisticEntry,
ComponentType pMainComponent,
SessionComponentCache pMainComponentCache,
SessionInfo pSessionInfo,
StatisticDictionary rDictionary 
) const [inline, 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::ComponentControllerBase< TOptimizer >.

Definition at line 120 of file freRegStepGradDescOptimizerControllerBase.txx.

References FREE::StatisticEntry::AddValue(), FREE::StatisticDictionary::AddValueDefinition(), FREE::SessionComponentCache::GetIDPath(), FREE::StatisticValueDefinition::GetRefID(), FREE::StatisticDictionary::GetValueDefinitionByName(), FREE::OptimizerControllerBase< TControlledOptimizer >::SetStatisticEntryMainComponent(), and FREE::Convert::ToStr().

Here is the call graph for this function:

FREE::StatisticEntry::AddValueFREE::StatisticDictionary::AddValueDefinitionFREE::SessionComponentCache::GetIDPathFREE::StatisticValueDefinition::GetRefIDFREE::StatisticDictionary::GetValueDefinitionByNameFREE::OptimizerControllerBase::SetStatisticEntryMainComponentFREE::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:22:22 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000