go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxComponentDatabase.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __elxComponentDatabase_h
16 #define __elxComponentDatabase_h
17 
18 #include "itkObject.h"
19 #include "itkObjectFactory.h"
20 #include <iostream>
21 #include <string>
22 #include <utility>
23 #include <map>
24 
25 
26 namespace elastix
27 {
28 
50  public itk::Object
51  {
52  public:
53 
56  typedef itk::Object Superclass;
57  typedef itk::SmartPointer<Self> Pointer;
58  typedef itk::SmartPointer<const Self> ConstPointer;
59 
60  itkNewMacro(Self);
61  itkTypeMacro(ComponentDatabase, Object);
62 
64  typedef unsigned int IndexType;
65 
67  typedef itk::Object ObjectType;
68  typedef ObjectType::Pointer ObjectPointer;
69 
73  typedef ObjectPointer (*PtrToCreator)(void);
74  typedef std::string ComponentDescriptionType;
75  typedef std::pair<
79  typedef std::map<
82  typedef CreatorMapType::value_type CreatorMapEntryType;
83 
89  typedef std::string PixelTypeDescriptionType;
90  typedef unsigned int ImageDimensionType;
91  typedef std::pair<
94 
98  typedef std::pair<
102  typedef std::map<
105  typedef IndexMapType::value_type IndexMapEntryType;
106 
109  IndexMapType & GetIndexMap(void);
110 
112  int SetCreator(
113  const ComponentDescriptionType & name,
114  IndexType i,
115  PtrToCreator creator );
116 
117  int SetIndex(
118  const PixelTypeDescriptionType & fixedPixelType,
119  ImageDimensionType fixedDimension,
120  const PixelTypeDescriptionType & movingPixelType,
121  ImageDimensionType movingDimension,
122  IndexType i );
123 
126  const ComponentDescriptionType & name,
127  IndexType i );
128 
130  const PixelTypeDescriptionType & fixedPixelType,
131  ImageDimensionType fixedDimension,
132  const PixelTypeDescriptionType & movingPixelType,
133  ImageDimensionType movingDimension );
134 
135  protected:
136 
138  virtual ~ComponentDatabase(){}
139 
142 
143  private:
144  ComponentDatabase( const Self& ); // purposely not implemented
145  void operator=( const Self& ); // purposely not implemented
146 
147  }; // end class ComponentDatabase
148 
149 
150 } // end namespace elastix
151 
152 
153 
154 #endif // end #ifndef __elxComponentDatabase_h
155 
std::pair< PixelTypeDescriptionType, ImageDimensionType > ImageTypeDescriptionType
std::pair< ImageTypeDescriptionType, ImageTypeDescriptionType > IndexMapKeyType
PtrToCreator GetCreator(const ComponentDescriptionType &name, IndexType i)
ObjectPointer(* PtrToCreator)(void)
std::pair< ComponentDescriptionType, IndexType > CreatorMapKeyType
CreatorMapType::value_type CreatorMapEntryType
std::map< IndexMapKeyType, IndexMapValueType > IndexMapType
std::map< CreatorMapKeyType, CreatorMapValueType > CreatorMapType
CreatorMapType & GetCreatorMap(void)
void operator=(const Self &)
int SetIndex(const PixelTypeDescriptionType &fixedPixelType, ImageDimensionType fixedDimension, const PixelTypeDescriptionType &movingPixelType, ImageDimensionType movingDimension, IndexType i)
IndexMapType::value_type IndexMapEntryType
itk::SmartPointer< Self > Pointer
The ComponentDatabase class is a class that stores the New() functions of all components.
IndexType GetIndex(const PixelTypeDescriptionType &fixedPixelType, ImageDimensionType fixedDimension, const PixelTypeDescriptionType &movingPixelType, ImageDimensionType movingDimension)
int SetCreator(const ComponentDescriptionType &name, IndexType i, PtrToCreator creator)
ObjectType::Pointer ObjectPointer
IndexMapType & GetIndexMap(void)
itk::SmartPointer< const Self > ConstPointer


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo