MeVisLab Toolbox Reference
mlITKMultiBaseConnect.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #pragma once
14 
16 // Include dll-specific settings.
17 #include "mlInitSystemITKSupport.h"
18 #include "mlITKMLBaseWrapper.h"
19 
20 #include <itkImage.h>
21 #include <itkPoint.h>
22 #include <itkVector.h>
23 #include <itkFiniteDifferenceFunction.h>
24 #include <itkPDEDeformableRegistrationFunction.h>
25 #include <itkImageFunction.h>
26 
27 // Define voxel types.
28 typedef itk::Vector<float ,2> Vox2DFloatVecType ;
29 typedef itk::Vector<float ,3> Vox3DFloatVecType ;
30 typedef itk::Vector<float ,4> Vox4DFloatVecType ;
31 typedef itk::Vector<float ,6> Vox6DFloatVecType ;
32 typedef itk::Vector<float ,8> Vox8DFloatVecType ;
33 
34 typedef itk::Vector<double,2> Vox2DDoubleVecType;
35 typedef itk::Vector<double,3> Vox3DDoubleVecType;
36 typedef itk::Vector<double,4> Vox4DDoubleVecType;
37 typedef itk::Vector<double,6> Vox6DDoubleVecType;
38 typedef itk::Vector<double,8> Vox8DDoubleVecType;
39 
40 // Define images using the upper voxel types.
41 typedef itk::Image<MLint8, 2> Img2OfVoxInt8Type ;
42 typedef itk::Image<MLint16, 2> Img2OfVoxInt16Type ;
43 typedef itk::Image<MLint32, 2> Img2OfVoxInt32Type ;
44 typedef itk::Image<MLuint8, 2> Img2OfVoxUInt8Type ;
45 typedef itk::Image<MLuint16, 2> Img2OfVoxUInt16Type ;
46 typedef itk::Image<MLuint32, 2> Img2OfVoxUInt32Type ;
47 typedef itk::Image<MLfloat, 2> Img2OfVoxFloatType ;
48 typedef itk::Image<MLdouble, 2> Img2OfVoxDoubleType ;
49 typedef itk::Image<Vox2DFloatVecType, 2> Img2OfVox2DFloatVecType ;
50 typedef itk::Image<Vox2DDoubleVecType,2> Img2OfVox2DDoubleVecType;
51 typedef itk::Image<Vox3DFloatVecType, 2> Img2OfVox3DFloatVecType ;
52 typedef itk::Image<Vox3DDoubleVecType,2> Img2OfVox3DDoubleVecType;
53 typedef itk::Image<Vox4DFloatVecType, 2> Img2OfVox4DFloatVecType ;
54 typedef itk::Image<Vox4DDoubleVecType,2> Img2OfVox4DDoubleVecType;
55 typedef itk::Image<Vox6DFloatVecType, 2> Img2OfVox6DFloatVecType ;
56 typedef itk::Image<Vox6DDoubleVecType,2> Img2OfVox6DDoubleVecType;
57 typedef itk::Image<Vox8DFloatVecType, 2> Img2OfVox8DFloatVecType ;
58 typedef itk::Image<Vox8DDoubleVecType,2> Img2OfVox8DDoubleVecType;
59 
60 typedef itk::Image<MLint8, 3> Img3OfVoxInt8Type ;
61 typedef itk::Image<MLint16, 3> Img3OfVoxInt16Type ;
62 typedef itk::Image<MLint32, 3> Img3OfVoxInt32Type ;
63 typedef itk::Image<MLuint8, 3> Img3OfVoxUInt8Type ;
64 typedef itk::Image<MLuint16, 3> Img3OfVoxUInt16Type ;
65 typedef itk::Image<MLuint32, 3> Img3OfVoxUInt32Type ;
66 typedef itk::Image<MLfloat, 3> Img3OfVoxFloatType ;
67 typedef itk::Image<MLdouble, 3> Img3OfVoxDoubleType ;
68 typedef itk::Image<Vox2DFloatVecType, 3> Img3OfVox2DFloatVecType ;
69 typedef itk::Image<Vox2DDoubleVecType,3> Img3OfVox2DDoubleVecType;
70 typedef itk::Image<Vox3DFloatVecType, 3> Img3OfVox3DFloatVecType ;
71 typedef itk::Image<Vox3DDoubleVecType,3> Img3OfVox3DDoubleVecType;
72 typedef itk::Image<Vox4DFloatVecType, 3> Img3OfVox4DFloatVecType ;
73 typedef itk::Image<Vox4DDoubleVecType,3> Img3OfVox4DDoubleVecType;
74 typedef itk::Image<Vox6DFloatVecType, 3> Img3OfVox6DFloatVecType ;
75 typedef itk::Image<Vox6DDoubleVecType,3> Img3OfVox6DDoubleVecType;
76 typedef itk::Image<Vox8DFloatVecType, 3> Img3OfVox8DFloatVecType ;
77 typedef itk::Image<Vox8DDoubleVecType,3> Img3OfVox8DDoubleVecType;
78 
79 
80 // Define difference functions on the upperly defined image types.
81 typedef itk::FiniteDifferenceFunction<Img2OfVoxInt8Type > FiniteDifferenceFunctionImg2OfVoxInt8Type ;
82 typedef itk::FiniteDifferenceFunction<Img2OfVoxInt16Type > FiniteDifferenceFunctionImg2OfVoxInt16Type ;
83 typedef itk::FiniteDifferenceFunction<Img2OfVoxInt32Type > FiniteDifferenceFunctionImg2OfVoxInt32Type ;
84 typedef itk::FiniteDifferenceFunction<Img2OfVoxUInt8Type > FiniteDifferenceFunctionImg2OfVoxUInt8Type ;
85 typedef itk::FiniteDifferenceFunction<Img2OfVoxUInt16Type > FiniteDifferenceFunctionImg2OfVoxUInt16Type ;
86 typedef itk::FiniteDifferenceFunction<Img2OfVoxUInt32Type > FiniteDifferenceFunctionImg2OfVoxUInt32Type ;
87 typedef itk::FiniteDifferenceFunction<Img2OfVoxFloatType > FiniteDifferenceFunctionImg2OfVoxFloatType ;
88 typedef itk::FiniteDifferenceFunction<Img2OfVoxDoubleType > FiniteDifferenceFunctionImg2OfVoxDoubleType ;
89 typedef itk::FiniteDifferenceFunction<Img2OfVox2DFloatVecType > FiniteDifferenceFunctionImg2OfVox2DFloatVecType ;
90 typedef itk::FiniteDifferenceFunction<Img2OfVox2DDoubleVecType> FiniteDifferenceFunctionImg2OfVox2DDoubleVecType;
91 typedef itk::FiniteDifferenceFunction<Img2OfVox3DFloatVecType > FiniteDifferenceFunctionImg2OfVox3DFloatVecType ;
92 typedef itk::FiniteDifferenceFunction<Img2OfVox3DDoubleVecType> FiniteDifferenceFunctionImg2OfVox3DDoubleVecType;
93 typedef itk::FiniteDifferenceFunction<Img2OfVox4DFloatVecType > FiniteDifferenceFunctionImg2OfVox4DFloatVecType ;
94 typedef itk::FiniteDifferenceFunction<Img2OfVox4DDoubleVecType> FiniteDifferenceFunctionImg2OfVox4DDoubleVecType;
95 typedef itk::FiniteDifferenceFunction<Img2OfVox6DFloatVecType > FiniteDifferenceFunctionImg2OfVox6DFloatVecType ;
96 typedef itk::FiniteDifferenceFunction<Img2OfVox6DDoubleVecType> FiniteDifferenceFunctionImg2OfVox6DDoubleVecType;
97 typedef itk::FiniteDifferenceFunction<Img2OfVox8DFloatVecType > FiniteDifferenceFunctionImg2OfVox8DFloatVecType ;
98 typedef itk::FiniteDifferenceFunction<Img2OfVox8DDoubleVecType> FiniteDifferenceFunctionImg2OfVox8DDoubleVecType;
99 
100 typedef itk::FiniteDifferenceFunction<Img3OfVoxInt8Type > FiniteDifferenceFunctionImg3OfVoxInt8Type ;
101 typedef itk::FiniteDifferenceFunction<Img3OfVoxInt16Type > FiniteDifferenceFunctionImg3OfVoxInt16Type ;
102 typedef itk::FiniteDifferenceFunction<Img3OfVoxInt32Type > FiniteDifferenceFunctionImg3OfVoxInt32Type ;
103 typedef itk::FiniteDifferenceFunction<Img3OfVoxUInt8Type > FiniteDifferenceFunctionImg3OfVoxUInt8Type ;
104 typedef itk::FiniteDifferenceFunction<Img3OfVoxUInt16Type > FiniteDifferenceFunctionImg3OfVoxUInt16Type ;
105 typedef itk::FiniteDifferenceFunction<Img3OfVoxUInt32Type > FiniteDifferenceFunctionImg3OfVoxUInt32Type ;
106 typedef itk::FiniteDifferenceFunction<Img3OfVoxFloatType > FiniteDifferenceFunctionImg3OfVoxFloatType ;
107 typedef itk::FiniteDifferenceFunction<Img3OfVoxDoubleType > FiniteDifferenceFunctionImg3OfVoxDoubleType ;
108 typedef itk::FiniteDifferenceFunction<Img3OfVox2DFloatVecType > FiniteDifferenceFunctionImg3OfVox2DFloatVecType ;
109 typedef itk::FiniteDifferenceFunction<Img3OfVox2DDoubleVecType> FiniteDifferenceFunctionImg3OfVox2DDoubleVecType;
110 typedef itk::FiniteDifferenceFunction<Img3OfVox3DFloatVecType > FiniteDifferenceFunctionImg3OfVox3DFloatVecType ;
111 typedef itk::FiniteDifferenceFunction<Img3OfVox3DDoubleVecType> FiniteDifferenceFunctionImg3OfVox3DDoubleVecType;
112 typedef itk::FiniteDifferenceFunction<Img3OfVox4DFloatVecType > FiniteDifferenceFunctionImg3OfVox4DFloatVecType ;
113 typedef itk::FiniteDifferenceFunction<Img3OfVox4DDoubleVecType> FiniteDifferenceFunctionImg3OfVox4DDoubleVecType;
114 typedef itk::FiniteDifferenceFunction<Img3OfVox6DFloatVecType > FiniteDifferenceFunctionImg3OfVox6DFloatVecType ;
115 typedef itk::FiniteDifferenceFunction<Img3OfVox6DDoubleVecType> FiniteDifferenceFunctionImg3OfVox6DDoubleVecType;
116 typedef itk::FiniteDifferenceFunction<Img3OfVox8DFloatVecType > FiniteDifferenceFunctionImg3OfVox8DFloatVecType ;
117 typedef itk::FiniteDifferenceFunction<Img3OfVox8DDoubleVecType> FiniteDifferenceFunctionImg3OfVox8DDoubleVecType;
118 
119 typedef itk::PDEDeformableRegistrationFunction<Img3OfVoxFloatType,
122 
123 ML_START_NAMESPACE
124 
125  //----------------------------------------------------------
130  //----------------------------------------------------------
132  public:
133 
134  //------------------------------------------------------------------------------
136  //------------------------------------------------------------------------------
138  // Initialize all pointers to NULL. Only those pointers are going to
139  // be defined which can be instantiated by the module exporting an
140  // object of this class.
141  m_FiniteDifferenceFunctionImg2OfVoxInt8Type = NULL;
142  m_FiniteDifferenceFunctionImg2OfVoxInt16Type = NULL;
143  m_FiniteDifferenceFunctionImg2OfVoxInt32Type = NULL;
144  m_FiniteDifferenceFunctionImg2OfVoxUInt8Type = NULL;
145  m_FiniteDifferenceFunctionImg2OfVoxUInt16Type = NULL;
146  m_FiniteDifferenceFunctionImg2OfVoxUInt32Type = NULL;
147  m_FiniteDifferenceFunctionImg2OfVoxFloatType = NULL;
148  m_FiniteDifferenceFunctionImg2OfVoxDoubleType = NULL;
149  m_FiniteDifferenceFunctionImg2OfVox2DFloatVecType = NULL;
150  m_FiniteDifferenceFunctionImg2OfVox2DDoubleVecType = NULL;
151  m_FiniteDifferenceFunctionImg2OfVox3DDoubleVecType = NULL;
152  m_FiniteDifferenceFunctionImg2OfVox3DFloatVecType = NULL;
153  m_FiniteDifferenceFunctionImg2OfVox4DDoubleVecType = NULL;
154  m_FiniteDifferenceFunctionImg2OfVox4DFloatVecType = NULL;
155  m_FiniteDifferenceFunctionImg2OfVox6DDoubleVecType = NULL;
156  m_FiniteDifferenceFunctionImg2OfVox6DFloatVecType = NULL;
157  m_FiniteDifferenceFunctionImg2OfVox8DDoubleVecType = NULL;
158  m_FiniteDifferenceFunctionImg2OfVox8DFloatVecType = NULL;
159 
160  m_FiniteDifferenceFunctionImg3OfVoxInt8Type = NULL;
161  m_FiniteDifferenceFunctionImg3OfVoxInt16Type = NULL;
162  m_FiniteDifferenceFunctionImg3OfVoxInt32Type = NULL;
163  m_FiniteDifferenceFunctionImg3OfVoxUInt8Type = NULL;
164  m_FiniteDifferenceFunctionImg3OfVoxUInt16Type = NULL;
165  m_FiniteDifferenceFunctionImg3OfVoxUInt32Type = NULL;
166  m_FiniteDifferenceFunctionImg3OfVoxFloatType = NULL;
167  m_FiniteDifferenceFunctionImg3OfVoxDoubleType = NULL;
168  m_FiniteDifferenceFunctionImg3OfVox2DFloatVecType = NULL;
169  m_FiniteDifferenceFunctionImg3OfVox2DDoubleVecType = NULL;
170  m_FiniteDifferenceFunctionImg3OfVox3DFloatVecType = NULL;
171  m_FiniteDifferenceFunctionImg3OfVox3DDoubleVecType = NULL;
172  m_FiniteDifferenceFunctionImg3OfVox4DFloatVecType = NULL;
173  m_FiniteDifferenceFunctionImg3OfVox4DDoubleVecType = NULL;
174  m_FiniteDifferenceFunctionImg3OfVox6DFloatVecType = NULL;
175  m_FiniteDifferenceFunctionImg3OfVox6DDoubleVecType = NULL;
176  m_FiniteDifferenceFunctionImg3OfVox8DFloatVecType = NULL;
177  m_FiniteDifferenceFunctionImg3OfVox8DDoubleVecType = NULL;
178 
179  m_PDEDeformableRegFunction3DF3DF3DFVType = NULL;
180  }
181 
182  //------------------------------------------------------------------------------
184  //------------------------------------------------------------------------------
185  virtual ~MultiBaseType(){ }
186 
187  //------------------------------------------------------------------------------
189  //------------------------------------------------------------------------------
190  FiniteDifferenceFunctionImg2OfVoxInt8Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxInt8Type *){ return m_FiniteDifferenceFunctionImg2OfVoxInt8Type ; }
191  FiniteDifferenceFunctionImg2OfVoxInt16Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxInt16Type *){ return m_FiniteDifferenceFunctionImg2OfVoxInt16Type ; }
192  FiniteDifferenceFunctionImg2OfVoxInt32Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxInt32Type *){ return m_FiniteDifferenceFunctionImg2OfVoxInt32Type ; }
193  FiniteDifferenceFunctionImg2OfVoxUInt8Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxUInt8Type *){ return m_FiniteDifferenceFunctionImg2OfVoxUInt8Type ; }
194  FiniteDifferenceFunctionImg2OfVoxUInt16Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxUInt16Type *){ return m_FiniteDifferenceFunctionImg2OfVoxUInt16Type ; }
195  FiniteDifferenceFunctionImg2OfVoxUInt32Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxUInt32Type *){ return m_FiniteDifferenceFunctionImg2OfVoxUInt32Type ; }
196  FiniteDifferenceFunctionImg2OfVoxFloatType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxFloatType *){ return m_FiniteDifferenceFunctionImg2OfVoxFloatType ; }
197  FiniteDifferenceFunctionImg2OfVoxDoubleType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxDoubleType *){ return m_FiniteDifferenceFunctionImg2OfVoxDoubleType ; }
198  FiniteDifferenceFunctionImg2OfVox2DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox2DFloatVecType *){ return m_FiniteDifferenceFunctionImg2OfVox2DFloatVecType ; }
199  FiniteDifferenceFunctionImg2OfVox2DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox2DDoubleVecType *){ return m_FiniteDifferenceFunctionImg2OfVox2DDoubleVecType ; }
200  FiniteDifferenceFunctionImg2OfVox3DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox3DFloatVecType *){ return m_FiniteDifferenceFunctionImg2OfVox3DFloatVecType ; }
201  FiniteDifferenceFunctionImg2OfVox3DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox3DDoubleVecType *){ return m_FiniteDifferenceFunctionImg2OfVox3DDoubleVecType ; }
202  FiniteDifferenceFunctionImg2OfVox4DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox4DFloatVecType *){ return m_FiniteDifferenceFunctionImg2OfVox4DFloatVecType ; }
203  FiniteDifferenceFunctionImg2OfVox4DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox4DDoubleVecType *){ return m_FiniteDifferenceFunctionImg2OfVox4DDoubleVecType ; }
204  FiniteDifferenceFunctionImg2OfVox6DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox6DFloatVecType *){ return m_FiniteDifferenceFunctionImg2OfVox6DFloatVecType ; }
205  FiniteDifferenceFunctionImg2OfVox6DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox6DDoubleVecType *){ return m_FiniteDifferenceFunctionImg2OfVox6DDoubleVecType ; }
206  FiniteDifferenceFunctionImg2OfVox8DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox8DFloatVecType *){ return m_FiniteDifferenceFunctionImg2OfVox8DFloatVecType ; }
207  FiniteDifferenceFunctionImg2OfVox8DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox8DDoubleVecType *){ return m_FiniteDifferenceFunctionImg2OfVox8DDoubleVecType ; }
208 
209  FiniteDifferenceFunctionImg3OfVoxInt8Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxInt8Type *){ return m_FiniteDifferenceFunctionImg3OfVoxInt8Type ; }
210  FiniteDifferenceFunctionImg3OfVoxInt16Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxInt16Type *){ return m_FiniteDifferenceFunctionImg3OfVoxInt16Type ; }
211  FiniteDifferenceFunctionImg3OfVoxInt32Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxInt32Type *){ return m_FiniteDifferenceFunctionImg3OfVoxInt32Type ; }
212  FiniteDifferenceFunctionImg3OfVoxUInt8Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxUInt8Type *){ return m_FiniteDifferenceFunctionImg3OfVoxUInt8Type ; }
213  FiniteDifferenceFunctionImg3OfVoxUInt16Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxUInt16Type *){ return m_FiniteDifferenceFunctionImg3OfVoxUInt16Type ; }
214  FiniteDifferenceFunctionImg3OfVoxUInt32Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxUInt32Type *){ return m_FiniteDifferenceFunctionImg3OfVoxUInt32Type ; }
215  FiniteDifferenceFunctionImg3OfVoxFloatType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxFloatType *){ return m_FiniteDifferenceFunctionImg3OfVoxFloatType ; }
216  FiniteDifferenceFunctionImg3OfVoxDoubleType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxDoubleType *){ return m_FiniteDifferenceFunctionImg3OfVoxDoubleType ; }
217  FiniteDifferenceFunctionImg3OfVox2DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox2DFloatVecType *){ return m_FiniteDifferenceFunctionImg3OfVox2DFloatVecType ; }
218  FiniteDifferenceFunctionImg3OfVox2DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox2DDoubleVecType *){ return m_FiniteDifferenceFunctionImg3OfVox2DDoubleVecType ; }
219  FiniteDifferenceFunctionImg3OfVox3DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox3DFloatVecType *){ return m_FiniteDifferenceFunctionImg3OfVox3DFloatVecType ; }
220  FiniteDifferenceFunctionImg3OfVox3DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox3DDoubleVecType *){ return m_FiniteDifferenceFunctionImg3OfVox3DDoubleVecType ; }
221  FiniteDifferenceFunctionImg3OfVox4DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox4DFloatVecType *){ return m_FiniteDifferenceFunctionImg3OfVox4DFloatVecType ; }
222  FiniteDifferenceFunctionImg3OfVox4DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox4DDoubleVecType *){ return m_FiniteDifferenceFunctionImg3OfVox4DDoubleVecType ; }
223  FiniteDifferenceFunctionImg3OfVox6DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox6DFloatVecType *){ return m_FiniteDifferenceFunctionImg3OfVox6DFloatVecType ; }
224  FiniteDifferenceFunctionImg3OfVox6DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox6DDoubleVecType *){ return m_FiniteDifferenceFunctionImg3OfVox6DDoubleVecType ; }
225  FiniteDifferenceFunctionImg3OfVox8DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox8DFloatVecType *){ return m_FiniteDifferenceFunctionImg3OfVox8DFloatVecType ; }
226  FiniteDifferenceFunctionImg3OfVox8DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox8DDoubleVecType *){ return m_FiniteDifferenceFunctionImg3OfVox8DDoubleVecType ; }
227 
228  PDEDeformableRegFunction3DF3DF3DFVType ::Pointer GetFiniteDifferenceFunction(PDEDeformableRegFunction3DF3DF3DFVType *){ return m_PDEDeformableRegFunction3DF3DF3DFVType ; }
230 
231  //------------------------------------------------------------------------------
237  //------------------------------------------------------------------------------
238  bool isFiniteDifferenceFunctionValid(PagedImage *outImg, bool usePDEDeformableFunc=false)
239  {
240  if (!outImg){ return false; }
241 
242  // Get properties of output image and its data type. From those properties we need
243  // to determine whether the corresponding FiniteDifferenceFunctionType is available.
244  const MLDataType dt = outImg->getDataType();
245  const size_t numComps = MLTypeGetNumComponents(dt);
246  const MLint imgDim = outImg->getImageExtent().getExtDimension();
247 
248  // If the pointer member for the specific dimension and data type is non NULL
249  // then return true, otherwise false.
250  if (!usePDEDeformableFunc){
251  if (2==imgDim){
252  if ((MLint8Type == dt) && m_FiniteDifferenceFunctionImg2OfVoxInt8Type ){ return true; }
253  if ((MLint16Type == dt) && m_FiniteDifferenceFunctionImg2OfVoxInt16Type ){ return true; }
254  if ((MLint32Type == dt) && m_FiniteDifferenceFunctionImg2OfVoxInt32Type ){ return true; }
255  if ((MLuint8Type == dt) && m_FiniteDifferenceFunctionImg2OfVoxUInt8Type ){ return true; }
256  if ((MLuint16Type == dt) && m_FiniteDifferenceFunctionImg2OfVoxUInt16Type ){ return true; }
257  if ((MLuint32Type == dt) && m_FiniteDifferenceFunctionImg2OfVoxUInt32Type ){ return true; }
258  if ((MLfloatType == dt) && m_FiniteDifferenceFunctionImg2OfVoxFloatType ){ return true; }
259  if ((MLdoubleType == dt) && m_FiniteDifferenceFunctionImg2OfVoxDoubleType ){ return true; }
260  if ((2 == numComps) && m_FiniteDifferenceFunctionImg2OfVox2DFloatVecType ){ return true; }
261  if ((2 == numComps) && m_FiniteDifferenceFunctionImg2OfVox2DDoubleVecType ){ return true; }
262  if ((3 == numComps) && m_FiniteDifferenceFunctionImg2OfVox3DFloatVecType ){ return true; }
263  if ((3 == numComps) && m_FiniteDifferenceFunctionImg2OfVox3DDoubleVecType ){ return true; }
264  if ((4 == numComps) && m_FiniteDifferenceFunctionImg2OfVox4DFloatVecType ){ return true; }
265  if ((4 == numComps) && m_FiniteDifferenceFunctionImg2OfVox4DDoubleVecType ){ return true; }
266  if ((6 == numComps) && m_FiniteDifferenceFunctionImg2OfVox6DFloatVecType ){ return true; }
267  if ((6 == numComps) && m_FiniteDifferenceFunctionImg2OfVox6DDoubleVecType ){ return true; }
268  if ((8 == numComps) && m_FiniteDifferenceFunctionImg2OfVox8DFloatVecType ){ return true; }
269  if ((8 == numComps) && m_FiniteDifferenceFunctionImg2OfVox8DDoubleVecType ){ return true; }
270  }
271  if (3==imgDim){
272  if ((MLint8Type == dt) && m_FiniteDifferenceFunctionImg3OfVoxInt8Type ){ return true; }
273  if ((MLint16Type == dt) && m_FiniteDifferenceFunctionImg3OfVoxInt16Type ){ return true; }
274  if ((MLint32Type == dt) && m_FiniteDifferenceFunctionImg3OfVoxInt32Type ){ return true; }
275  if ((MLuint8Type == dt) && m_FiniteDifferenceFunctionImg3OfVoxUInt8Type ){ return true; }
276  if ((MLuint16Type == dt) && m_FiniteDifferenceFunctionImg3OfVoxUInt16Type ){ return true; }
277  if ((MLuint32Type == dt) && m_FiniteDifferenceFunctionImg3OfVoxUInt32Type ){ return true; }
278  if ((MLfloatType == dt) && m_FiniteDifferenceFunctionImg3OfVoxFloatType ){ return true; }
279  if ((MLdoubleType == dt) && m_FiniteDifferenceFunctionImg3OfVoxDoubleType ){ return true; }
280  if ((2 == numComps) && m_FiniteDifferenceFunctionImg3OfVox2DFloatVecType ){ return true; }
281  if ((2 == numComps) && m_FiniteDifferenceFunctionImg3OfVox2DDoubleVecType ){ return true; }
282  if ((3 == numComps) && m_FiniteDifferenceFunctionImg3OfVox3DFloatVecType ){ return true; }
283  if ((3 == numComps) && m_FiniteDifferenceFunctionImg3OfVox3DDoubleVecType ){ return true; }
284  if ((4 == numComps) && m_FiniteDifferenceFunctionImg3OfVox4DFloatVecType ){ return true; }
285  if ((4 == numComps) && m_FiniteDifferenceFunctionImg3OfVox4DDoubleVecType ){ return true; }
286  if ((6 == numComps) && m_FiniteDifferenceFunctionImg3OfVox6DFloatVecType ){ return true; }
287  if ((6 == numComps) && m_FiniteDifferenceFunctionImg3OfVox6DDoubleVecType ){ return true; }
288  if ((8 == numComps) && m_FiniteDifferenceFunctionImg3OfVox8DFloatVecType ){ return true; }
289  if ((8 == numComps) && m_FiniteDifferenceFunctionImg3OfVox8DDoubleVecType ){ return true; }
290  }
291  }
292  if (usePDEDeformableFunc && (3==imgDim)){
293  if ((3 == numComps) && m_PDEDeformableRegFunction3DF3DF3DFVType ){ return true; }
294  }
295 
296  return false;
297  }
298 
299  //------------------------------------------------------------------------------
301  //------------------------------------------------------------------------------
302  void SetFiniteDifferenceFunctionImg2OfVoxInt8Type (FiniteDifferenceFunctionImg2OfVoxInt8Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVoxInt8Type = ptr; }
303  void SetFiniteDifferenceFunctionImg2OfVoxInt16Type (FiniteDifferenceFunctionImg2OfVoxInt16Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVoxInt16Type = ptr; }
304  void SetFiniteDifferenceFunctionImg2OfVoxInt32Type (FiniteDifferenceFunctionImg2OfVoxInt32Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVoxInt32Type = ptr; }
305  void SetFiniteDifferenceFunctionImg2OfVoxUInt8Type (FiniteDifferenceFunctionImg2OfVoxUInt8Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVoxUInt8Type = ptr; }
306  void SetFiniteDifferenceFunctionImg2OfVoxUInt16Type (FiniteDifferenceFunctionImg2OfVoxUInt16Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVoxUInt16Type = ptr; }
307  void SetFiniteDifferenceFunctionImg2OfVoxUInt32Type (FiniteDifferenceFunctionImg2OfVoxUInt32Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVoxUInt32Type = ptr; }
308  void SetFiniteDifferenceFunctionImg2OfVoxFloatType (FiniteDifferenceFunctionImg2OfVoxFloatType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVoxFloatType = ptr; }
309  void SetFiniteDifferenceFunctionImg2OfVoxDoubleType (FiniteDifferenceFunctionImg2OfVoxDoubleType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVoxDoubleType = ptr; }
310  void SetFiniteDifferenceFunctionImg2OfVox2DFloatVecType (FiniteDifferenceFunctionImg2OfVox2DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox2DFloatVecType = ptr; }
311  void SetFiniteDifferenceFunctionImg2OfVox2DDoubleVecType (FiniteDifferenceFunctionImg2OfVox2DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox2DDoubleVecType = ptr; }
312  void SetFiniteDifferenceFunctionImg2OfVox3DFloatVecType (FiniteDifferenceFunctionImg2OfVox3DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox3DFloatVecType = ptr; }
313  void SetFiniteDifferenceFunctionImg2OfVox3DDoubleVecType (FiniteDifferenceFunctionImg2OfVox3DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox3DDoubleVecType = ptr; }
314  void SetFiniteDifferenceFunctionImg2OfVox4DFloatVecType (FiniteDifferenceFunctionImg2OfVox4DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox4DFloatVecType = ptr; }
315  void SetFiniteDifferenceFunctionImg2OfVox4DDoubleVecType (FiniteDifferenceFunctionImg2OfVox4DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox4DDoubleVecType = ptr; }
316  void SetFiniteDifferenceFunctionImg2OfVox6DFloatVecType (FiniteDifferenceFunctionImg2OfVox6DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox6DFloatVecType = ptr; }
317  void SetFiniteDifferenceFunctionImg2OfVox6DDoubleVecType (FiniteDifferenceFunctionImg2OfVox6DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox6DDoubleVecType = ptr; }
318  void SetFiniteDifferenceFunctionImg2OfVox8DFloatVecType (FiniteDifferenceFunctionImg2OfVox8DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox8DFloatVecType = ptr; }
319  void SetFiniteDifferenceFunctionImg2OfVox8DDoubleVecType (FiniteDifferenceFunctionImg2OfVox8DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg2OfVox8DDoubleVecType = ptr; }
320 
321  void SetFiniteDifferenceFunctionImg3OfVoxInt8Type (FiniteDifferenceFunctionImg3OfVoxInt8Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVoxInt8Type = ptr; }
322  void SetFiniteDifferenceFunctionImg3OfVoxInt16Type (FiniteDifferenceFunctionImg3OfVoxInt16Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVoxInt16Type = ptr; }
323  void SetFiniteDifferenceFunctionImg3OfVoxInt32Type (FiniteDifferenceFunctionImg3OfVoxInt32Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVoxInt32Type = ptr; }
324  void SetFiniteDifferenceFunctionImg3OfVoxUInt8Type (FiniteDifferenceFunctionImg3OfVoxUInt8Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVoxUInt8Type = ptr; }
325  void SetFiniteDifferenceFunctionImg3OfVoxUInt16Type (FiniteDifferenceFunctionImg3OfVoxUInt16Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVoxUInt16Type = ptr; }
326  void SetFiniteDifferenceFunctionImg3OfVoxUInt32Type (FiniteDifferenceFunctionImg3OfVoxUInt32Type ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVoxUInt32Type = ptr; }
327  void SetFiniteDifferenceFunctionImg3OfVoxFloatType (FiniteDifferenceFunctionImg3OfVoxFloatType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVoxFloatType = ptr; }
328  void SetFiniteDifferenceFunctionImg3OfVoxDoubleType (FiniteDifferenceFunctionImg3OfVoxDoubleType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVoxDoubleType = ptr; }
329  void SetFiniteDifferenceFunctionImg3OfVox2DFloatVecType (FiniteDifferenceFunctionImg3OfVox2DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox2DFloatVecType = ptr; }
330  void SetFiniteDifferenceFunctionImg3OfVox2DDoubleVecType (FiniteDifferenceFunctionImg3OfVox2DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox2DDoubleVecType = ptr; }
331  void SetFiniteDifferenceFunctionImg3OfVox3DFloatVecType (FiniteDifferenceFunctionImg3OfVox3DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox3DFloatVecType = ptr; }
332  void SetFiniteDifferenceFunctionImg3OfVox3DDoubleVecType (FiniteDifferenceFunctionImg3OfVox3DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox3DDoubleVecType = ptr; }
333  void SetFiniteDifferenceFunctionImg3OfVox4DFloatVecType (FiniteDifferenceFunctionImg3OfVox4DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox4DFloatVecType = ptr; }
334  void SetFiniteDifferenceFunctionImg3OfVox4DDoubleVecType (FiniteDifferenceFunctionImg3OfVox4DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox4DDoubleVecType = ptr; }
335  void SetFiniteDifferenceFunctionImg3OfVox6DFloatVecType (FiniteDifferenceFunctionImg3OfVox6DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox6DFloatVecType = ptr; }
336  void SetFiniteDifferenceFunctionImg3OfVox6DDoubleVecType (FiniteDifferenceFunctionImg3OfVox6DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox6DDoubleVecType = ptr; }
337  void SetFiniteDifferenceFunctionImg3OfVox8DFloatVecType (FiniteDifferenceFunctionImg3OfVox8DFloatVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox8DFloatVecType = ptr; }
338  void SetFiniteDifferenceFunctionImg3OfVox8DDoubleVecType (FiniteDifferenceFunctionImg3OfVox8DDoubleVecType ::Pointer ptr){ m_FiniteDifferenceFunctionImg3OfVox8DDoubleVecType = ptr; }
339 
340  void SetPDEDeformableRegFunction3DF3DF3DFVType (PDEDeformableRegFunction3DF3DF3DFVType ::Pointer ptr){ m_PDEDeformableRegFunction3DF3DF3DFVType = ptr; }
342 
343  private:
345  MultiBaseType(const MultiBaseType &) : Base() { }
346 
348  MultiBaseType &operator=(const MultiBaseType &){ return *this; }
349 
351  FiniteDifferenceFunctionImg2OfVoxInt8Type ::Pointer m_FiniteDifferenceFunctionImg2OfVoxInt8Type ;
352  FiniteDifferenceFunctionImg2OfVoxInt16Type ::Pointer m_FiniteDifferenceFunctionImg2OfVoxInt16Type ;
353  FiniteDifferenceFunctionImg2OfVoxInt32Type ::Pointer m_FiniteDifferenceFunctionImg2OfVoxInt32Type ;
354  FiniteDifferenceFunctionImg2OfVoxUInt8Type ::Pointer m_FiniteDifferenceFunctionImg2OfVoxUInt8Type ;
355  FiniteDifferenceFunctionImg2OfVoxUInt16Type ::Pointer m_FiniteDifferenceFunctionImg2OfVoxUInt16Type ;
356  FiniteDifferenceFunctionImg2OfVoxUInt32Type ::Pointer m_FiniteDifferenceFunctionImg2OfVoxUInt32Type ;
357  FiniteDifferenceFunctionImg2OfVoxFloatType ::Pointer m_FiniteDifferenceFunctionImg2OfVoxFloatType ;
358  FiniteDifferenceFunctionImg2OfVoxDoubleType ::Pointer m_FiniteDifferenceFunctionImg2OfVoxDoubleType ;
359  FiniteDifferenceFunctionImg2OfVox2DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox2DFloatVecType ;
360  FiniteDifferenceFunctionImg2OfVox2DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox2DDoubleVecType ;
361  FiniteDifferenceFunctionImg2OfVox3DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox3DFloatVecType ;
362  FiniteDifferenceFunctionImg2OfVox3DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox3DDoubleVecType ;
363  FiniteDifferenceFunctionImg2OfVox4DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox4DFloatVecType ;
364  FiniteDifferenceFunctionImg2OfVox4DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox4DDoubleVecType ;
365  FiniteDifferenceFunctionImg2OfVox6DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox6DFloatVecType ;
366  FiniteDifferenceFunctionImg2OfVox6DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox6DDoubleVecType ;
367  FiniteDifferenceFunctionImg2OfVox8DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox8DFloatVecType ;
368  FiniteDifferenceFunctionImg2OfVox8DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg2OfVox8DDoubleVecType ;
369 
370  FiniteDifferenceFunctionImg3OfVoxInt8Type ::Pointer m_FiniteDifferenceFunctionImg3OfVoxInt8Type ;
371  FiniteDifferenceFunctionImg3OfVoxInt16Type ::Pointer m_FiniteDifferenceFunctionImg3OfVoxInt16Type ;
372  FiniteDifferenceFunctionImg3OfVoxInt32Type ::Pointer m_FiniteDifferenceFunctionImg3OfVoxInt32Type ;
373  FiniteDifferenceFunctionImg3OfVoxUInt8Type ::Pointer m_FiniteDifferenceFunctionImg3OfVoxUInt8Type ;
374  FiniteDifferenceFunctionImg3OfVoxUInt16Type ::Pointer m_FiniteDifferenceFunctionImg3OfVoxUInt16Type ;
375  FiniteDifferenceFunctionImg3OfVoxUInt32Type ::Pointer m_FiniteDifferenceFunctionImg3OfVoxUInt32Type ;
376  FiniteDifferenceFunctionImg3OfVoxFloatType ::Pointer m_FiniteDifferenceFunctionImg3OfVoxFloatType ;
377  FiniteDifferenceFunctionImg3OfVoxDoubleType ::Pointer m_FiniteDifferenceFunctionImg3OfVoxDoubleType ;
378  FiniteDifferenceFunctionImg3OfVox2DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox2DFloatVecType ;
379  FiniteDifferenceFunctionImg3OfVox2DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox2DDoubleVecType ;
380  FiniteDifferenceFunctionImg3OfVox3DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox3DFloatVecType ;
381  FiniteDifferenceFunctionImg3OfVox3DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox3DDoubleVecType ;
382  FiniteDifferenceFunctionImg3OfVox4DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox4DFloatVecType ;
383  FiniteDifferenceFunctionImg3OfVox4DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox4DDoubleVecType ;
384  FiniteDifferenceFunctionImg3OfVox6DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox6DFloatVecType ;
385  FiniteDifferenceFunctionImg3OfVox6DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox6DDoubleVecType ;
386  FiniteDifferenceFunctionImg3OfVox8DFloatVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox8DFloatVecType ;
387  FiniteDifferenceFunctionImg3OfVox8DDoubleVecType ::Pointer m_FiniteDifferenceFunctionImg3OfVox8DDoubleVecType ;
388 
389  PDEDeformableRegFunction3DF3DF3DFVType ::Pointer m_PDEDeformableRegFunction3DF3DF3DFVType ;
391 
392  private:
393  ML_CLASS_HEADER(MultiBaseType);
394  };
395 
396 
397  //----------------------------------------------------------
398  // Termination criterion must be set correctly in Base classes
399  // by specifying class name == super class name as 3rd macro parameter!
400  // Otherwise checks for inheritance and base classes will not terminate!
401  //----------------------------------------------------------
402  // Type to be wrapped | Pointer to wrapped type | Class name of Base wrapper | Superclass wrapped type | dll-Export macro
403  ML_CREATE_BASE_WRAPPER_FOR_OBJECT_H(MultiBaseType, MultiBaseType*, MultiBaseTypeWrapper, MultiBaseType, MLITK_SUPPORT_EXPORT)
404 
405 ML_END_NAMESPACE
Class representing general ML objects that support import/export via strings (setPersistentState() an...
Definition: mlBase.h:62
MLDataType getDataType() const
Returns the data type of the image.
ImageVector getImageExtent() const
Returns the extent of the (sub)image.
Class to provide a number of get/set functions for often used templated objects, for example function...
FiniteDifferenceFunctionImg3OfVox2DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox2DDoubleVecType *)
virtual ~MultiBaseType()
Destructor.
FiniteDifferenceFunctionImg2OfVoxInt16Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxInt16Type *)
FiniteDifferenceFunctionImg3OfVoxInt16Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxInt16Type *)
void SetFiniteDifferenceFunctionImg2OfVoxInt16Type(FiniteDifferenceFunctionImg2OfVoxInt16Type ::Pointer ptr)
void SetFiniteDifferenceFunctionImg2OfVoxUInt8Type(FiniteDifferenceFunctionImg2OfVoxUInt8Type ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVoxUInt16Type(FiniteDifferenceFunctionImg3OfVoxUInt16Type ::Pointer ptr)
void SetPDEDeformableRegFunction3DF3DF3DFVType(PDEDeformableRegFunction3DF3DF3DFVType ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVox3DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox3DFloatVecType *)
FiniteDifferenceFunctionImg2OfVoxInt32Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxInt32Type *)
void SetFiniteDifferenceFunctionImg2OfVoxUInt32Type(FiniteDifferenceFunctionImg2OfVoxUInt32Type ::Pointer ptr)
FiniteDifferenceFunctionImg3OfVoxUInt8Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxUInt8Type *)
void SetFiniteDifferenceFunctionImg3OfVox6DFloatVecType(FiniteDifferenceFunctionImg3OfVox6DFloatVecType ::Pointer ptr)
FiniteDifferenceFunctionImg3OfVox6DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox6DFloatVecType *)
FiniteDifferenceFunctionImg3OfVox4DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox4DDoubleVecType *)
void SetFiniteDifferenceFunctionImg2OfVox6DFloatVecType(FiniteDifferenceFunctionImg2OfVox6DFloatVecType ::Pointer ptr)
MultiBaseType()
Constructor. Resets all pointers.
void SetFiniteDifferenceFunctionImg2OfVoxFloatType(FiniteDifferenceFunctionImg2OfVoxFloatType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg2OfVox4DDoubleVecType(FiniteDifferenceFunctionImg2OfVox4DDoubleVecType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVoxInt32Type(FiniteDifferenceFunctionImg3OfVoxInt32Type ::Pointer ptr)
PDEDeformableRegFunction3DF3DF3DFVType ::Pointer GetFiniteDifferenceFunction(PDEDeformableRegFunction3DF3DF3DFVType *)
void SetFiniteDifferenceFunctionImg3OfVox6DDoubleVecType(FiniteDifferenceFunctionImg3OfVox6DDoubleVecType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVox2DFloatVecType(FiniteDifferenceFunctionImg3OfVox2DFloatVecType ::Pointer ptr)
FiniteDifferenceFunctionImg3OfVoxFloatType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxFloatType *)
FiniteDifferenceFunctionImg3OfVox3DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox3DFloatVecType *)
FiniteDifferenceFunctionImg2OfVox3DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox3DDoubleVecType *)
void SetFiniteDifferenceFunctionImg3OfVox3DDoubleVecType(FiniteDifferenceFunctionImg3OfVox3DDoubleVecType ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVox8DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox8DFloatVecType *)
void SetFiniteDifferenceFunctionImg2OfVox3DDoubleVecType(FiniteDifferenceFunctionImg2OfVox3DDoubleVecType ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVoxInt8Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxInt8Type *)
FiniteDifferenceFunctionImg2OfVoxUInt16Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxUInt16Type *)
FiniteDifferenceFunctionImg3OfVoxDoubleType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxDoubleType *)
FiniteDifferenceFunctionImg2OfVoxUInt8Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxUInt8Type *)
FiniteDifferenceFunctionImg3OfVox4DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox4DFloatVecType *)
void SetFiniteDifferenceFunctionImg2OfVox4DFloatVecType(FiniteDifferenceFunctionImg2OfVox4DFloatVecType ::Pointer ptr)
FiniteDifferenceFunctionImg3OfVoxUInt32Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxUInt32Type *)
FiniteDifferenceFunctionImg3OfVox8DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox8DFloatVecType *)
void SetFiniteDifferenceFunctionImg3OfVox3DFloatVecType(FiniteDifferenceFunctionImg3OfVox3DFloatVecType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVoxInt16Type(FiniteDifferenceFunctionImg3OfVoxInt16Type ::Pointer ptr)
FiniteDifferenceFunctionImg3OfVox6DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox6DDoubleVecType *)
void SetFiniteDifferenceFunctionImg2OfVox3DFloatVecType(FiniteDifferenceFunctionImg2OfVox3DFloatVecType ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVoxUInt32Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxUInt32Type *)
FiniteDifferenceFunctionImg2OfVox4DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox4DFloatVecType *)
void SetFiniteDifferenceFunctionImg3OfVox2DDoubleVecType(FiniteDifferenceFunctionImg3OfVox2DDoubleVecType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg2OfVoxUInt16Type(FiniteDifferenceFunctionImg2OfVoxUInt16Type ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVox6DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox6DFloatVecType *)
FiniteDifferenceFunctionImg3OfVoxInt8Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxInt8Type *)
void SetFiniteDifferenceFunctionImg2OfVox2DDoubleVecType(FiniteDifferenceFunctionImg2OfVox2DDoubleVecType ::Pointer ptr)
FiniteDifferenceFunctionImg3OfVox3DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox3DDoubleVecType *)
FiniteDifferenceFunctionImg3OfVox2DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox2DFloatVecType *)
FiniteDifferenceFunctionImg3OfVoxInt32Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxInt32Type *)
void SetFiniteDifferenceFunctionImg3OfVox4DFloatVecType(FiniteDifferenceFunctionImg3OfVox4DFloatVecType ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVox2DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox2DDoubleVecType *)
void SetFiniteDifferenceFunctionImg3OfVoxUInt32Type(FiniteDifferenceFunctionImg3OfVoxUInt32Type ::Pointer ptr)
FiniteDifferenceFunctionImg3OfVoxUInt16Type ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVoxUInt16Type *)
FiniteDifferenceFunctionImg2OfVox8DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox8DDoubleVecType *)
void SetFiniteDifferenceFunctionImg2OfVoxDoubleType(FiniteDifferenceFunctionImg2OfVoxDoubleType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVox8DFloatVecType(FiniteDifferenceFunctionImg3OfVox8DFloatVecType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVoxFloatType(FiniteDifferenceFunctionImg3OfVoxFloatType ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVoxDoubleType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxDoubleType *)
void SetFiniteDifferenceFunctionImg2OfVox2DFloatVecType(FiniteDifferenceFunctionImg2OfVox2DFloatVecType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVoxDoubleType(FiniteDifferenceFunctionImg3OfVoxDoubleType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVoxInt8Type(FiniteDifferenceFunctionImg3OfVoxInt8Type ::Pointer ptr)
void SetFiniteDifferenceFunctionImg2OfVox8DFloatVecType(FiniteDifferenceFunctionImg2OfVox8DFloatVecType ::Pointer ptr)
void SetFiniteDifferenceFunctionImg2OfVox6DDoubleVecType(FiniteDifferenceFunctionImg2OfVox6DDoubleVecType ::Pointer ptr)
bool isFiniteDifferenceFunctionValid(PagedImage *outImg, bool usePDEDeformableFunc=false)
Check whether a correctly typed difference function is available in any member which matches the conf...
void SetFiniteDifferenceFunctionImg2OfVoxInt32Type(FiniteDifferenceFunctionImg2OfVoxInt32Type ::Pointer ptr)
void SetFiniteDifferenceFunctionImg3OfVoxUInt8Type(FiniteDifferenceFunctionImg3OfVoxUInt8Type ::Pointer ptr)
void SetFiniteDifferenceFunctionImg2OfVoxInt8Type(FiniteDifferenceFunctionImg2OfVoxInt8Type ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVox6DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox6DDoubleVecType *)
FiniteDifferenceFunctionImg2OfVoxFloatType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVoxFloatType *)
void SetFiniteDifferenceFunctionImg2OfVox8DDoubleVecType(FiniteDifferenceFunctionImg2OfVox8DDoubleVecType ::Pointer ptr)
FiniteDifferenceFunctionImg2OfVox2DFloatVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox2DFloatVecType *)
FiniteDifferenceFunctionImg2OfVox4DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg2OfVox4DDoubleVecType *)
void SetFiniteDifferenceFunctionImg3OfVox8DDoubleVecType(FiniteDifferenceFunctionImg3OfVox8DDoubleVecType ::Pointer ptr)
FiniteDifferenceFunctionImg3OfVox8DDoubleVecType ::Pointer GetFiniteDifferenceFunction(FiniteDifferenceFunctionImg3OfVox8DDoubleVecType *)
void SetFiniteDifferenceFunctionImg3OfVox4DDoubleVecType(FiniteDifferenceFunctionImg3OfVox4DDoubleVecType ::Pointer ptr)
Class which represents an image, which manages properties of an image and image data which is located...
Definition: mlPagedImage.h:70
MLint getExtDimension() const
Returns the index to the highest vector component which is not 1 which is useful to get the real dime...
MLint32 MLDataType
MLDataType.
Definition: mlTypeDefs.h:684
MLEXPORT size_t MLTypeGetNumComponents(MLDataType dataType)
Returns the number of components of the data type datatype or 0 in case of an invalid data type.
@ MLuint8Type
Enumerator for the unsigned 8 bit ML integer type.
Definition: mlTypeDefs.h:723
@ MLuint32Type
Enumerator for the unsigned 32 bit ML integer type.
Definition: mlTypeDefs.h:727
@ MLfloatType
Enumerator for the signed 32 bit ML floating point type.
Definition: mlTypeDefs.h:728
@ MLuint16Type
Enumerator for the unsigned 16 bit ML integer type.
Definition: mlTypeDefs.h:725
@ MLint16Type
Enumerator for the signed 16 bit ML integer type.
Definition: mlTypeDefs.h:724
@ MLint32Type
Enumerator for the signed 32 bit ML integer type.
Definition: mlTypeDefs.h:726
@ MLdoubleType
Enumerator for the signed 64 bit ML floating point type.
Definition: mlTypeDefs.h:729
@ MLint8Type
Enumerator for the signed 8 bit ML integer type.
Definition: mlTypeDefs.h:722
#define ML_CREATE_BASE_WRAPPER_FOR_OBJECT_H(CLASS_NAME, CLASS_NAME_POINTER, WRAPPER_CLASS_NAME, PARENT_CLASS_NAME, ML_EXPORT_MACRO)
Macro to create a wrapper class for an object.
itk::Image< MLint8, 2 > Img2OfVoxInt8Type
itk::Image< MLuint16, 2 > Img2OfVoxUInt16Type
itk::Image< Vox8DFloatVecType, 3 > Img3OfVox8DFloatVecType
itk::FiniteDifferenceFunction< Img3OfVoxFloatType > FiniteDifferenceFunctionImg3OfVoxFloatType
itk::Image< Vox8DDoubleVecType, 2 > Img2OfVox8DDoubleVecType
itk::FiniteDifferenceFunction< Img2OfVoxFloatType > FiniteDifferenceFunctionImg2OfVoxFloatType
itk::Image< MLfloat, 3 > Img3OfVoxFloatType
itk::Image< Vox8DDoubleVecType, 3 > Img3OfVox8DDoubleVecType
itk::FiniteDifferenceFunction< Img2OfVox6DFloatVecType > FiniteDifferenceFunctionImg2OfVox6DFloatVecType
itk::FiniteDifferenceFunction< Img3OfVox8DFloatVecType > FiniteDifferenceFunctionImg3OfVox8DFloatVecType
itk::Image< Vox4DDoubleVecType, 3 > Img3OfVox4DDoubleVecType
itk::PDEDeformableRegistrationFunction< Img3OfVoxFloatType, Img3OfVoxFloatType, Img3OfVox3DFloatVecType > PDEDeformableRegFunction3DF3DF3DFVType
itk::Vector< float,8 > Vox8DFloatVecType
itk::Image< Vox6DFloatVecType, 2 > Img2OfVox6DFloatVecType
itk::FiniteDifferenceFunction< Img3OfVox4DFloatVecType > FiniteDifferenceFunctionImg3OfVox4DFloatVecType
itk::FiniteDifferenceFunction< Img2OfVox3DFloatVecType > FiniteDifferenceFunctionImg2OfVox3DFloatVecType
itk::Image< MLfloat, 2 > Img2OfVoxFloatType
itk::Image< MLdouble, 2 > Img2OfVoxDoubleType
itk::Image< MLdouble, 3 > Img3OfVoxDoubleType
itk::Vector< double, 3 > Vox3DDoubleVecType
itk::Image< Vox2DFloatVecType, 3 > Img3OfVox2DFloatVecType
itk::FiniteDifferenceFunction< Img3OfVox4DDoubleVecType > FiniteDifferenceFunctionImg3OfVox4DDoubleVecType
itk::FiniteDifferenceFunction< Img3OfVox2DDoubleVecType > FiniteDifferenceFunctionImg3OfVox2DDoubleVecType
itk::Image< Vox2DFloatVecType, 2 > Img2OfVox2DFloatVecType
itk::Image< Vox6DFloatVecType, 3 > Img3OfVox6DFloatVecType
itk::Vector< float,3 > Vox3DFloatVecType
itk::FiniteDifferenceFunction< Img2OfVoxUInt16Type > FiniteDifferenceFunctionImg2OfVoxUInt16Type
itk::FiniteDifferenceFunction< Img2OfVox8DDoubleVecType > FiniteDifferenceFunctionImg2OfVox8DDoubleVecType
itk::Vector< double, 8 > Vox8DDoubleVecType
itk::FiniteDifferenceFunction< Img2OfVoxDoubleType > FiniteDifferenceFunctionImg2OfVoxDoubleType
itk::Image< Vox3DFloatVecType, 2 > Img2OfVox3DFloatVecType
itk::Image< MLint8, 3 > Img3OfVoxInt8Type
itk::Image< Vox2DDoubleVecType, 2 > Img2OfVox2DDoubleVecType
itk::Image< MLint16, 2 > Img2OfVoxInt16Type
itk::FiniteDifferenceFunction< Img2OfVox6DDoubleVecType > FiniteDifferenceFunctionImg2OfVox6DDoubleVecType
itk::FiniteDifferenceFunction< Img2OfVox4DDoubleVecType > FiniteDifferenceFunctionImg2OfVox4DDoubleVecType
itk::FiniteDifferenceFunction< Img3OfVoxUInt32Type > FiniteDifferenceFunctionImg3OfVoxUInt32Type
itk::FiniteDifferenceFunction< Img3OfVoxUInt16Type > FiniteDifferenceFunctionImg3OfVoxUInt16Type
itk::Image< Vox8DFloatVecType, 2 > Img2OfVox8DFloatVecType
itk::FiniteDifferenceFunction< Img2OfVoxUInt32Type > FiniteDifferenceFunctionImg2OfVoxUInt32Type
itk::Image< MLuint8, 2 > Img2OfVoxUInt8Type
itk::Image< MLint32, 2 > Img2OfVoxInt32Type
itk::FiniteDifferenceFunction< Img2OfVoxUInt8Type > FiniteDifferenceFunctionImg2OfVoxUInt8Type
itk::FiniteDifferenceFunction< Img2OfVox4DFloatVecType > FiniteDifferenceFunctionImg2OfVox4DFloatVecType
itk::Image< MLuint32, 3 > Img3OfVoxUInt32Type
itk::FiniteDifferenceFunction< Img3OfVoxInt32Type > FiniteDifferenceFunctionImg3OfVoxInt32Type
itk::Image< Vox4DDoubleVecType, 2 > Img2OfVox4DDoubleVecType
itk::FiniteDifferenceFunction< Img3OfVox3DDoubleVecType > FiniteDifferenceFunctionImg3OfVox3DDoubleVecType
itk::FiniteDifferenceFunction< Img2OfVox8DFloatVecType > FiniteDifferenceFunctionImg2OfVox8DFloatVecType
itk::Image< Vox4DFloatVecType, 3 > Img3OfVox4DFloatVecType
itk::FiniteDifferenceFunction< Img2OfVox3DDoubleVecType > FiniteDifferenceFunctionImg2OfVox3DDoubleVecType
itk::Image< Vox3DFloatVecType, 3 > Img3OfVox3DFloatVecType
itk::FiniteDifferenceFunction< Img3OfVox6DDoubleVecType > FiniteDifferenceFunctionImg3OfVox6DDoubleVecType
itk::FiniteDifferenceFunction< Img2OfVox2DFloatVecType > FiniteDifferenceFunctionImg2OfVox2DFloatVecType
itk::Image< Vox3DDoubleVecType, 3 > Img3OfVox3DDoubleVecType
itk::FiniteDifferenceFunction< Img3OfVox8DDoubleVecType > FiniteDifferenceFunctionImg3OfVox8DDoubleVecType
itk::Vector< float,4 > Vox4DFloatVecType
itk::Image< Vox4DFloatVecType, 2 > Img2OfVox4DFloatVecType
itk::Image< MLuint32, 2 > Img2OfVoxUInt32Type
itk::Image< Vox6DDoubleVecType, 2 > Img2OfVox6DDoubleVecType
itk::FiniteDifferenceFunction< Img3OfVox3DFloatVecType > FiniteDifferenceFunctionImg3OfVox3DFloatVecType
itk::Image< MLint16, 3 > Img3OfVoxInt16Type
itk::FiniteDifferenceFunction< Img2OfVoxInt8Type > FiniteDifferenceFunctionImg2OfVoxInt8Type
itk::FiniteDifferenceFunction< Img2OfVox2DDoubleVecType > FiniteDifferenceFunctionImg2OfVox2DDoubleVecType
itk::FiniteDifferenceFunction< Img3OfVoxInt8Type > FiniteDifferenceFunctionImg3OfVoxInt8Type
itk::FiniteDifferenceFunction< Img2OfVoxInt32Type > FiniteDifferenceFunctionImg2OfVoxInt32Type
itk::Vector< double, 2 > Vox2DDoubleVecType
itk::Image< MLuint16, 3 > Img3OfVoxUInt16Type
itk::Vector< float,2 > Vox2DFloatVecType
Include most ML specific things.
itk::FiniteDifferenceFunction< Img3OfVox2DFloatVecType > FiniteDifferenceFunctionImg3OfVox2DFloatVecType
itk::Image< MLuint8, 3 > Img3OfVoxUInt8Type
itk::Vector< double, 6 > Vox6DDoubleVecType
itk::FiniteDifferenceFunction< Img3OfVoxInt16Type > FiniteDifferenceFunctionImg3OfVoxInt16Type
itk::FiniteDifferenceFunction< Img3OfVox6DFloatVecType > FiniteDifferenceFunctionImg3OfVox6DFloatVecType
itk::FiniteDifferenceFunction< Img3OfVoxUInt8Type > FiniteDifferenceFunctionImg3OfVoxUInt8Type
itk::Image< MLint32, 3 > Img3OfVoxInt32Type
itk::Image< Vox3DDoubleVecType, 2 > Img2OfVox3DDoubleVecType
itk::Image< Vox6DDoubleVecType, 3 > Img3OfVox6DDoubleVecType
itk::Vector< double, 4 > Vox4DDoubleVecType
itk::FiniteDifferenceFunction< Img3OfVoxDoubleType > FiniteDifferenceFunctionImg3OfVoxDoubleType
itk::Vector< float,6 > Vox6DFloatVecType
itk::FiniteDifferenceFunction< Img2OfVoxInt16Type > FiniteDifferenceFunctionImg2OfVoxInt16Type
itk::Image< Vox2DDoubleVecType, 3 > Img3OfVox2DDoubleVecType
#define MLITK_SUPPORT_EXPORT
When included by other libraries MLITK_SUPPORT_EXPORT is compiled as import symbol.
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:578