go home Home | Main Page | Topics | 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<typename 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")
 ITK_DISALLOW_COPY_AND_MOVE (Powell)
 itkOverrideGetNameOfClassMacro (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)
 itkOverrideGetNameOfClassMacro (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)
itk::Statistics::MersenneTwisterRandomVariateGenerator & GetRandomVariateGenerator ()
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)
 itkVirtualGetNameOfClassMacro (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<typename TElastix>
using elastix::Powell< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 53 of file elxPowell.h.

◆ ITKBaseType

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

Definition at line 74 of file elxPowell.h.

◆ Pointer

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

Definition at line 52 of file elxPowell.h.

◆ Self

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

Standard ITK.

Definition at line 49 of file elxPowell.h.

◆ Superclass1

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

Definition at line 50 of file elxPowell.h.

◆ Superclass2

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

Definition at line 51 of file elxPowell.h.

Constructor & Destructor Documentation

◆ Powell()

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

◆ ~Powell()

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

Member Function Documentation

◆ AfterEachIteration()

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

Reimplemented from elastix::BaseComponent.

◆ AfterEachResolution()

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

Reimplemented from elastix::BaseComponent.

◆ AfterRegistration()

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

Reimplemented from elastix::BaseComponent.

◆ BeforeEachResolution()

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

Reimplemented from elastix::BaseComponent.

◆ BeforeRegistration()

template<typename 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<typename 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")

◆ ITK_DISALLOW_COPY_AND_MOVE()

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

◆ itkOverrideGetNameOfClassMacro()

template<typename TElastix>
elastix::Powell< TElastix >::itkOverrideGetNameOfClassMacro ( Powell< TElastix > )

Run-time type information (and related methods).

◆ New()

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

Method for creation through the object factory.

◆ SetInitialPosition()

template<typename 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.

Member Data Documentation

◆ elxOverrideGetSelfMacro

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

Definition at line 108 of file elxPowell.h.



Generated on 26-02-2026 for elastix by doxygen 1.16.1 (669aeeefca743c148e2d935b3d3c69535c7491e6) elastix logo