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 | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
elastix::ComponentDatabase Class Reference

#include <elxComponentDatabase.h>

Detailed Description

The ComponentDatabase class is a class that stores the New() functions of all components.

In elastix the metric/transform/dimension/pixeltype etc. are all selected at runtime. To make this possible, all components (metric/transform etc) have to compiled for different dimension/pixeltype. The elx::ComponentDatabase stores for each instance and each pixeltype/dimension a pointers to a function that creates a component of the specific type.

Each new component (a new metric for example should "make itself known" by calling the elxInstallMacro, which is defined in elxMacro.h .

See also
elxInstallFunctions

Definition at line 52 of file elxComponentDatabase.h.

Inheritance diagram for elastix::ComponentDatabase:
Inheritance graph
[legend]

Public Types

typedef std::string ComponentDescriptionType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef CreatorMapType::value_type CreatorMapEntryType
 
typedef std::pair< ComponentDescriptionType, IndexTypeCreatorMapKeyType
 
typedef std::map< CreatorMapKeyType, CreatorMapValueTypeCreatorMapType
 
typedef PtrToCreator CreatorMapValueType
 
typedef unsigned int ImageDimensionType
 
typedef std::pair< PixelTypeDescriptionType, ImageDimensionTypeImageTypeDescriptionType
 
typedef IndexMapType::value_type IndexMapEntryType
 
typedef std::pair< ImageTypeDescriptionType, ImageTypeDescriptionTypeIndexMapKeyType
 
typedef std::map< IndexMapKeyType, IndexMapValueTypeIndexMapType
 
typedef IndexType IndexMapValueType
 
typedef unsigned int IndexType
 
typedef ObjectType::Pointer ObjectPointer
 
typedef itk::Object ObjectType
 
typedef std::string PixelTypeDescriptionType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ObjectPointer(* PtrToCreator) (void)
 
typedef ComponentDatabase Self
 
typedef itk::Object Superclass
 

Public Member Functions

virtual const char * GetClassName () const
 
PtrToCreator GetCreator (const ComponentDescriptionType &name, IndexType i)
 
CreatorMapTypeGetCreatorMap (void)
 
IndexType GetIndex (const PixelTypeDescriptionType &fixedPixelType, ImageDimensionType fixedDimension, const PixelTypeDescriptionType &movingPixelType, ImageDimensionType movingDimension)
 
IndexMapTypeGetIndexMap (void)
 
int SetCreator (const ComponentDescriptionType &name, IndexType i, PtrToCreator creator)
 
int SetIndex (const PixelTypeDescriptionType &fixedPixelType, ImageDimensionType fixedDimension, const PixelTypeDescriptionType &movingPixelType, ImageDimensionType movingDimension, IndexType i)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ComponentDatabase ()
 
virtual ~ComponentDatabase ()
 

Protected Attributes

CreatorMapType CreatorMap
 
IndexMapType IndexMap
 

Private Member Functions

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

Member Typedef Documentation

Definition at line 77 of file elxComponentDatabase.h.

typedef itk::SmartPointer< const Self > elastix::ComponentDatabase::ConstPointer

Definition at line 61 of file elxComponentDatabase.h.

typedef CreatorMapType::value_type elastix::ComponentDatabase::CreatorMapEntryType

Definition at line 85 of file elxComponentDatabase.h.

Definition at line 80 of file elxComponentDatabase.h.

Definition at line 84 of file elxComponentDatabase.h.

Definition at line 81 of file elxComponentDatabase.h.

Definition at line 93 of file elxComponentDatabase.h.

Definition at line 96 of file elxComponentDatabase.h.

typedef IndexMapType::value_type elastix::ComponentDatabase::IndexMapEntryType

Definition at line 108 of file elxComponentDatabase.h.

This pair contains the ImageTypeDescription of the FixedImageType and the MovingImageType.

Definition at line 103 of file elxComponentDatabase.h.

Definition at line 107 of file elxComponentDatabase.h.

Definition at line 104 of file elxComponentDatabase.h.

The Index is the number of the ElastixTypedef<number>::ElastixType.

Definition at line 64 of file elxComponentDatabase.h.

typedef ObjectType::Pointer elastix::ComponentDatabase::ObjectPointer

Definition at line 71 of file elxComponentDatabase.h.

Typedefs for the CreatorMap

Definition at line 70 of file elxComponentDatabase.h.

Typedefs for the IndexMap. The ImageTypeDescription contains the pixeltype (as a string) and the dimension (unsigned int).

Definition at line 92 of file elxComponentDatabase.h.

typedef itk::SmartPointer< Self > elastix::ComponentDatabase::Pointer

Definition at line 60 of file elxComponentDatabase.h.

typedef ObjectPointer(* elastix::ComponentDatabase::PtrToCreator) (void)

PtrToCreator is a pointer to a function which outputs an ObjectPointer and has no input arguments.

Definition at line 76 of file elxComponentDatabase.h.

Standard.

Definition at line 58 of file elxComponentDatabase.h.

Definition at line 59 of file elxComponentDatabase.h.

Constructor & Destructor Documentation

elastix::ComponentDatabase::ComponentDatabase ( )
inlineprotected

Definition at line 141 of file elxComponentDatabase.h.

virtual elastix::ComponentDatabase::~ComponentDatabase ( )
inlineprotectedvirtual

Definition at line 142 of file elxComponentDatabase.h.

elastix::ComponentDatabase::ComponentDatabase ( const Self )
private

Member Function Documentation

virtual const char* elastix::ComponentDatabase::GetClassName ( ) const
virtual
PtrToCreator elastix::ComponentDatabase::GetCreator ( const ComponentDescriptionType name,
IndexType  i 
)

Functions to get an entry in a map

CreatorMapType& elastix::ComponentDatabase::GetCreatorMap ( void  )

Functions to get the CreatorMap and the IndexMap.

IndexType elastix::ComponentDatabase::GetIndex ( const PixelTypeDescriptionType fixedPixelType,
ImageDimensionType  fixedDimension,
const PixelTypeDescriptionType movingPixelType,
ImageDimensionType  movingDimension 
)
IndexMapType& elastix::ComponentDatabase::GetIndexMap ( void  )
static Pointer elastix::ComponentDatabase::New ( )
static
void elastix::ComponentDatabase::operator= ( const Self )
private
int elastix::ComponentDatabase::SetCreator ( const ComponentDescriptionType name,
IndexType  i,
PtrToCreator  creator 
)

Functions to set an entry in a map.

int elastix::ComponentDatabase::SetIndex ( const PixelTypeDescriptionType fixedPixelType,
ImageDimensionType  fixedDimension,
const PixelTypeDescriptionType movingPixelType,
ImageDimensionType  movingDimension,
IndexType  i 
)

Field Documentation

CreatorMapType elastix::ComponentDatabase::CreatorMap
protected

Definition at line 144 of file elxComponentDatabase.h.

IndexMapType elastix::ComponentDatabase::IndexMap
protected

Definition at line 145 of file elxComponentDatabase.h.



Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo