1 #include <cpPlugins/Interface/Macros.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_Image_Export( T, D ) \
18 cpPlugins_TEMPLATE_EXPORT( \
19 2(class cpPlugins_Interface_EXPORT itk::Image< T, D >) \
22 // -------------------------------------------------------------------------
23 #define cpPlugins_VTKImage_Export( T, D ) \
24 cpPlugins_TEMPLATE_EXPORT( \
26 class cpPlugins_Interface_EXPORT \
27 itk::ImageToVTKImageFilter< itk::Image< T, D > > \
31 // -------------------------------------------------------------------------
32 #define cpPlugins_ImageArray_Export( A, T, DA, DI ) \
33 cpPlugins_TEMPLATE_EXPORT( \
35 class cpPlugins_Interface_EXPORT \
36 itk::Image< itk::A< T, DA >, DI > \
40 // -------------------------------------------------------------------------
41 #define cpPlugins_VTKImageArray_Export( A, T, DA, DI ) \
42 cpPlugins_TEMPLATE_EXPORT( \
44 class cpPlugins_Interface_EXPORT \
45 itk::ImageToVTKImageFilter< itk::Image< itk::A< T, DA >, DI > > \
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 )
55 // -------------------------------------------------------------------------
56 #define cpPlugins_VTKImage_Export_AllDimensions( T ) \
57 cpPlugins_VTKImage_Export( T, 2 ); \
58 cpPlugins_VTKImage_Export( T, 3 )
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 )
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 )
71 // -------------------------------------------------------------------------
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 );
84 cpPlugins_Image_Export_AllDimensions( std::complex< float > );
85 cpPlugins_Image_Export_AllDimensions( std::complex< double > );
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 > );
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 > );
109 cpPlugins_ImageArray_Export_AllDimensions( Vector, float );
110 cpPlugins_ImageArray_Export_AllDimensions( Vector, double );
112 cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, float );
113 cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, double );
115 cpPlugins_ImageArray_Export_AllDimensions( Point, float );
116 cpPlugins_ImageArray_Export_AllDimensions( Point, double );
118 cpPlugins_ImageArray_Export_AllDimensions(
119 SymmetricSecondRankTensor, float
121 cpPlugins_ImageArray_Export_AllDimensions(
122 SymmetricSecondRankTensor, double
125 cpPlugins_Image_Export( itk::DiffusionTensor3D< float >, 3 );
126 cpPlugins_Image_Export( itk::DiffusionTensor3D< double >, 3 );
127 cpPlugins_Image_Export( itk::DiffusionTensor3D< float >, 4 );
128 cpPlugins_Image_Export( itk::DiffusionTensor3D< double >, 4 );
129 cpPlugins_Image_Export( itk::Offset< 2 >, 2 );
130 cpPlugins_Image_Export( itk::Offset< 3 >, 3 );
131 cpPlugins_Image_Export( itk::Offset< 4 >, 4 );
133 // -------------------------------------------------------------------------
134 // ITK<->VTK base clases
135 cpPlugins_VTKImage_Export_AllDimensions( char );
136 cpPlugins_VTKImage_Export_AllDimensions( short );
137 cpPlugins_VTKImage_Export_AllDimensions( int );
138 cpPlugins_VTKImage_Export_AllDimensions( long );
139 cpPlugins_VTKImage_Export_AllDimensions( unsigned char );
140 cpPlugins_VTKImage_Export_AllDimensions( unsigned short );
141 cpPlugins_VTKImage_Export_AllDimensions( unsigned int );
142 cpPlugins_VTKImage_Export_AllDimensions( unsigned long );
143 cpPlugins_VTKImage_Export_AllDimensions( float );
144 cpPlugins_VTKImage_Export_AllDimensions( double );
146 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< char > );
147 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< short > );
148 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< int > );
149 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< long > );
150 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned char > );
151 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned short > );
152 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned int > );
153 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned long > );
155 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< char > );
156 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< short > );
157 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< int > );
158 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< long > );
159 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned char > );
160 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned short > );
161 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned int > );
162 cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned long > );
164 cpPlugins_VTKImageArray_Export_AllDimensions( Vector, float );
165 cpPlugins_VTKImageArray_Export_AllDimensions( Vector, double );
167 cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, float );
168 cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, double );
170 cpPlugins_VTKImageArray_Export_AllDimensions( Point, float );
171 cpPlugins_VTKImageArray_Export_AllDimensions( Point, double );
173 cpPlugins_VTKImageArray_Export_AllDimensions(
174 SymmetricSecondRankTensor, float
176 cpPlugins_VTKImageArray_Export_AllDimensions(
177 SymmetricSecondRankTensor, double
180 cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< float >, 3 );
181 cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< double >, 3 );