go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions
elastix::RegularStepGradientDescent< TElastix > Class Template Reference

An optimizer based on gradient descent... More...

#include <elxRegularStepGradientDescent.h>

Inheritance diagram for elastix::RegularStepGradientDescent< TElastix >:
Inheritance graph
[legend]
Collaboration diagram for elastix::RegularStepGradientDescent< TElastix >:
Collaboration graph
[legend]

Public Types

typedef
Superclass2::ConfigurationPointer 
ConfigurationPointer
typedef
Superclass2::ConfigurationType 
ConfigurationType
typedef SmartPointer< const SelfConstPointer
typedef
Superclass1::CostFunctionPointer 
CostFunctionPointer
typedef
Superclass1::CostFunctionType 
CostFunctionType
typedef Superclass2::ElastixPointer ElastixPointer
typedef Superclass2::ElastixType ElastixType
typedef Superclass2::ITKBaseType ITKBaseType
typedef Superclass1::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef
Superclass2::RegistrationPointer 
RegistrationPointer
typedef
Superclass2::RegistrationType 
RegistrationType
typedef RegularStepGradientDescent Self
typedef
RegularStepGradientDescentOptimizer 
Superclass1
typedef OptimizerBase< TElastix > Superclass2

Public Member Functions

virtual void AfterEachIteration (void)
virtual void AfterEachResolution (void)
virtual void AfterRegistration (void)
virtual void BeforeEachResolution (void)
virtual void BeforeRegistration (void)
 elxClassNameMacro ("RegularStepGradientDescent")
virtual const char * GetClassName () const
virtual void SetInitialPosition (const ParametersType &param)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 RegularStepGradientDescent ()
virtual ~RegularStepGradientDescent ()

Private Member Functions

void operator= (const Self &)
 RegularStepGradientDescent (const Self &)

Detailed Description

template<class TElastix>
class elastix::RegularStepGradientDescent< TElastix >

An optimizer based on gradient descent...

This optimizer is a wrap around the itk::RegularStepGradientDescentOptimizer. This wrap-around class takes care of setting parameters, and printing progress information. For detailed information about the optimisation method, please read the documentation of the itkRegularStepGradientDescentOptimizer (in the ITK-manual).

The parameters used in this class are:

Parameters:
Optimizer: Select this optimizer as follows:
(Optimizer "RegularStepGradientDescent")
Parameters:
MaximumNumberOfIterations: the maximum number of iterations in each resolution.
example: (MaximumNumberOfIterations 100 100 50)
Default value: 500.
Parameters:
MinimumGradientMagnitude: stopping criterion. If the magnitude of the derivative of the cost function is below this value, optimisation is stopped.
example: (MinimumGradientMagnitude 0.0001 0.0001 0.001)
Default value: 1e-8.
Parameters:
MinimumStepLength: stopping criterion. If the steplength is below this value, optimisation is stopped.
example: (MinimumStepLength 1.0 0.5 0.1)
Default value: 0.5 / 2^resolutionlevel
Parameters:
MaximumStepLength: the starting steplength.
example: (MaximumStepLength 16.0 8.0 4.0)
Default value: 16 / 2^resolutionlevel.
Parameters:
RelaxationFactor: the factor with which the steplength is multiplied, if the optimiser notices that a smaller steplength is needed.
example: (RelaxationFactor 0.5 0.5 0.8 ).
Default/recommended value: 0.5.
See also:
ImprovedRegularStepGradientDescentOptimizer

Definition at line 63 of file elxRegularStepGradientDescent.h.


Member Typedef Documentation

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 98 of file elxRegularStepGradientDescent.h.

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 97 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef SmartPointer<const Self> elastix::RegularStepGradientDescent< TElastix >::ConstPointer

Definition at line 76 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef Superclass1::CostFunctionPointer elastix::RegularStepGradientDescent< TElastix >::CostFunctionPointer

Definition at line 92 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef Superclass1::CostFunctionType elastix::RegularStepGradientDescent< TElastix >::CostFunctionType

Typedef's inherited from Superclass1.

Definition at line 91 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef Superclass2::ElastixPointer elastix::RegularStepGradientDescent< TElastix >::ElastixPointer

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 96 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef Superclass2::ElastixType elastix::RegularStepGradientDescent< TElastix >::ElastixType

Typedef's inherited from Elastix.

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 95 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef Superclass2::ITKBaseType elastix::RegularStepGradientDescent< TElastix >::ITKBaseType

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 101 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef Superclass1::ParametersType elastix::RegularStepGradientDescent< TElastix >::ParametersType

Typedef for the ParametersType.

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 104 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef SmartPointer<Self> elastix::RegularStepGradientDescent< TElastix >::Pointer

Definition at line 75 of file elxRegularStepGradientDescent.h.

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 100 of file elxRegularStepGradientDescent.h.

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 99 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef RegularStepGradientDescent elastix::RegularStepGradientDescent< TElastix >::Self

Standard ITK.

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 72 of file elxRegularStepGradientDescent.h.

Definition at line 73 of file elxRegularStepGradientDescent.h.

template<class TElastix >
typedef OptimizerBase<TElastix> elastix::RegularStepGradientDescent< TElastix >::Superclass2

Definition at line 74 of file elxRegularStepGradientDescent.h.


Constructor & Destructor Documentation

template<class TElastix >
elastix::RegularStepGradientDescent< TElastix >::RegularStepGradientDescent ( ) [inline, protected]

Definition at line 123 of file elxRegularStepGradientDescent.h.

template<class TElastix >
virtual elastix::RegularStepGradientDescent< TElastix >::~RegularStepGradientDescent ( ) [inline, protected, virtual]

Definition at line 124 of file elxRegularStepGradientDescent.h.

template<class TElastix >
elastix::RegularStepGradientDescent< TElastix >::RegularStepGradientDescent ( const Self ) [private]

Member Function Documentation

template<class TElastix >
virtual void elastix::RegularStepGradientDescent< TElastix >::AfterEachIteration ( void  ) [virtual]

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::RegularStepGradientDescent< TElastix >::AfterEachResolution ( void  ) [virtual]

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::RegularStepGradientDescent< TElastix >::AfterRegistration ( void  ) [virtual]

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::RegularStepGradientDescent< TElastix >::BeforeEachResolution ( void  ) [virtual]

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::RegularStepGradientDescent< TElastix >::BeforeRegistration ( void  ) [virtual]

Methods invoked by elastix, in which parameters can be set and progress information can be printed.

Reimplemented from elastix::BaseComponent.

template<class TElastix >
elastix::RegularStepGradientDescent< TElastix >::elxClassNameMacro ( "RegularStepGradientDescent< TElastix >"  )

Name of this class. Use this name in the parameter file to select this specific optimizer.
example: (Optimizer "RegularStepGradientDescent")

template<class TElastix >
virtual const char* elastix::RegularStepGradientDescent< TElastix >::GetClassName ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from elastix::OptimizerBase< TElastix >.

template<class TElastix >
static Pointer elastix::RegularStepGradientDescent< TElastix >::New ( ) [static]

Method for creation through the object factory.

template<class TElastix >
void elastix::RegularStepGradientDescent< TElastix >::operator= ( const Self ) [private]
template<class TElastix >
virtual void elastix::RegularStepGradientDescent< TElastix >::SetInitialPosition ( const ParametersType param) [virtual]

Override the SetInitialPosition. Override the implementation in itkOptimizer.h, to ensure that the scales array and the parameters array have the same size.



Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo