]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/Instances_itkImage.cxx
ab8d38a7f19688a324da95d9599c94d5667cca63
[cpPlugins.git] / lib / cpPlugins / Interface / Instances_itkImage.cxx
1 #include <cpPlugins/Interface/Macros.h>
2
3 #include <complex>
4
5 #include <itkImage.h>
6 #include <itkImageToVTKImageFilter.h>
7
8 #include <itkCovariantVector.h>
9 #include <itkDiffusionTensor3D.h>
10 #include <itkPoint.h>
11 #include <itkRGBPixel.h>
12 #include <itkRGBAPixel.h>
13 #include <itkSymmetricSecondRankTensor.h>
14 #include <itkVector.h>
15
16 // -------------------------------------------------------------------------
17 #define cpPlugins_Image_Export( T, D )                                  \
18   cpPlugins_TEMPLATE_EXPORT(                                            \
19     2(class cpPlugins_Interface_EXPORT itk::Image< T, D >)              \
20     )
21
22 // -------------------------------------------------------------------------
23 #define cpPlugins_VTKImage_Export( T, D )                               \
24   cpPlugins_TEMPLATE_EXPORT(                                            \
25     2(                                                                  \
26       class cpPlugins_Interface_EXPORT                                  \
27       itk::ImageToVTKImageFilter< itk::Image< T, D > >                  \
28       )                                                                 \
29     )
30
31 // -------------------------------------------------------------------------
32 #define cpPlugins_ImageArray_Export( A, T, DA, DI )                     \
33   cpPlugins_TEMPLATE_EXPORT(                                            \
34     3(                                                                  \
35       class cpPlugins_Interface_EXPORT                                  \
36       itk::Image< itk::A< T, DA >, DI >                                 \
37       )                                                                 \
38     )
39
40 // -------------------------------------------------------------------------
41 #define cpPlugins_VTKImageArray_Export( A, T, DA, DI )                  \
42   cpPlugins_TEMPLATE_EXPORT(                                            \
43     3(                                                                  \
44       class cpPlugins_Interface_EXPORT                                  \
45       itk::ImageToVTKImageFilter< itk::Image< itk::A< T, DA >, DI > >   \
46       )                                                                 \
47     )
48
49 // -------------------------------------------------------------------------
50 #define cpPlugins_Image_Export_AllDimensions( T )       \
51   cpPlugins_Image_Export( T, 2 );                       \
52   cpPlugins_Image_Export( T, 3 );                       \
53   cpPlugins_Image_Export( T, 4 )
54
55 // -------------------------------------------------------------------------
56 #define cpPlugins_VTKImage_Export_AllDimensions( T )       \
57   cpPlugins_VTKImage_Export( T, 2 );                       \
58   cpPlugins_VTKImage_Export( T, 3 )
59
60 // -------------------------------------------------------------------------
61 #define cpPlugins_ImageArray_Export_AllDimensions( A, T )             \
62   cpPlugins_ImageArray_Export( A, T, 2, 2 );                          \
63   cpPlugins_ImageArray_Export( A, T, 3, 3 );                          \
64   cpPlugins_ImageArray_Export( A, T, 4, 4 )
65
66 // -------------------------------------------------------------------------
67 #define cpPlugins_VTKImageArray_Export_AllDimensions( A, T )            \
68   cpPlugins_VTKImageArray_Export( A, T, 2, 2 );                         \
69   cpPlugins_VTKImageArray_Export( A, T, 3, 3 )
70
71 // -------------------------------------------------------------------------
72 // ITK base clases
73 cpPlugins_Image_Export_AllDimensions( char );
74 cpPlugins_Image_Export_AllDimensions( short );
75 cpPlugins_Image_Export_AllDimensions( int );
76 cpPlugins_Image_Export_AllDimensions( long );
77 cpPlugins_Image_Export_AllDimensions( unsigned char );
78 cpPlugins_Image_Export_AllDimensions( unsigned short );
79 cpPlugins_Image_Export_AllDimensions( unsigned int );
80 cpPlugins_Image_Export_AllDimensions( unsigned long );
81 cpPlugins_Image_Export_AllDimensions( float );
82 cpPlugins_Image_Export_AllDimensions( double );
83
84 cpPlugins_Image_Export_AllDimensions( std::complex< float > );
85 cpPlugins_Image_Export_AllDimensions( std::complex< double > );
86
87 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< char > );
88 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< short > );
89 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< int > );
90 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< long > );
91 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned char > );
92 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned short > );
93 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned int > );
94 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned long > );
95 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< float > );
96 cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< double > );
97
98 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< char > );
99 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< short > );
100 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< int > );
101 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< long > );
102 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned char > );
103 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned short > );
104 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned int > );
105 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned long > );
106 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< float > );
107 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< double > );
108
109 cpPlugins_ImageArray_Export_AllDimensions( Vector, float );
110 cpPlugins_ImageArray_Export_AllDimensions( Vector, double );
111
112 cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, float );
113 cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, double );
114
115 cpPlugins_ImageArray_Export_AllDimensions( Point, float );
116 cpPlugins_ImageArray_Export_AllDimensions( Point, double );
117
118 cpPlugins_ImageArray_Export_AllDimensions(
119   SymmetricSecondRankTensor, float
120   );
121 cpPlugins_ImageArray_Export_AllDimensions(
122   SymmetricSecondRankTensor, double
123   );
124
125 cpPlugins_Image_Export( itk::DiffusionTensor3D< float >, 3 );
126 cpPlugins_Image_Export( itk::DiffusionTensor3D< double >, 3 );
127 cpPlugins_Image_Export( itk::Offset< 2 >, 2 );
128 cpPlugins_Image_Export( itk::Offset< 3 >, 3 );
129 cpPlugins_Image_Export( itk::Offset< 4 >, 4 );
130
131 // -------------------------------------------------------------------------
132 // ITK<->VTK base clases
133 cpPlugins_VTKImage_Export_AllDimensions( char );
134 cpPlugins_VTKImage_Export_AllDimensions( short );
135 cpPlugins_VTKImage_Export_AllDimensions( int );
136 cpPlugins_VTKImage_Export_AllDimensions( long );
137 cpPlugins_VTKImage_Export_AllDimensions( unsigned char );
138 cpPlugins_VTKImage_Export_AllDimensions( unsigned short );
139 cpPlugins_VTKImage_Export_AllDimensions( unsigned int );
140 cpPlugins_VTKImage_Export_AllDimensions( unsigned long );
141 cpPlugins_VTKImage_Export_AllDimensions( float );
142 cpPlugins_VTKImage_Export_AllDimensions( double );
143
144 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< char > );
145 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< short > );
146 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< int > );
147 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< long > );
148 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned char > );
149 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned short > );
150 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned int > );
151 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned long > );
152
153 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< char > );
154 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< short > );
155 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< int > );
156 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< long > );
157 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned char > );
158 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned short > );
159 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned int > );
160 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned long > );
161
162 cpPlugins_VTKImageArray_Export_AllDimensions( Vector, float );
163 cpPlugins_VTKImageArray_Export_AllDimensions( Vector, double );
164
165 cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, float );
166 cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, double );
167
168 cpPlugins_VTKImageArray_Export_AllDimensions( Point, float );
169 cpPlugins_VTKImageArray_Export_AllDimensions( Point, double );
170
171 cpPlugins_VTKImageArray_Export_AllDimensions(
172   SymmetricSecondRankTensor, float
173   );
174 cpPlugins_VTKImageArray_Export_AllDimensions(
175   SymmetricSecondRankTensor, double
176   );
177
178 cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< float >, 3 );
179 cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< double >, 3 );
180
181 // eof - $RCSfile$