3 #undef ITK_MANUAL_INSTANTIATION
5 #include <itkImportImageContainer.h>
6 #include <itkImageToVTKImageFilter.h>
8 #include <itkCovariantVector.h>
9 #include <itkDiffusionTensor3D.h>
11 #include <itkRGBPixel.h>
12 #include <itkRGBAPixel.h>
13 #include <itkSymmetricSecondRankTensor.h>
14 #include <itkVector.h>
16 // -------------------------------------------------------------------------
17 #define cpPlugins_I_itk( p, d ) \
18 template class itk::Image< p, d >;
20 // -------------------------------------------------------------------------
21 #define cpPlugins_I_itk_array( a, p, da, di ) \
22 template class itk::Image< a< p, da >, di >;
24 // -------------------------------------------------------------------------
25 #define cpPlugins_I_itk_Container( p ) \
26 template class itk::ImportImageContainer< itk::SizeValueType, p >;
28 // -------------------------------------------------------------------------
29 #define cpPlugins_I_itk_array_Container( a, p, d ) \
30 template class itk::ImportImageContainer< itk::SizeValueType, a< p, d > >;
32 // -------------------------------------------------------------------------
33 #define cpPlugins_I_itk_vtk( p, d ) \
34 template class itk::ImageToVTKImageFilter< itk::Image< p, d > >;
36 // -------------------------------------------------------------------------
37 #define cpPlugins_I_itk_vtk_array( a, p, da, di ) \
39 itk::ImageToVTKImageFilter< itk::Image< a< p, da > , di > >;
41 // -------------------------------------------------------------------------
46 template std::ostream& operator<<(
47 std::ostream& os, const ImageRegion< 1 >& obj
49 template class Point< double, 1 >;
50 template class Vector< double, 1 >;
54 cpPlugins_I_itk_Container( char );
55 cpPlugins_I_itk_Container( short );
56 cpPlugins_I_itk_Container( int );
57 cpPlugins_I_itk_Container( long );
58 cpPlugins_I_itk_Container( unsigned char );
59 cpPlugins_I_itk_Container( unsigned short );
60 cpPlugins_I_itk_Container( unsigned int );
61 cpPlugins_I_itk_Container( unsigned long );
62 cpPlugins_I_itk_Container( float );
63 cpPlugins_I_itk_Container( double );
64 cpPlugins_I_itk_Container( std::complex< float > );
65 cpPlugins_I_itk_Container( std::complex< double > );
66 cpPlugins_I_itk_Container( itk::RGBPixel< char > );
67 cpPlugins_I_itk_Container( itk::RGBPixel< short > );
68 cpPlugins_I_itk_Container( itk::RGBPixel< unsigned char > );
69 cpPlugins_I_itk_Container( itk::RGBPixel< unsigned short > );
70 cpPlugins_I_itk_Container( itk::RGBAPixel< char > );
71 cpPlugins_I_itk_Container( itk::RGBAPixel< short > );
72 cpPlugins_I_itk_Container( itk::RGBAPixel< unsigned char > );
73 cpPlugins_I_itk_Container( itk::RGBAPixel< unsigned short > );
74 cpPlugins_I_itk_Container( itk::Offset< 1 > );
75 cpPlugins_I_itk_Container( itk::Offset< 2 > );
76 cpPlugins_I_itk_Container( itk::Offset< 3 > );
77 cpPlugins_I_itk_Container( itk::Offset< 4 > );
78 cpPlugins_I_itk_array_Container( itk::Vector, float, 1 );
79 cpPlugins_I_itk_array_Container( itk::Vector, double, 1 );
80 cpPlugins_I_itk_array_Container( itk::Vector, float, 2 );
81 cpPlugins_I_itk_array_Container( itk::Vector, double, 2 );
82 cpPlugins_I_itk_array_Container( itk::Vector, float, 3 );
83 cpPlugins_I_itk_array_Container( itk::Vector, double, 3 );
84 cpPlugins_I_itk_array_Container( itk::Vector, float, 4 );
85 cpPlugins_I_itk_array_Container( itk::Vector, double, 4 );
86 cpPlugins_I_itk_array_Container( itk::Point, float, 1 );
87 cpPlugins_I_itk_array_Container( itk::Point, double, 1 );
88 cpPlugins_I_itk_array_Container( itk::Point, float, 2 );
89 cpPlugins_I_itk_array_Container( itk::Point, double, 2 );
90 cpPlugins_I_itk_array_Container( itk::Point, float, 3 );
91 cpPlugins_I_itk_array_Container( itk::Point, double, 3 );
92 cpPlugins_I_itk_array_Container( itk::Point, float, 4 );
93 cpPlugins_I_itk_array_Container( itk::Point, double, 4 );
94 cpPlugins_I_itk_array_Container( itk::CovariantVector, float, 1 );
95 cpPlugins_I_itk_array_Container( itk::CovariantVector, double, 1 );
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, 1 );
103 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 1 );
104 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 2 );
105 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 2 );
106 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 3 );
107 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 3 );
108 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 4 );
109 cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 4 );
110 cpPlugins_I_itk_Container( itk::DiffusionTensor3D< float > );
111 cpPlugins_I_itk_Container( itk::DiffusionTensor3D< double > );
113 cpPlugins_I_itk( char, 1 );
114 cpPlugins_I_itk( short, 1 );
115 cpPlugins_I_itk( int, 1 );
116 cpPlugins_I_itk( long, 1 );
117 cpPlugins_I_itk( unsigned char, 1 );
118 cpPlugins_I_itk( unsigned short, 1 );
119 cpPlugins_I_itk( unsigned int, 1 );
120 cpPlugins_I_itk( unsigned long, 1 );
121 cpPlugins_I_itk( float, 1 );
122 cpPlugins_I_itk( double, 1 );
124 cpPlugins_I_itk( char, 2 );
125 cpPlugins_I_itk( short, 2 );
126 cpPlugins_I_itk( int, 2 );
127 cpPlugins_I_itk( long, 2 );
128 cpPlugins_I_itk( unsigned char, 2 );
129 cpPlugins_I_itk( unsigned short, 2 );
130 cpPlugins_I_itk( unsigned int, 2 );
131 cpPlugins_I_itk( unsigned long, 2 );
132 cpPlugins_I_itk( float, 2 );
133 cpPlugins_I_itk( double, 2 );
135 cpPlugins_I_itk( char, 3 );
136 cpPlugins_I_itk( short, 3 );
137 cpPlugins_I_itk( int, 3 );
138 cpPlugins_I_itk( long, 3 );
139 cpPlugins_I_itk( unsigned char, 3 );
140 cpPlugins_I_itk( unsigned short, 3 );
141 cpPlugins_I_itk( unsigned int, 3 );
142 cpPlugins_I_itk( unsigned long, 3 );
143 cpPlugins_I_itk( float, 3 );
144 cpPlugins_I_itk( double, 3 );
146 cpPlugins_I_itk( char, 4 );
147 cpPlugins_I_itk( short, 4 );
148 cpPlugins_I_itk( int, 4 );
149 cpPlugins_I_itk( long, 4 );
150 cpPlugins_I_itk( unsigned char, 4 );
151 cpPlugins_I_itk( unsigned short, 4 );
152 cpPlugins_I_itk( unsigned int, 4 );
153 cpPlugins_I_itk( unsigned long, 4 );
154 cpPlugins_I_itk( float, 4 );
155 cpPlugins_I_itk( double, 4 );
157 cpPlugins_I_itk( std::complex< float >, 1 );
158 cpPlugins_I_itk( std::complex< double >, 1 );
160 cpPlugins_I_itk( std::complex< float >, 2 );
161 cpPlugins_I_itk( std::complex< double >, 2 );
163 cpPlugins_I_itk( std::complex< float >, 3 );
164 cpPlugins_I_itk( std::complex< double >, 3 );
166 cpPlugins_I_itk( std::complex< float >, 4 );
167 cpPlugins_I_itk( std::complex< double >, 4 );
169 cpPlugins_I_itk( itk::RGBPixel< char >, 2 );
170 cpPlugins_I_itk( itk::RGBPixel< short >, 2 );
171 cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 2 );
172 cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 2 );
174 cpPlugins_I_itk( itk::RGBPixel< char >, 3 );
175 cpPlugins_I_itk( itk::RGBPixel< short >, 3 );
176 cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 3 );
177 cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 3 );
179 cpPlugins_I_itk( itk::RGBPixel< char >, 4 );
180 cpPlugins_I_itk( itk::RGBPixel< short >, 4 );
181 cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 4 );
182 cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 4 );
184 cpPlugins_I_itk( itk::RGBAPixel< char >, 2 );
185 cpPlugins_I_itk( itk::RGBAPixel< short >, 2 );
186 cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 2 );
187 cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 2 );
189 cpPlugins_I_itk( itk::RGBAPixel< char >, 3 );
190 cpPlugins_I_itk( itk::RGBAPixel< short >, 3 );
191 cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 3 );
192 cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 3 );
194 cpPlugins_I_itk( itk::RGBAPixel< char >, 4 );
195 cpPlugins_I_itk( itk::RGBAPixel< short >, 4 );
196 cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 4 );
197 cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 4 );
199 cpPlugins_I_itk( itk::Offset< 1 >, 1 );
200 cpPlugins_I_itk( itk::Offset< 2 >, 2 );
201 cpPlugins_I_itk( itk::Offset< 3 >, 3 );
202 cpPlugins_I_itk( itk::Offset< 4 >, 4 );
204 cpPlugins_I_itk_array( itk::Vector, float, 1, 1 );
205 cpPlugins_I_itk_array( itk::Vector, double, 1, 1 );
206 cpPlugins_I_itk_array( itk::Vector, float, 2, 2 );
207 cpPlugins_I_itk_array( itk::Vector, double, 2, 2 );
208 cpPlugins_I_itk_array( itk::Vector, float, 3, 3 );
209 cpPlugins_I_itk_array( itk::Vector, double, 3, 3 );
210 cpPlugins_I_itk_array( itk::Vector, float, 4, 4 );
211 cpPlugins_I_itk_array( itk::Vector, double, 4, 4 );
213 cpPlugins_I_itk_array( itk::Point, float, 1, 1 );
214 cpPlugins_I_itk_array( itk::Point, double, 1, 1 );
215 cpPlugins_I_itk_array( itk::Point, float, 2, 2 );
216 cpPlugins_I_itk_array( itk::Point, double, 2, 2 );
217 cpPlugins_I_itk_array( itk::Point, float, 3, 3 );
218 cpPlugins_I_itk_array( itk::Point, double, 3, 3 );
219 cpPlugins_I_itk_array( itk::Point, float, 4, 4 );
220 cpPlugins_I_itk_array( itk::Point, double, 4, 4 );
222 cpPlugins_I_itk_array( itk::CovariantVector, float, 1, 1 );
223 cpPlugins_I_itk_array( itk::CovariantVector, double, 1, 1 );
224 cpPlugins_I_itk_array( itk::CovariantVector, float, 2, 2 );
225 cpPlugins_I_itk_array( itk::CovariantVector, double, 2, 2 );
226 cpPlugins_I_itk_array( itk::CovariantVector, float, 3, 3 );
227 cpPlugins_I_itk_array( itk::CovariantVector, double, 3, 3 );
228 cpPlugins_I_itk_array( itk::CovariantVector, float, 4, 4 );
229 cpPlugins_I_itk_array( itk::CovariantVector, double, 4, 4 );
231 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 1, 1 );
232 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 1, 1 );
233 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 2, 2 );
234 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 2, 2 );
235 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 3, 3 );
236 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 3, 3 );
237 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 4, 4 );
238 cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 4, 4 );
240 cpPlugins_I_itk( itk::DiffusionTensor3D< float >, 3 );
241 cpPlugins_I_itk( itk::DiffusionTensor3D< double >, 3 );
248 // -------------------------------------------------------------------------
249 // Possible itk types that could be connected to vtk
251 cpPlugins_I_itk_vtk( char, 1 );
252 cpPlugins_I_itk_vtk( short, 1 );
253 cpPlugins_I_itk_vtk( int, 1 );
254 cpPlugins_I_itk_vtk( long, 1 );
255 cpPlugins_I_itk_vtk( unsigned char, 1 );
256 cpPlugins_I_itk_vtk( unsigned short, 1 );
257 cpPlugins_I_itk_vtk( unsigned int, 1 );
258 cpPlugins_I_itk_vtk( unsigned long, 1 );
259 cpPlugins_I_itk_vtk( float, 1 );
260 cpPlugins_I_itk_vtk( double, 1 );
262 cpPlugins_I_itk_vtk( char, 2 );
263 cpPlugins_I_itk_vtk( short, 2 );
264 cpPlugins_I_itk_vtk( int, 2 );
265 cpPlugins_I_itk_vtk( long, 2 );
266 cpPlugins_I_itk_vtk( unsigned char, 2 );
267 cpPlugins_I_itk_vtk( unsigned short, 2 );
268 cpPlugins_I_itk_vtk( unsigned int, 2 );
269 cpPlugins_I_itk_vtk( unsigned long, 2 );
270 cpPlugins_I_itk_vtk( float, 2 );
271 cpPlugins_I_itk_vtk( double, 2 );
273 cpPlugins_I_itk_vtk( char, 3 );
274 cpPlugins_I_itk_vtk( short, 3 );
275 cpPlugins_I_itk_vtk( int, 3 );
276 cpPlugins_I_itk_vtk( long, 3 );
277 cpPlugins_I_itk_vtk( unsigned char, 3 );
278 cpPlugins_I_itk_vtk( unsigned short, 3 );
279 cpPlugins_I_itk_vtk( unsigned int, 3 );
280 cpPlugins_I_itk_vtk( unsigned long, 3 );
281 cpPlugins_I_itk_vtk( float, 3 );
282 cpPlugins_I_itk_vtk( double, 3 );
284 cpPlugins_I_itk_vtk( itk::RGBPixel< char >, 2 );
285 cpPlugins_I_itk_vtk( itk::RGBPixel< short >, 2 );
286 cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned char >, 2 );
287 cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned short >, 2 );
289 cpPlugins_I_itk_vtk( itk::RGBPixel< char >, 3 );
290 cpPlugins_I_itk_vtk( itk::RGBPixel< short >, 3 );
291 cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned char >, 3 );
292 cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned short >, 3 );
294 cpPlugins_I_itk_vtk( itk::RGBAPixel< char >, 2 );
295 cpPlugins_I_itk_vtk( itk::RGBAPixel< short >, 2 );
296 cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned char >, 2 );
297 cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned short >, 2 );
299 cpPlugins_I_itk_vtk( itk::RGBAPixel< char >, 3 );
300 cpPlugins_I_itk_vtk( itk::RGBAPixel< short >, 3 );
301 cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned char >, 3 );
302 cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned short >, 3 );
304 cpPlugins_I_itk_vtk_array( itk::Vector, float, 1, 1 );
305 cpPlugins_I_itk_vtk_array( itk::Vector, double, 1, 1 );
306 cpPlugins_I_itk_vtk_array( itk::Vector, float, 2, 2 );
307 cpPlugins_I_itk_vtk_array( itk::Vector, double, 2, 2 );
308 cpPlugins_I_itk_vtk_array( itk::Vector, float, 3, 3 );
309 cpPlugins_I_itk_vtk_array( itk::Vector, double, 3, 3 );
311 cpPlugins_I_itk_vtk_array( itk::Point, float, 1, 1 );
312 cpPlugins_I_itk_vtk_array( itk::Point, double, 1, 1 );
313 cpPlugins_I_itk_vtk_array( itk::Point, float, 2, 2 );
314 cpPlugins_I_itk_vtk_array( itk::Point, double, 2, 2 );
315 cpPlugins_I_itk_vtk_array( itk::Point, float, 3, 3 );
316 cpPlugins_I_itk_vtk_array( itk::Point, double, 3, 3 );
318 cpPlugins_I_itk_vtk_array( itk::CovariantVector, float, 1, 1 );
319 cpPlugins_I_itk_vtk_array( itk::CovariantVector, double, 1, 1 );
320 cpPlugins_I_itk_vtk_array( itk::CovariantVector, float, 2, 2 );
321 cpPlugins_I_itk_vtk_array( itk::CovariantVector, double, 2, 2 );
322 cpPlugins_I_itk_vtk_array( itk::CovariantVector, float, 3, 3 );
323 cpPlugins_I_itk_vtk_array( itk::CovariantVector, double, 3, 3 );
325 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, float, 1, 1 );
326 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, double, 1, 1 );
327 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, float, 2, 2 );
328 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, double, 2, 2 );
329 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, float, 3, 3 );
330 cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, double, 3, 3 );
332 cpPlugins_I_itk_vtk( itk::DiffusionTensor3D< float >, 3 );
333 cpPlugins_I_itk_vtk( itk::DiffusionTensor3D< double >, 3 );