go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elastix::Powell< TElastix > Class Template Reference

#include <elxPowell.h>

Detailed Description

template<class TElastix>
class elastix::Powell< TElastix >

An optimizer based on Powell...

This optimizer is a wrap around the itk::PowellOptimizer. 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 itkPowellOptimizer (in the ITK-manual).

See also
ImprovedPowellOptimizer

Definition at line 41 of file elxPowell.h.

Inheritance diagram for elastix::Powell< TElastix >:

Public Types

using ConstPointer = itk::SmartPointer<const Self>
 
using ITKBaseType = typename Superclass2::ITKBaseType
 
using Pointer = itk::SmartPointer<Self>
 
using Self = Powell
 
using Superclass1 = PowellOptimizer
 
using Superclass2 = OptimizerBase<TElastix>
 
- Public Types inherited from elastix::OptimizerBase< TElastix >
using ElastixType
 
using ITKBaseType = itk::Optimizer
 
using ParametersType = typename ITKBaseType::ParametersType
 
using RegistrationType
 
using Self = OptimizerBase
 
using Superclass = BaseComponentSE<TElastix>
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
using ElastixType = TElastix
 
using RegistrationType = typename ElastixType::RegistrationBaseType
 
using Self = BaseComponentSE
 
using Superclass = BaseComponent
 

Public Member Functions

void AfterEachIteration () override
 
void AfterEachResolution () override
 
void AfterRegistration () override
 
void BeforeEachResolution () override
 
void BeforeRegistration () override
 
 elxClassNameMacro ("Powell")
 
virtual const char * GetClassName () const
 
 ITK_DISALLOW_COPY_AND_MOVE (Powell)
 
void SetInitialPosition (const ParametersType &param) override
 
- Public Member Functions inherited from elastix::OptimizerBase< TElastix >
void AfterRegistrationBase () override
 
void BeforeEachResolutionBase () override
 
ITKBaseTypeGetAsITKBaseType ()
 
const ITKBaseTypeGetAsITKBaseType () const
 
 ITK_DISALLOW_COPY_AND_MOVE (OptimizerBase)
 
virtual void SetCurrentPositionPublic (const ParametersType &param)
 
virtual void SetSinusScales (double amplitude, double frequency, unsigned long numberOfParameters)
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void AddTargetCellToIterationInfo (const char *const name)
 
const ConfigurationGetConfiguration () const
 
ElastixTypeGetElastix () const
 
auto & GetIterationInfoAt (const char *const name)
 
RegistrationTypeGetRegistration () const
 
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
 
void RemoveTargetCellFromIterationInfo (const char *const name)
 
void SetConfiguration (const Configuration *_arg)
 
void SetElastix (ElastixType *_arg)
 
- Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIterationBase ()
 
virtual void AfterEachResolutionBase ()
 
virtual int BeforeAll ()
 
virtual int BeforeAllBase ()
 
virtual void BeforeRegistrationBase ()
 
virtual const char * elxGetClassName () const
 
const char * GetComponentLabel () const
 
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
 
 itkTypeMacroNoParent (BaseComponent)
 
void SetComponentLabel (const char *label, unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from elastix::BaseComponent
template<typename TBaseComponent >
static auto AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType())
 
static void InitializeElastixExecutable ()
 
static bool IsElastixLibrary ()
 

Protected Member Functions

 Powell ()=default
 
 ~Powell () override=default
 
- Protected Member Functions inherited from elastix::OptimizerBase< TElastix >
virtual bool GetNewSamplesEveryIteration () const
 
 OptimizerBase ()=default
 
virtual void SelectNewSamples ()
 
 ~OptimizerBase () override=default
 
- Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()=default
 
 ~BaseComponentSE () override=default
 
- Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()=default
 
virtual ~BaseComponent ()=default
 

Private Attributes

 elxOverrideGetSelfMacro
 

Additional Inherited Members

- Protected Types inherited from elastix::OptimizerBase< TElastix >
using SettingsVectorType = typename std::vector<SettingsType>
 
- Static Protected Member Functions inherited from elastix::OptimizerBase< TElastix >
static void PrintSettingsVector (const SettingsVectorType &settings)
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
Configuration::ConstPointer m_Configuration {}
 
itk::WeakPointer< TElastix > m_Elastix {}
 
RegistrationTypem_Registration {}
 

Member Typedef Documentation

◆ ConstPointer

template<class TElastix >
using elastix::Powell< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 53 of file elxPowell.h.

◆ ITKBaseType

template<class TElastix >
using elastix::Powell< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 74 of file elxPowell.h.

◆ Pointer

template<class TElastix >
using elastix::Powell< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 52 of file elxPowell.h.

◆ Self

template<class TElastix >
using elastix::Powell< TElastix >::Self = Powell

Standard ITK.

Definition at line 49 of file elxPowell.h.

◆ Superclass1

template<class TElastix >
using elastix::Powell< TElastix >::Superclass1 = PowellOptimizer

Definition at line 50 of file elxPowell.h.

◆ Superclass2

template<class TElastix >
using elastix::Powell< TElastix >::Superclass2 = OptimizerBase<TElastix>

Definition at line 51 of file elxPowell.h.

Constructor & Destructor Documentation

◆ Powell()

template<class TElastix >
elastix::Powell< TElastix >::Powell ( )
protecteddefault

◆ ~Powell()

template<class TElastix >
elastix::Powell< TElastix >::~Powell ( )
overrideprotecteddefault

Member Function Documentation

◆ AfterEachIteration()

template<class TElastix >
void elastix::Powell< TElastix >::AfterEachIteration ( )
overridevirtual

Reimplemented from elastix::BaseComponent.

◆ AfterEachResolution()

template<class TElastix >
void elastix::Powell< TElastix >::AfterEachResolution ( )
overridevirtual

Reimplemented from elastix::BaseComponent.

◆ AfterRegistration()

template<class TElastix >
void elastix::Powell< TElastix >::AfterRegistration ( )
overridevirtual

Reimplemented from elastix::BaseComponent.

◆ BeforeEachResolution()

template<class TElastix >
void elastix::Powell< TElastix >::BeforeEachResolution ( )
overridevirtual

Reimplemented from elastix::BaseComponent.

◆ BeforeRegistration()

template<class TElastix >
void elastix::Powell< TElastix >::BeforeRegistration ( )
overridevirtual

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

Reimplemented from elastix::BaseComponent.

◆ elxClassNameMacro()

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

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

◆ GetClassName()

template<class TElastix >
virtual const char * elastix::Powell< TElastix >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from elastix::OptimizerBase< TElastix >.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TElastix >
elastix::Powell< TElastix >::ITK_DISALLOW_COPY_AND_MOVE ( Powell< TElastix > )

◆ New()

template<class TElastix >
static Pointer elastix::Powell< TElastix >::New ( )
static

Method for creation through the object factory.

◆ SetInitialPosition()

template<class TElastix >
void elastix::Powell< TElastix >::SetInitialPosition ( const ParametersType & param)
override

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

Field Documentation

◆ elxOverrideGetSelfMacro

template<class TElastix >
elastix::Powell< TElastix >::elxOverrideGetSelfMacro
private

Definition at line 108 of file elxPowell.h.



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo