1 #ifndef __CPPLUGINS_ITKINSTANCES__IMAGE__H__
2 #define __CPPLUGINS_ITKINSTANCES__IMAGE__H__
4 #include <cpPlugins_ITKInstances/Config.h>
5 #include <itkConvertPixelBuffer.h>
6 #include <itkDefaultConvertPixelTraits.h>
7 #include <itkImportImageContainer.h>
9 #include <itkImageSource.h>
10 #include <itkRGBPixel.h>
11 #include <itkRGBAPixel.h>
12 #include <itkImageConstIteratorWithIndex.h>
13 #include <itkImageIteratorWithIndex.h>
14 #include <itkImageLinearConstIteratorWithIndex.h>
15 #include <itkImageLinearIteratorWithIndex.h>
16 #include <itkImageRegionConstIterator.h>
17 #include <itkImageRegionIterator.h>
18 #include <itkImageScanlineConstIterator.h>
19 #include <itkImageScanlineIterator.h>
20 #include <itkConstNeighborhoodIterator.h>
21 #include <itkNeighborhoodIterator.h>
22 #include <itkConstShapedNeighborhoodIterator.h>
23 #include <itkShapedNeighborhoodIterator.h>
24 #include <itkConstantBoundaryCondition.h>
25 #include <itkPeriodicBoundaryCondition.h>
26 #include <itkZeroFluxNeumannBoundaryCondition.h>
27 #include <itkImageToVTKImageFilter.h>
28 #include <itkImageTransformer.h>
31 * =========================================================================
32 * Define scalar ImageBase's
33 * =========================================================================
35 #define cpPlugins_ITKInstances_ImageBase( D ) \
36 cpPlugins_ITKInstances_PREFIX itk::ImageBase< D >
38 cpPlugins_ITKInstances_ImageBase( 1 );
39 cpPlugins_ITKInstances_ImageBase( 2 );
40 cpPlugins_ITKInstances_ImageBase( 3 );
41 cpPlugins_ITKInstances_ImageBase( 4 );
44 * =========================================================================
45 * Define pixel-based objects
46 * =========================================================================
48 #define cpPlugins_ITKInstances_ConvertPixelBuffer( T, U, V ) \
49 cpPlugins_ITKInstances_PREFIX itk::ConvertPixelBuffer< T, U, itk::DefaultConvertPixelTraits< V > >
51 #define cpPlugins_ITKInstances_ColorPixel( T ) \
52 cpPlugins_ITKInstances_PREFIX itk::RGBPixel< T >; \
53 cpPlugins_ITKInstances_PREFIX itk::RGBAPixel< T >
55 #define cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( U ) \
56 cpPlugins_ITKInstances_PREFIX itk::ImportImageContainer< unsigned long, U >; \
57 cpPlugins_ITKInstances_ConvertPixelBuffer( char, U, U ); \
58 cpPlugins_ITKInstances_ConvertPixelBuffer( short, U, U ); \
59 cpPlugins_ITKInstances_ConvertPixelBuffer( int, U, U ); \
60 cpPlugins_ITKInstances_ConvertPixelBuffer( long, U, U ); \
61 cpPlugins_ITKInstances_ConvertPixelBuffer( float, U, U ); \
62 cpPlugins_ITKInstances_ConvertPixelBuffer( double, U, U ); \
63 cpPlugins_ITKInstances_ConvertPixelBuffer( unsigned char, U, U ); \
64 cpPlugins_ITKInstances_ConvertPixelBuffer( unsigned short, U, U ); \
65 cpPlugins_ITKInstances_ConvertPixelBuffer( unsigned int, U, U ); \
66 cpPlugins_ITKInstances_ConvertPixelBuffer( unsigned long, U, U )
68 cpPlugins_ITKInstances_ColorPixel( char );
69 cpPlugins_ITKInstances_ColorPixel( short );
70 cpPlugins_ITKInstances_ColorPixel( int );
71 cpPlugins_ITKInstances_ColorPixel( long );
72 cpPlugins_ITKInstances_ColorPixel( float );
73 cpPlugins_ITKInstances_ColorPixel( double );
74 cpPlugins_ITKInstances_ColorPixel( unsigned char );
75 cpPlugins_ITKInstances_ColorPixel( unsigned short );
76 cpPlugins_ITKInstances_ColorPixel( unsigned int );
77 cpPlugins_ITKInstances_ColorPixel( unsigned long );
79 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( char );
80 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( short );
81 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( int );
82 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( long );
83 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( float );
84 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( double );
85 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( unsigned char );
86 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( unsigned short );
87 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( unsigned int );
88 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( unsigned long );
90 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< char > );
91 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< short > );
92 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< int > );
93 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< long > );
94 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< float > );
95 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< double > );
96 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< unsigned char > );
97 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< unsigned short > );
98 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< unsigned int > );
99 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< unsigned long > );
101 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< char > );
102 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< short > );
103 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< int > );
104 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< long > );
105 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< float > );
106 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< double > );
107 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< unsigned char > );
108 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< unsigned short > );
109 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< unsigned int > );
110 cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< unsigned long > );
113 * =========================================================================
114 * Define scalar Image's
115 * =========================================================================
117 #define cpPlugins_ITKInstances_ScalarImage( P, D ) \
118 cpPlugins_ITKInstances_PREFIX itk::Image< P, D >; \
119 cpPlugins_ITKInstances_PREFIX itk::ImageTransformer< itk::Image< P, D > >; \
120 cpPlugins_ITKInstances_PREFIX itk::ImageSource< itk::Image< P, D > >; \
121 cpPlugins_ITKInstances_PREFIX itk::ImageConstIteratorWithIndex< itk::Image< P, D > >; \
122 cpPlugins_ITKInstances_PREFIX itk::ImageIteratorWithIndex< itk::Image< P, D > >; \
123 cpPlugins_ITKInstances_PREFIX itk::ImageRegionConstIterator< itk::Image< P, D > >; \
124 cpPlugins_ITKInstances_PREFIX itk::ImageRegionIterator< itk::Image< P, D > >; \
125 cpPlugins_ITKInstances_PREFIX itk::ImageScanlineConstIterator< itk::Image< P, D > >; \
126 cpPlugins_ITKInstances_PREFIX itk::ImageScanlineIterator< itk::Image< P, D > >
128 #define cpPlugins_ITKInstances_ScalarImage_AllDims( P ) \
129 cpPlugins_ITKInstances_ScalarImage( P, 1 ); \
130 cpPlugins_ITKInstances_ScalarImage( P, 2 ); \
131 cpPlugins_ITKInstances_ScalarImage( P, 3 ); \
132 cpPlugins_ITKInstances_ScalarImage( P, 4 )
134 cpPlugins_ITKInstances_ScalarImage_AllDims( char );
135 cpPlugins_ITKInstances_ScalarImage_AllDims( short );
136 cpPlugins_ITKInstances_ScalarImage_AllDims( int );
137 cpPlugins_ITKInstances_ScalarImage_AllDims( long );
138 cpPlugins_ITKInstances_ScalarImage_AllDims( float );
139 cpPlugins_ITKInstances_ScalarImage_AllDims( double );
140 cpPlugins_ITKInstances_ScalarImage_AllDims( unsigned char );
141 cpPlugins_ITKInstances_ScalarImage_AllDims( unsigned short );
142 cpPlugins_ITKInstances_ScalarImage_AllDims( unsigned int );
143 cpPlugins_ITKInstances_ScalarImage_AllDims( unsigned long );
145 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< char > );
146 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< short > );
147 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< int > );
148 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< long > );
149 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< float > );
150 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< double > );
151 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< unsigned char > );
152 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< unsigned short > );
153 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< unsigned int > );
154 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< unsigned long > );
156 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< char > );
157 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< short > );
158 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< int > );
159 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< long > );
160 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< float > );
161 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< double > );
162 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< unsigned char > );
163 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< unsigned short > );
164 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< unsigned int > );
165 cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< unsigned long > );
168 * =========================================================================
169 * Define scalar ItkVtkGlue
170 * =========================================================================
172 #define cpPlugins_ITKInstances_ItkVtkGlueScalarImage( P, D ) \
173 cpPlugins_ITKInstances_PREFIX itk::ImageToVTKImageFilter< itk::Image< P, D > >
175 #define cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( P ) \
176 cpPlugins_ITKInstances_ItkVtkGlueScalarImage( P, 2 ); \
177 cpPlugins_ITKInstances_ItkVtkGlueScalarImage( P, 3 )
179 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( char );
180 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( short );
181 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( int );
182 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( long );
183 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( float );
184 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( double );
185 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( unsigned char );
186 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( unsigned short );
187 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( unsigned int );
188 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( unsigned long );
190 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< char > );
191 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< short > );
192 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< int > );
193 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< long > );
194 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< float > );
195 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< double > );
196 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< unsigned char > );
197 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< unsigned short > );
198 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< unsigned int > );
199 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< unsigned long > );
201 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< char > );
202 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< short > );
203 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< int > );
204 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< long > );
205 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< float > );
206 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< double > );
207 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< unsigned char > );
208 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< unsigned short > );
209 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< unsigned int > );
210 cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< unsigned long > );
213 * =========================================================================
214 * Define scalar shaped iterators
215 * =========================================================================
217 #define cpPlugins_ITKInstances_ScalarImage_ShapedIterators( P, D ) \
218 cpPlugins_ITKInstances_PREFIX itk::ImageLinearConstIteratorWithIndex< itk::Image< P, D > >; \
219 cpPlugins_ITKInstances_PREFIX itk::ImageLinearIteratorWithIndex< itk::Image< P, D > >; \
220 cpPlugins_ITKInstances_PREFIX itk::ConstantBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > >; \
221 cpPlugins_ITKInstances_PREFIX itk::PeriodicBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > >; \
222 cpPlugins_ITKInstances_PREFIX itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > >; \
223 cpPlugins_ITKInstances_PREFIX itk::ConstNeighborhoodIterator< itk::Image< P, D >, itk::ConstantBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
224 cpPlugins_ITKInstances_PREFIX itk::NeighborhoodIterator< itk::Image< P, D >, itk::ConstantBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
225 cpPlugins_ITKInstances_PREFIX itk::ConstNeighborhoodIterator< itk::Image< P, D >, itk::PeriodicBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
226 cpPlugins_ITKInstances_PREFIX itk::NeighborhoodIterator< itk::Image< P, D >, itk::PeriodicBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
227 cpPlugins_ITKInstances_PREFIX itk::ConstNeighborhoodIterator< itk::Image< P, D >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
228 cpPlugins_ITKInstances_PREFIX itk::NeighborhoodIterator< itk::Image< P, D >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
229 cpPlugins_ITKInstances_PREFIX itk::ConstShapedNeighborhoodIterator< itk::Image< P, D >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
230 cpPlugins_ITKInstances_PREFIX itk::ShapedNeighborhoodIterator< itk::Image< P, D >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >
232 #define cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( D ) \
233 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( char, D ); \
234 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( short, D ); \
235 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( int, D ); \
236 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( long, D ); \
237 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( float, D ); \
238 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( double, D ); \
239 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( unsigned char, D ); \
240 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( unsigned short, D ); \
241 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( unsigned int, D ); \
242 cpPlugins_ITKInstances_ScalarImage_ShapedIterators( unsigned long, D )
244 cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( 1 );
245 cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( 2 );
246 cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( 3 );
247 cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( 4 );
249 #endif // __CPPLUGINS_ITKINSTANCES__IMAGE__H__