FREE::GradientDescentOptimizerController Class Reference
[Optimizer controller]

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

#include <freGradientDescentOptimizerController.h>

Inheritance diagram for FREE::GradientDescentOptimizerController:

Inheritance graph
FREE::SVNonLinearOptimizerControllerBase\< itk::GradientDescentOptimizer \>FREE::OptimizerControllerBase\< itk::GradientDescentOptimizer \>FREE::ComponentControllerBase\< itk::GradientDescentOptimizer \>FREE::ComponentControllerInterfaceFREE::OptimizerControllerInterface
[legend]
Collaboration diagram for FREE::GradientDescentOptimizerController:

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

List of all members.

Public Types

typedef
itk::GradientDescentOptimizer 
ComponentType
typedef
SVNonLinearOptimizerControllerBase
< ComponentType
Superclass

Public Member Functions

 itkTypeMacro (GradientDescentOptimizerController, SVNonLinearOptimizerControllerBase)
virtual MeasuresType GetCurrentValue (ComponentType *pOptimizer) const
 GradientDescentOptimizerController ()

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.

GradientDescentOptimizerController is derived from OptimizerControllerBase and the class for the control of gradient descent optimizer. The class uses the itk::GradientDescentOptimizer

Definition at line 42 of file freGradientDescentOptimizerController.h.


Member Typedef Documentation

typedef itk::GradientDescentOptimizer FREE::GradientDescentOptimizerController::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< itk::GradientDescentOptimizer >.

Definition at line 47 of file freGradientDescentOptimizerController.h.

typedef SVNonLinearOptimizerControllerBase<ComponentType> FREE::GradientDescentOptimizerController::Superclass

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

Definition at line 48 of file freGradientDescentOptimizerController.h.


Constructor & Destructor Documentation

FREE::GradientDescentOptimizerController::GradientDescentOptimizerController (  ) 

Implementation of FREE::GradientDescentOptimizerController /////////

Definition at line 36 of file freGradientDescentOptimizerController.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::GradientDescentOptimizerController::itkTypeMacro ( GradientDescentOptimizerController  ,
SVNonLinearOptimizerControllerBase   
)

GradientDescentOptimizerController::MeasuresType FREE::GradientDescentOptimizerController::GetCurrentValue ( ComponentType pOptimizer  )  const [virtual]

Implements FREE::SVNonLinearOptimizerControllerBase< itk::GradientDescentOptimizer >.

Definition at line 108 of file freGradientDescentOptimizerController.cxx.

void FREE::GradientDescentOptimizerController::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::GradientDescentOptimizer >.

Definition at line 45 of file freGradientDescentOptimizerController.cxx.

References FREE::cParam_Iterations, FREE::cParam_LearningRate, FREE::cParamDsc_Iterations, FREE::cParamDsc_LearningRate, FREE::SVNonLinearOptimizerControllerBase< TControlledOptimizer >::GenerateProfile(), FREE::CtrlProfile::ControllerProfileBase::Parameters(), FREE::Parameter::PVTDouble, and FREE::Parameter::PVTULong.

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

void FREE::GradientDescentOptimizerController::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::GradientDescentOptimizer >.

Definition at line 58 of file freGradientDescentOptimizerController.cxx.

References catchAllNPassMacro, FREE::SessionComponentCache::Controller(), FREE::cParam_Iterations, FREE::cParam_LearningRate, FREE::ComponentControllerInterface::GetParameter(), FREE::SessionAccessor::GetParameterValue(), FREE::SessionComponentCache::GetParentCache(), FREE::OptimizerControllerBase< itk::GradientDescentOptimizer >::GetTransformScales(), and throwCtrlExceptionMacro.

Here is the call graph for this function:

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

void FREE::GradientDescentOptimizerController::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::ComponentControllerBase< itk::GradientDescentOptimizer >.

Definition at line 86 of file freGradientDescentOptimizerController.cxx.

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:21:41 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000