Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxComponentDatabase.h>
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 .
Definition at line 52 of file elxComponentDatabase.h.
Public Member Functions | |
virtual const char * | GetClassName () const |
PtrToCreator | GetCreator (const ComponentDescriptionType &name, IndexType i) const |
IndexType | GetIndex (const PixelTypeDescriptionType &fixedPixelType, ImageDimensionType fixedDimension, const PixelTypeDescriptionType &movingPixelType, ImageDimensionType movingDimension) const |
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 () | |
~ComponentDatabase () override | |
Private Member Functions | |
ComponentDatabase (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
CreatorMapType | CreatorMap |
IndexMapType | IndexMap |
typedef std::string elastix::ComponentDatabase::ComponentDescriptionType |
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.
typedef std::pair< ComponentDescriptionType, IndexType > elastix::ComponentDatabase::CreatorMapKeyType |
Definition at line 80 of file elxComponentDatabase.h.
typedef std::map< CreatorMapKeyType, CreatorMapValueType > elastix::ComponentDatabase::CreatorMapType |
Definition at line 84 of file elxComponentDatabase.h.
Definition at line 81 of file elxComponentDatabase.h.
typedef unsigned int elastix::ComponentDatabase::ImageDimensionType |
Definition at line 93 of file elxComponentDatabase.h.
typedef std::pair< PixelTypeDescriptionType, ImageDimensionType > elastix::ComponentDatabase::ImageTypeDescriptionType |
Definition at line 96 of file elxComponentDatabase.h.
typedef IndexMapType::value_type elastix::ComponentDatabase::IndexMapEntryType |
Definition at line 108 of file elxComponentDatabase.h.
typedef std::pair< ImageTypeDescriptionType, ImageTypeDescriptionType > elastix::ComponentDatabase::IndexMapKeyType |
This pair contains the ImageTypeDescription of the FixedImageType and the MovingImageType.
Definition at line 103 of file elxComponentDatabase.h.
typedef std::map< IndexMapKeyType, IndexMapValueType > elastix::ComponentDatabase::IndexMapType |
Definition at line 107 of file elxComponentDatabase.h.
Definition at line 104 of file elxComponentDatabase.h.
typedef unsigned int elastix::ComponentDatabase::IndexType |
The Index is the number of the ElastixTypedef<number>::ElastixType.
Definition at line 67 of file elxComponentDatabase.h.
typedef ObjectType::Pointer elastix::ComponentDatabase::ObjectPointer |
Definition at line 71 of file elxComponentDatabase.h.
typedef itk::Object elastix::ComponentDatabase::ObjectType |
Typedefs for the CreatorMap
Definition at line 70 of file elxComponentDatabase.h.
typedef std::string elastix::ComponentDatabase::PixelTypeDescriptionType |
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.
typedef itk::Object elastix::ComponentDatabase::Superclass |
Definition at line 59 of file elxComponentDatabase.h.
|
inlineprotected |
Definition at line 136 of file elxComponentDatabase.h.
|
inlineoverrideprotected |
Definition at line 137 of file elxComponentDatabase.h.
|
private |
|
virtual |
PtrToCreator elastix::ComponentDatabase::GetCreator | ( | const ComponentDescriptionType & | name, |
IndexType | i | ||
) | const |
Functions to get an entry in a map
IndexType elastix::ComponentDatabase::GetIndex | ( | const PixelTypeDescriptionType & | fixedPixelType, |
ImageDimensionType | fixedDimension, | ||
const PixelTypeDescriptionType & | movingPixelType, | ||
ImageDimensionType | movingDimension | ||
) | const |
|
static |
|
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 | ||
) |
|
private |
Definition at line 141 of file elxComponentDatabase.h.
|
private |
Definition at line 142 of file elxComponentDatabase.h.
Generated on 1667476801 for elastix by 1.9.4 |