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 | Protected Attributes | Private Member Functions
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 >:
Inheritance graph
[legend]

Public Types

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

Public Member Functions

void AddTargetCellToIterationInfo (const char *const name)
 
ConfigurationGetConfiguration () const
 
ElastixTypeGetElastix () const
 
xl::xoutbaseGetIterationInfoAt (const char *const name)
 
RegistrationTypeGetRegistration () const
 
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
 
int RemoveTargetCellFromIterationInfo (const char *const name)
 
void SetConfiguration (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

ConfigurationPointer 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

◆ ConfigurationPointer

template<class TElastix >
using elastix::BaseComponentSE< TElastix >::ConfigurationPointer = Configuration::Pointer

Configuration pointer type.

Definition at line 60 of file elxBaseComponentSE.h.

◆ 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 65 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 104 of file elxBaseComponentSE.h.

◆ GetConfiguration()

template<class TElastix >
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 114 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 86 of file elxBaseComponentSE.h.

◆ GetIterationInfoAt()

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

Definition at line 98 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 130 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 >
int elastix::BaseComponentSE< TElastix >::RemoveTargetCellFromIterationInfo ( const char *const  name)
inline

Definition at line 92 of file elxBaseComponentSE.h.

◆ SetConfiguration()

template<class TElastix >
void elastix::BaseComponentSE< TElastix >::SetConfiguration ( 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 >
ConfigurationPointer elastix::BaseComponentSE< TElastix >::m_Configuration {}
protected

Definition at line 141 of file elxBaseComponentSE.h.

◆ m_Elastix

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

Definition at line 140 of file elxBaseComponentSE.h.

◆ m_Registration

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

Definition at line 142 of file elxBaseComponentSE.h.



Generated on Wed 12 Apr 2023 for elastix by doxygen 1.9.6 elastix logo