| 
 | 
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.
 Inheritance diagram for elastix::ComponentDatabase: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 1739326392 for elastix by   1.9.8  |