#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 Types | |
using | ComponentDescriptionType = std::string |
using | ConstPointer = itk::SmartPointer<const Self> |
using | CreatorMapEntryType = CreatorMapType::value_type |
using | CreatorMapKeyType = std::pair<ComponentDescriptionType, IndexType> |
using | CreatorMapType = std::map<CreatorMapKeyType, CreatorMapValueType> |
using | CreatorMapValueType = PtrToCreator |
using | ImageDimensionType = unsigned int |
using | ImageTypeDescriptionType = std::pair<PixelTypeDescriptionType, ImageDimensionType> |
using | IndexMapEntryType = IndexMapType::value_type |
using | IndexMapKeyType = std::pair<ImageTypeDescriptionType, ImageTypeDescriptionType> |
using | IndexMapType = std::map<IndexMapKeyType, IndexMapValueType> |
using | IndexMapValueType = IndexType |
using | IndexType = unsigned int |
using | ObjectPointer = itk::Object::Pointer |
using | PixelTypeDescriptionType = std::string |
using | Pointer = itk::SmartPointer<Self> |
using | PtrToCreator = ObjectPointer (*)() |
using | Self = ComponentDatabase |
using | Superclass = itk::Object |
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 |
ITK_DISALLOW_COPY_AND_MOVE (ComponentDatabase) | |
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 ()=default | |
~ComponentDatabase () override=default | |
Private Attributes | |
CreatorMapType | CreatorMap |
IndexMapType | IndexMap |
using elastix::ComponentDatabase::ComponentDescriptionType = std::string |
Definition at line 76 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 61 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::CreatorMapEntryType = CreatorMapType::value_type |
Definition at line 80 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::CreatorMapKeyType = std::pair<ComponentDescriptionType, IndexType> |
Definition at line 77 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::CreatorMapType = std::map<CreatorMapKeyType, CreatorMapValueType> |
Definition at line 79 of file elxComponentDatabase.h.
Definition at line 78 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::ImageDimensionType = unsigned int |
Definition at line 88 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::ImageTypeDescriptionType = std::pair<PixelTypeDescriptionType, ImageDimensionType> |
Definition at line 89 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::IndexMapEntryType = IndexMapType::value_type |
Definition at line 97 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::IndexMapKeyType = std::pair<ImageTypeDescriptionType, ImageTypeDescriptionType> |
This pair contains the ImageTypeDescription of the FixedImageType and the MovingImageType.
Definition at line 94 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::IndexMapType = std::map<IndexMapKeyType, IndexMapValueType> |
Definition at line 96 of file elxComponentDatabase.h.
Definition at line 95 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::IndexType = unsigned int |
The Index is the number of the ElastixTypedef<number>::ElastixType.
Definition at line 67 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::ObjectPointer = itk::Object::Pointer |
Typedefs for the CreatorMap
Definition at line 70 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::PixelTypeDescriptionType = std::string |
Typedefs for the IndexMap. The ImageTypeDescription contains the pixeltype (as a string) and the dimension (unsigned int).
Definition at line 87 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::Pointer = itk::SmartPointer<Self> |
Definition at line 60 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::PtrToCreator = ObjectPointer (*)() |
PtrToCreator is a pointer to a function which outputs an ObjectPointer and has no input arguments.
Definition at line 75 of file elxComponentDatabase.h.
Standard.
Definition at line 58 of file elxComponentDatabase.h.
using elastix::ComponentDatabase::Superclass = itk::Object |
Definition at line 59 of file elxComponentDatabase.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
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 |
elastix::ComponentDatabase::ITK_DISALLOW_COPY_AND_MOVE | ( | ComponentDatabase | ) |
|
static |
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 125 of file elxComponentDatabase.h.
|
private |
Definition at line 126 of file elxComponentDatabase.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |