]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/Instances_itkImage.cxx
...
[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
96 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< char > );
97 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< short > );
98 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< int > );
99 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< long > );
100 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned char > );
101 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned short > );
102 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned int > );
103 cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned long > );
104
105 cpPlugins_ImageArray_Export_AllDimensions( Vector, float );
106 cpPlugins_ImageArray_Export_AllDimensions( Vector, double );
107
108 cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, float );
109 cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, double );
110
111 cpPlugins_ImageArray_Export_AllDimensions( Point, float );
112 cpPlugins_ImageArray_Export_AllDimensions( Point, double );
113
114 cpPlugins_ImageArray_Export_AllDimensions(
115   SymmetricSecondRankTensor, float
116   );
117 cpPlugins_ImageArray_Export_AllDimensions(
118   SymmetricSecondRankTensor, double
119   );
120
121 cpPlugins_Image_Export( itk::DiffusionTensor3D< float >, 3 );
122 cpPlugins_Image_Export( itk::DiffusionTensor3D< double >, 3 );
123 cpPlugins_Image_Export( itk::Offset< 2 >, 2 );
124 cpPlugins_Image_Export( itk::Offset< 3 >, 3 );
125 cpPlugins_Image_Export( itk::Offset< 4 >, 4 );
126
127 // -------------------------------------------------------------------------
128 // ITK<->VTK base clases
129 cpPlugins_VTKImage_Export_AllDimensions( char );
130 cpPlugins_VTKImage_Export_AllDimensions( short );
131 cpPlugins_VTKImage_Export_AllDimensions( int );
132 cpPlugins_VTKImage_Export_AllDimensions( long );
133 cpPlugins_VTKImage_Export_AllDimensions( unsigned char );
134 cpPlugins_VTKImage_Export_AllDimensions( unsigned short );
135 cpPlugins_VTKImage_Export_AllDimensions( unsigned int );
136 cpPlugins_VTKImage_Export_AllDimensions( unsigned long );
137 cpPlugins_VTKImage_Export_AllDimensions( float );
138 cpPlugins_VTKImage_Export_AllDimensions( double );
139
140 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< char > );
141 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< short > );
142 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< int > );
143 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< long > );
144 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned char > );
145 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned short > );
146 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned int > );
147 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned long > );
148
149 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< char > );
150 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< short > );
151 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< int > );
152 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< long > );
153 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned char > );
154 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned short > );
155 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned int > );
156 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned long > );
157
158 cpPlugins_VTKImageArray_Export_AllDimensions( Vector, float );
159 cpPlugins_VTKImageArray_Export_AllDimensions( Vector, double );
160
161 cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, float );
162 cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, double );
163
164 cpPlugins_VTKImageArray_Export_AllDimensions( Point, float );
165 cpPlugins_VTKImageArray_Export_AllDimensions( Point, double );
166
167 cpPlugins_VTKImageArray_Export_AllDimensions(
168   SymmetricSecondRankTensor, float
169   );
170 cpPlugins_VTKImageArray_Export_AllDimensions(
171   SymmetricSecondRankTensor, double
172   );
173
174 cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< float >, 3 );
175 cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< double >, 3 );
176
177 // eof - $RCSfile$