]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/Instances_itkImage.cxx
ef296779898efbf894defc66ac89c48a59643c69
[cpPlugins.git] / lib / cpPlugins / Plugins / Instances_itkImage.cxx
1 #include <cpPlugins/Plugins/cpPlugins_Export.h>
2
3 #include <complex>
4
5 #undef ITK_MANUAL_INSTANTIATION
6 #include <itkImage.h>
7 #include <itkImportImageContainer.h>
8 #include <itkImageToVTKImageFilter.h>
9
10 #include <itkCovariantVector.h>
11 #include <itkDiffusionTensor3D.h>
12 #include <itkPoint.h>
13 #include <itkRGBPixel.h>
14 #include <itkRGBAPixel.h>
15 #include <itkSymmetricSecondRankTensor.h>
16 #include <itkVector.h>
17
18 // -------------------------------------------------------------------------
19 #define cpPlugins_I_itk( p, d )                         \
20   template class cpPlugins_EXPORT itk::Image< p, d >;
21
22 // -------------------------------------------------------------------------
23 #define cpPlugins_I_itk_array( a, p, da, di )                   \
24   template class cpPlugins_EXPORT itk::Image< a< p, da >, di >;
25
26 // -------------------------------------------------------------------------
27 #define cpPlugins_I_itk_Container( p )                                  \
28   template class cpPlugins_EXPORT                                       \
29   itk::ImportImageContainer< itk::SizeValueType, p >;
30
31 // -------------------------------------------------------------------------
32 #define cpPlugins_I_itk_array_Container( a, p, d )              \
33   template class cpPlugins_EXPORT                               \
34   itk::ImportImageContainer< itk::SizeValueType, a< p, d > >;
35
36 // -------------------------------------------------------------------------
37 #define cpPlugins_I_itk_vtk( p, d )                                     \
38   template class cpPlugins_EXPORT                                       \
39   itk::ImageToVTKImageFilter< itk::Image< p, d > >;
40
41 // -------------------------------------------------------------------------
42 #define cpPlugins_I_itk_vtk_array( a, p, da, di )                       \
43   template class cpPlugins_EXPORT                                       \
44   itk::ImageToVTKImageFilter< itk::Image< a< p, da > , di > >;
45
46 // -------------------------------------------------------------------------
47 // Possible itk types
48
49 namespace itk
50 {
51   /* TODO
52      template cpPlugins_EXPORT std::ostream& operator<<(
53      std::ostream& os, const ImageRegion< 1 >& obj
54      );
55      template class cpPlugins_EXPORT Point< double, 1 >;
56      template class cpPlugins_EXPORT Vector< double, 1 >;
57   */
58
59 } // ecapseman
60
61 cpPlugins_I_itk_Container( char );
62 cpPlugins_I_itk_Container( short );
63 cpPlugins_I_itk_Container( int );
64 cpPlugins_I_itk_Container( long );
65 cpPlugins_I_itk_Container( unsigned char );
66 cpPlugins_I_itk_Container( unsigned short );
67 cpPlugins_I_itk_Container( unsigned int );
68 cpPlugins_I_itk_Container( unsigned long );
69 cpPlugins_I_itk_Container( float );
70 cpPlugins_I_itk_Container( double );
71 cpPlugins_I_itk_Container( std::complex< float > );
72 cpPlugins_I_itk_Container( std::complex< double > );
73 cpPlugins_I_itk_Container( itk::RGBPixel< char > );
74 cpPlugins_I_itk_Container( itk::RGBPixel< short > );
75 cpPlugins_I_itk_Container( itk::RGBPixel< unsigned char > );
76 cpPlugins_I_itk_Container( itk::RGBPixel< unsigned short > );
77 cpPlugins_I_itk_Container( itk::RGBAPixel< char > );
78 cpPlugins_I_itk_Container( itk::RGBAPixel< short > );
79 cpPlugins_I_itk_Container( itk::RGBAPixel< unsigned char > );
80 cpPlugins_I_itk_Container( itk::RGBAPixel< unsigned short > );
81 cpPlugins_I_itk_Container( itk::Offset< 2 > );
82 cpPlugins_I_itk_Container( itk::Offset< 3 > );
83 cpPlugins_I_itk_Container( itk::Offset< 4 > );
84 cpPlugins_I_itk_array_Container( itk::Vector, float, 2 );
85 cpPlugins_I_itk_array_Container( itk::Vector, double, 2 );
86 cpPlugins_I_itk_array_Container( itk::Vector, float, 3 );
87 cpPlugins_I_itk_array_Container( itk::Vector, double, 3 );
88 cpPlugins_I_itk_array_Container( itk::Vector, float, 4 );
89 cpPlugins_I_itk_array_Container( itk::Vector, double, 4 );
90 cpPlugins_I_itk_array_Container( itk::Point, float, 2 );
91 cpPlugins_I_itk_array_Container( itk::Point, double, 2 );
92 cpPlugins_I_itk_array_Container( itk::Point, float, 3 );
93 cpPlugins_I_itk_array_Container( itk::Point, double, 3 );
94 cpPlugins_I_itk_array_Container( itk::Point, float, 4 );
95 cpPlugins_I_itk_array_Container( itk::Point, double, 4 );
96 cpPlugins_I_itk_array_Container( itk::CovariantVector, float, 2 );
97 cpPlugins_I_itk_array_Container( itk::CovariantVector, double, 2 );
98 cpPlugins_I_itk_array_Container( itk::CovariantVector, float, 3 );
99 cpPlugins_I_itk_array_Container( itk::CovariantVector, double, 3 );
100 cpPlugins_I_itk_array_Container( itk::CovariantVector, float, 4 );
101 cpPlugins_I_itk_array_Container( itk::CovariantVector, double, 4 );
102 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 2 );
103 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 2 );
104 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 3 );
105 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 3 );
106 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 4 );
107 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 4 );
108 cpPlugins_I_itk_Container( itk::DiffusionTensor3D< float > );
109 cpPlugins_I_itk_Container( itk::DiffusionTensor3D< double > );
110
111 cpPlugins_I_itk( char, 2 );
112 cpPlugins_I_itk( short, 2 );
113 cpPlugins_I_itk( int, 2 );
114 cpPlugins_I_itk( long, 2 );
115 cpPlugins_I_itk( unsigned char, 2 );
116 cpPlugins_I_itk( unsigned short, 2 );
117 cpPlugins_I_itk( unsigned int, 2 );
118 cpPlugins_I_itk( unsigned long, 2 );
119 cpPlugins_I_itk( float, 2 );
120 cpPlugins_I_itk( double, 2 );
121
122 cpPlugins_I_itk( char, 3 );
123 cpPlugins_I_itk( short, 3 );
124 cpPlugins_I_itk( int, 3 );
125 cpPlugins_I_itk( long, 3 );
126 cpPlugins_I_itk( unsigned char, 3 );
127 cpPlugins_I_itk( unsigned short, 3 );
128 cpPlugins_I_itk( unsigned int, 3 );
129 cpPlugins_I_itk( unsigned long, 3 );
130 cpPlugins_I_itk( float, 3 );
131 cpPlugins_I_itk( double, 3 );
132
133 cpPlugins_I_itk( char, 4 );
134 cpPlugins_I_itk( short, 4 );
135 cpPlugins_I_itk( int, 4 );
136 cpPlugins_I_itk( long, 4 );
137 cpPlugins_I_itk( unsigned char, 4 );
138 cpPlugins_I_itk( unsigned short, 4 );
139 cpPlugins_I_itk( unsigned int, 4 );
140 cpPlugins_I_itk( unsigned long, 4 );
141 cpPlugins_I_itk( float, 4 );
142 cpPlugins_I_itk( double, 4 );
143
144 cpPlugins_I_itk( std::complex< float >, 2 );
145 cpPlugins_I_itk( std::complex< double >, 2 );
146 cpPlugins_I_itk( std::complex< float >, 3 );
147 cpPlugins_I_itk( std::complex< double >, 3 );
148 cpPlugins_I_itk( std::complex< float >, 4 );
149 cpPlugins_I_itk( std::complex< double >, 4 );
150
151 cpPlugins_I_itk( itk::RGBPixel< char >, 2 );
152 cpPlugins_I_itk( itk::RGBPixel< short >, 2 );
153 cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 2 );
154 cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 2 );
155 cpPlugins_I_itk( itk::RGBPixel< char >, 3 );
156 cpPlugins_I_itk( itk::RGBPixel< short >, 3 );
157 cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 3 );
158 cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 3 );
159 cpPlugins_I_itk( itk::RGBPixel< char >, 4 );
160 cpPlugins_I_itk( itk::RGBPixel< short >, 4 );
161 cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 4 );
162 cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 4 );
163
164 cpPlugins_I_itk( itk::RGBAPixel< char >, 2 );
165 cpPlugins_I_itk( itk::RGBAPixel< short >, 2 );
166 cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 2 );
167 cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 2 );
168 cpPlugins_I_itk( itk::RGBAPixel< char >, 3 );
169 cpPlugins_I_itk( itk::RGBAPixel< short >, 3 );
170 cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 3 );
171 cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 3 );
172 cpPlugins_I_itk( itk::RGBAPixel< char >, 4 );
173 cpPlugins_I_itk( itk::RGBAPixel< short >, 4 );
174 cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 4 );
175 cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 4 );
176
177 cpPlugins_I_itk( itk::Offset< 2 >, 2 );
178 cpPlugins_I_itk( itk::Offset< 3 >, 3 );
179 cpPlugins_I_itk( itk::Offset< 4 >, 4 );
180
181 cpPlugins_I_itk_array( itk::Vector, float, 2, 2 );
182 cpPlugins_I_itk_array( itk::Vector, double, 2, 2 );
183 cpPlugins_I_itk_array( itk::Vector, float, 3, 3 );
184 cpPlugins_I_itk_array( itk::Vector, double, 3, 3 );
185 cpPlugins_I_itk_array( itk::Vector, float, 4, 4 );
186 cpPlugins_I_itk_array( itk::Vector, double, 4, 4 );
187
188 cpPlugins_I_itk_array( itk::Point, float, 2, 2 );
189 cpPlugins_I_itk_array( itk::Point, double, 2, 2 );
190 cpPlugins_I_itk_array( itk::Point, float, 3, 3 );
191 cpPlugins_I_itk_array( itk::Point, double, 3, 3 );
192 cpPlugins_I_itk_array( itk::Point, float, 4, 4 );
193 cpPlugins_I_itk_array( itk::Point, double, 4, 4 );
194
195 cpPlugins_I_itk_array( itk::CovariantVector, float, 2, 2 );
196 cpPlugins_I_itk_array( itk::CovariantVector, double, 2, 2 );
197 cpPlugins_I_itk_array( itk::CovariantVector, float, 3, 3 );
198 cpPlugins_I_itk_array( itk::CovariantVector, double, 3, 3 );
199 cpPlugins_I_itk_array( itk::CovariantVector, float, 4, 4 );
200 cpPlugins_I_itk_array( itk::CovariantVector, double, 4, 4 );
201
202 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 2, 2 );
203 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 2, 2 );
204 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 3, 3 );
205 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 3, 3 );
206 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 4, 4 );
207 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 4, 4 );
208
209 cpPlugins_I_itk( itk::DiffusionTensor3D< float >, 3 );
210 cpPlugins_I_itk( itk::DiffusionTensor3D< double >, 3 );
211
212 /* TODO
213  * itk::FixedArray
214  * itk::Matrix
215  */
216
217 // -------------------------------------------------------------------------
218 // Possible itk types that could be connected to vtk
219
220 cpPlugins_I_itk_vtk( char, 2 );
221 cpPlugins_I_itk_vtk( short, 2 );
222 cpPlugins_I_itk_vtk( int, 2 );
223 cpPlugins_I_itk_vtk( long, 2 );
224 cpPlugins_I_itk_vtk( unsigned char, 2 );
225 cpPlugins_I_itk_vtk( unsigned short, 2 );
226 cpPlugins_I_itk_vtk( unsigned int, 2 );
227 cpPlugins_I_itk_vtk( unsigned long, 2 );
228 cpPlugins_I_itk_vtk( float, 2 );
229 cpPlugins_I_itk_vtk( double, 2 );
230
231 cpPlugins_I_itk_vtk( char, 3 );
232 cpPlugins_I_itk_vtk( short, 3 );
233 cpPlugins_I_itk_vtk( int, 3 );
234 cpPlugins_I_itk_vtk( long, 3 );
235 cpPlugins_I_itk_vtk( unsigned char, 3 );
236 cpPlugins_I_itk_vtk( unsigned short, 3 );
237 cpPlugins_I_itk_vtk( unsigned int, 3 );
238 cpPlugins_I_itk_vtk( unsigned long, 3 );
239 cpPlugins_I_itk_vtk( float, 3 );
240 cpPlugins_I_itk_vtk( double, 3 );
241
242 cpPlugins_I_itk_vtk( itk::RGBPixel< char >, 2 );
243 cpPlugins_I_itk_vtk( itk::RGBPixel< short >, 2 );
244 cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned char >, 2 );
245 cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned short >, 2 );
246 cpPlugins_I_itk_vtk( itk::RGBPixel< char >, 3 );
247 cpPlugins_I_itk_vtk( itk::RGBPixel< short >, 3 );
248 cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned char >, 3 );
249 cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned short >, 3 );
250
251 cpPlugins_I_itk_vtk( itk::RGBAPixel< char >, 2 );
252 cpPlugins_I_itk_vtk( itk::RGBAPixel< short >, 2 );
253 cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned char >, 2 );
254 cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned short >, 2 );
255 cpPlugins_I_itk_vtk( itk::RGBAPixel< char >, 3 );
256 cpPlugins_I_itk_vtk( itk::RGBAPixel< short >, 3 );
257 cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned char >, 3 );
258 cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned short >, 3 );
259
260 cpPlugins_I_itk_vtk_array( itk::Vector, float, 2, 2 );
261 cpPlugins_I_itk_vtk_array( itk::Vector, double, 2, 2 );
262 cpPlugins_I_itk_vtk_array( itk::Vector, float, 3, 3 );
263 cpPlugins_I_itk_vtk_array( itk::Vector, double, 3, 3 );
264
265 cpPlugins_I_itk_vtk_array( itk::Point, float, 2, 2 );
266 cpPlugins_I_itk_vtk_array( itk::Point, double, 2, 2 );
267 cpPlugins_I_itk_vtk_array( itk::Point, float, 3, 3 );
268 cpPlugins_I_itk_vtk_array( itk::Point, double, 3, 3 );
269
270 cpPlugins_I_itk_vtk_array( itk::CovariantVector, float, 2, 2 );
271 cpPlugins_I_itk_vtk_array( itk::CovariantVector, double, 2, 2 );
272 cpPlugins_I_itk_vtk_array( itk::CovariantVector, float, 3, 3 );
273 cpPlugins_I_itk_vtk_array( itk::CovariantVector, double, 3, 3 );
274
275 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, float, 2, 2 );
276 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, double, 2, 2 );
277 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, float, 3, 3 );
278 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, double, 3, 3 );
279
280 cpPlugins_I_itk_vtk( itk::DiffusionTensor3D< float >, 3 );
281 cpPlugins_I_itk_vtk( itk::DiffusionTensor3D< double >, 3 );
282
283 // eof - $RCSfile$