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

#include <elxBaseComponentSE.h>

Detailed Description

template<class TElastix>
class elastix::BaseComponentSE< TElastix >

The BaseComponentSE class is a base class for elastix components that provides some basic functionality.

Most elastix component will not directly inherit from the elx::BaseComponent class but from this one, since it adds some methods that most methods need anyway, such as Set/GetElastix, Set/GetConfiguration.

See also
BaseComponent

Definition at line 47 of file elxBaseComponentSE.h.

Inheritance diagram for elastix::BaseComponentSE< TElastix >:

Public Types

using ElastixType = TElastix
 
using RegistrationType = typename ElastixType::RegistrationBaseType
 
using Self = BaseComponentSE
 
using Superclass = BaseComponent
 

Public Member Functions

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 AfterEachIteration ()
 
virtual void AfterEachIterationBase ()
 
virtual void AfterEachResolution ()
 
virtual void AfterEachResolutionBase ()
 
virtual void AfterRegistration ()
 
virtual void AfterRegistrationBase ()
 
virtual int BeforeAll ()
 
virtual int BeforeAllBase ()
 
virtual void BeforeEachResolution ()
 
virtual void BeforeEachResolutionBase ()
 
virtual void BeforeRegistration ()
 
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)
 

Protected Member Functions

 BaseComponentSE ()=default
 
 ~BaseComponentSE () override=default
 
- Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()=default
 
virtual ~BaseComponent ()=default
 

Protected Attributes

Configuration::ConstPointer m_Configuration {}
 
itk::WeakPointer< TElastix > m_Elastix {}
 
RegistrationTypem_Registration {}
 

Private Member Functions

virtual const itk::Object & GetSelf () const =0
 
virtual itk::Object & GetSelf ()=0
 

Additional Inherited Members

- 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 ()
 

Member Typedef Documentation

◆ ElastixType

template<class TElastix >
using elastix::BaseComponentSE< TElastix >::ElastixType = TElastix

Elastix typedef.

Definition at line 57 of file elxBaseComponentSE.h.

◆ RegistrationType

template<class TElastix >
using elastix::BaseComponentSE< TElastix >::RegistrationType = typename ElastixType::RegistrationBaseType

RegistrationType; NB: this is the elx::RegistrationBase not an itk::Object or something like that.

Definition at line 62 of file elxBaseComponentSE.h.

◆ Self

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

Standard stuff.

Definition at line 53 of file elxBaseComponentSE.h.

◆ Superclass

template<class TElastix >
using elastix::BaseComponentSE< TElastix >::Superclass = BaseComponent

Definition at line 54 of file elxBaseComponentSE.h.

Constructor & Destructor Documentation

◆ BaseComponentSE()

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

◆ ~BaseComponentSE()

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

Member Function Documentation

◆ AddTargetCellToIterationInfo()

template<class TElastix >
void elastix::BaseComponentSE< TElastix >::AddTargetCellToIterationInfo ( const char *const name)
inline

Definition at line 101 of file elxBaseComponentSE.h.

◆ GetConfiguration()

template<class TElastix >
const Configuration * elastix::BaseComponentSE< TElastix >::GetConfiguration ( ) const
inline

itkGetModifiableObjectMacro(Configuration, Configuration); The configuration object provides functionality to read parameters and command line arguments.

Definition at line 111 of file elxBaseComponentSE.h.

◆ GetElastix()

template<class TElastix >
ElastixType * elastix::BaseComponentSE< TElastix >::GetElastix ( ) const
inline

itkGetModifiableObjectMacro( Elastix, ElastixType ); without the itkDebug call.

Definition at line 83 of file elxBaseComponentSE.h.

◆ GetIterationInfoAt()

template<class TElastix >
auto & elastix::BaseComponentSE< TElastix >::GetIterationInfoAt ( const char *const name)
inline

Definition at line 95 of file elxBaseComponentSE.h.

◆ GetRegistration()

template<class TElastix >
RegistrationType * elastix::BaseComponentSE< TElastix >::GetRegistration ( ) const
inline

Get a pointer to the Registration component. This is a convenience function, since the registration component is needed often by other components. It could be accessed also via GetElastix->GetElxRegistrationBase().

Definition at line 127 of file elxBaseComponentSE.h.

◆ GetSelf() [1/2]

template<class TElastix >
virtual const itk::Object & elastix::BaseComponentSE< TElastix >::GetSelf ( ) const
privatepure virtual

◆ GetSelf() [2/2]

template<class TElastix >
virtual itk::Object & elastix::BaseComponentSE< TElastix >::GetSelf ( )
privatepure virtual

◆ ITK_DISALLOW_COPY_AND_MOVE()

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

◆ RemoveTargetCellFromIterationInfo()

template<class TElastix >
void elastix::BaseComponentSE< TElastix >::RemoveTargetCellFromIterationInfo ( const char *const name)
inline

Definition at line 89 of file elxBaseComponentSE.h.

◆ SetConfiguration()

template<class TElastix >
void elastix::BaseComponentSE< TElastix >::SetConfiguration ( const Configuration * _arg)

Set the configuration. Added for transformix.

◆ SetElastix()

template<class TElastix >
void elastix::BaseComponentSE< TElastix >::SetElastix ( ElastixType * _arg)

Get/Set functions for Elastix. The Set-functions cannot be defined with the itkSetObjectMacro, since this class does not derive from itk::Object and thus does not have a Modified() method.

This method checks if this instance of the class can be casted (dynamically) to an itk::Object. If yes, it calls Modified()

Besides setting m_Elastix, this method also sets m_Configuration and m_Registration.

Field Documentation

◆ m_Configuration

template<class TElastix >
Configuration::ConstPointer elastix::BaseComponentSE< TElastix >::m_Configuration {}
protected

Definition at line 138 of file elxBaseComponentSE.h.

◆ m_Elastix

template<class TElastix >
itk::WeakPointer<TElastix> elastix::BaseComponentSE< TElastix >::m_Elastix {}
protected

Definition at line 137 of file elxBaseComponentSE.h.

◆ m_Registration

template<class TElastix >
RegistrationType* elastix::BaseComponentSE< TElastix >::m_Registration {}
protected

Definition at line 139 of file elxBaseComponentSE.h.



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