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 | Protected Member Functions | Private Member Functions | Private Attributes
elastix::OptimizerBase< TElastix > Class Template Reference

#include <elxOptimizerBase.h>

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

Public Types

typedef
Superclass::ConfigurationPointer 
ConfigurationPointer
typedef
Superclass::ConfigurationType 
ConfigurationType
typedef Superclass::ElastixPointer ElastixPointer
typedef Superclass::ElastixType ElastixType
typedef itk::Optimizer ITKBaseType
typedef ITKBaseType::ParametersType ParametersType
typedef
Superclass::RegistrationPointer 
RegistrationPointer
typedef
Superclass::RegistrationType 
RegistrationType
typedef OptimizerBase Self
typedef BaseComponentSE< TElastix > Superclass

Public Member Functions

virtual void BeforeEachResolutionBase ()
virtual ITKBaseTypeGetAsITKBaseType (void)
virtual const ITKBaseTypeGetAsITKBaseType (void) const
virtual const char * GetClassName () const
virtual void SetCurrentPositionPublic (const ParametersType &param)
virtual void SetSinusScales (double amplitude, double frequency, unsigned long numberOfParameters)

Protected Member Functions

virtual bool GetNewSamplesEveryIteration (void) const
 OptimizerBase ()
virtual void SelectNewSamples (void)
virtual ~OptimizerBase ()

Private Member Functions

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

Private Attributes

bool m_NewSamplesEveryIteration

Detailed Description

template<class TElastix>
class elastix::OptimizerBase< TElastix >

This class is the elastix base class for all Optimizers.

This class contains all the common functionality for Optimizers.

The parameters used in this class are:

Parameters:
NewSamplesEveryIteration: if this flag is set to "true" some optimizers ask the metric to select a new set of spatial samples in every iteration. This, if used in combination with the correct optimizer (such as the StandardGradientDescent), and ImageSampler (Random, RandomCoordinate, or RandomSparseMask), allows for a very low number of spatial samples (around 2000), even with large images and transforms with a large number of parameters.
Choose one from {"true", "false"} for every resolution.
example: (NewSamplesEveryIteration "true" "true" "true")
Default is "false" for every resolution.

Definition at line 51 of file elxOptimizerBase.h.


Member Typedef Documentation

template<class TElastix >
typedef Superclass::ConfigurationPointer elastix::OptimizerBase< TElastix >::ConfigurationPointer
template<class TElastix >
typedef Superclass::ConfigurationType elastix::OptimizerBase< TElastix >::ConfigurationType
template<class TElastix >
typedef Superclass::ElastixPointer elastix::OptimizerBase< TElastix >::ElastixPointer
template<class TElastix >
typedef Superclass::ElastixType elastix::OptimizerBase< TElastix >::ElastixType
template<class TElastix >
typedef itk::Optimizer elastix::OptimizerBase< TElastix >::ITKBaseType
template<class TElastix >
typedef ITKBaseType::ParametersType elastix::OptimizerBase< TElastix >::ParametersType
template<class TElastix >
typedef Superclass::RegistrationPointer elastix::OptimizerBase< TElastix >::RegistrationPointer
template<class TElastix >
typedef Superclass::RegistrationType elastix::OptimizerBase< TElastix >::RegistrationType
template<class TElastix >
typedef OptimizerBase elastix::OptimizerBase< TElastix >::Self
template<class TElastix >
typedef BaseComponentSE<TElastix> elastix::OptimizerBase< TElastix >::Superclass

Reimplemented from elastix::BaseComponentSE< TElastix >.

Definition at line 57 of file elxOptimizerBase.h.


Constructor & Destructor Documentation

template<class TElastix >
elastix::OptimizerBase< TElastix >::OptimizerBase ( ) [protected]

The constructor.

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

The destructor.

Definition at line 107 of file elxOptimizerBase.h.

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

The private constructor.


Member Function Documentation

template<class TElastix >
virtual void elastix::OptimizerBase< TElastix >::BeforeEachResolutionBase ( ) [virtual]

Execute stuff before each new pyramid resolution:

  • Find out if new samples are used every new iteration in this resolution.

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual ITKBaseType* elastix::OptimizerBase< TElastix >::GetAsITKBaseType ( void  ) [inline, virtual]

Cast to ITKBaseType.

Definition at line 77 of file elxOptimizerBase.h.

template<class TElastix >
virtual const ITKBaseType* elastix::OptimizerBase< TElastix >::GetAsITKBaseType ( void  ) const [inline, virtual]

Cast to ITKBaseType, to use in const functions.

Definition at line 83 of file elxOptimizerBase.h.

template<class TElastix >
virtual const char* elastix::OptimizerBase< TElastix >::GetClassName ( ) const [virtual]
template<class TElastix >
virtual bool elastix::OptimizerBase< TElastix >::GetNewSamplesEveryIteration ( void  ) const [protected, virtual]

Check whether the user asked to select new samples every iteration.

template<class TElastix >
void elastix::OptimizerBase< TElastix >::operator= ( const Self ) [private]

The private copy constructor.

template<class TElastix >
virtual void elastix::OptimizerBase< TElastix >::SelectNewSamples ( void  ) [protected, virtual]

Force the metric to base its computation on a new subset of image samples. Not every metric may have implemented this.

template<class TElastix >
virtual void elastix::OptimizerBase< TElastix >::SetCurrentPositionPublic ( const ParametersType param) [virtual]

Add empty SetCurrentPositionPublic, so this function is known in every inherited class.

template<class TElastix >
virtual void elastix::OptimizerBase< TElastix >::SetSinusScales ( double  amplitude,
double  frequency,
unsigned long  numberOfParameters 
) [virtual]

Method that sets the scales defined by a sinus scale[i] = amplitude^( sin(i/nrofparam*2pi*frequency) )


Field Documentation

template<class TElastix >
bool elastix::OptimizerBase< TElastix >::m_NewSamplesEveryIteration [private]

Member variable to store the user preference for using new samples each iteration.

Definition at line 127 of file elxOptimizerBase.h.



Generated on 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo