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>

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

Public Types

typedef std::string ComponentDescriptionType
 
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef CreatorMapType::value_type CreatorMapEntryType
 
typedef std::pair
< ComponentDescriptionType,
IndexType
CreatorMapKeyType
 
typedef std::map
< CreatorMapKeyType,
CreatorMapValueType
CreatorMapType
 
typedef PtrToCreator CreatorMapValueType
 
typedef unsigned int ImageDimensionType
 
typedef std::pair
< PixelTypeDescriptionType,
ImageDimensionType
ImageTypeDescriptionType
 
typedef IndexMapType::value_type IndexMapEntryType
 
typedef std::pair
< ImageTypeDescriptionType,
ImageTypeDescriptionType
IndexMapKeyType
 
typedef std::map
< IndexMapKeyType,
IndexMapValueType
IndexMapType
 
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 &)
 

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 48 of file elxComponentDatabase.h.

Member Typedef Documentation

Definition at line 73 of file elxComponentDatabase.h.

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

Definition at line 57 of file elxComponentDatabase.h.

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

Definition at line 81 of file elxComponentDatabase.h.

Definition at line 76 of file elxComponentDatabase.h.

Definition at line 80 of file elxComponentDatabase.h.

Definition at line 77 of file elxComponentDatabase.h.

Definition at line 89 of file elxComponentDatabase.h.

Definition at line 92 of file elxComponentDatabase.h.

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

Definition at line 104 of file elxComponentDatabase.h.

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

Definition at line 99 of file elxComponentDatabase.h.

Definition at line 103 of file elxComponentDatabase.h.

Definition at line 100 of file elxComponentDatabase.h.

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

Definition at line 60 of file elxComponentDatabase.h.

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

Definition at line 67 of file elxComponentDatabase.h.

Typedefs for the CreatorMap

Definition at line 66 of file elxComponentDatabase.h.

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

Definition at line 88 of file elxComponentDatabase.h.

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

Definition at line 56 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 72 of file elxComponentDatabase.h.

Standard.

Definition at line 54 of file elxComponentDatabase.h.

Definition at line 55 of file elxComponentDatabase.h.

Constructor & Destructor Documentation

elastix::ComponentDatabase::ComponentDatabase ( )
inlineprotected

Definition at line 137 of file elxComponentDatabase.h.

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

Definition at line 138 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 140 of file elxComponentDatabase.h.

IndexMapType elastix::ComponentDatabase::IndexMap
protected

Definition at line 141 of file elxComponentDatabase.h.



Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo