]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins_ITKInstances/Image.h
First dump for version 0.1.0
[cpPlugins.git] / lib / cpPlugins_ITKInstances / Image.h
diff --git a/lib/cpPlugins_ITKInstances/Image.h b/lib/cpPlugins_ITKInstances/Image.h
new file mode 100644 (file)
index 0000000..3069e31
--- /dev/null
@@ -0,0 +1,251 @@
+#ifndef __CPPLUGINS_ITKINSTANCES__IMAGE__H__
+#define __CPPLUGINS_ITKINSTANCES__IMAGE__H__
+
+#include <cpPlugins_ITKInstances/Config.h>
+#include <itkConvertPixelBuffer.h>
+#include <itkDefaultConvertPixelTraits.h>
+#include <itkImportImageContainer.h>
+#include <itkImage.h>
+#include <itkImageSource.h>
+#include <itkRGBPixel.h>
+#include <itkRGBAPixel.h>
+#include <itkImageConstIteratorWithIndex.h>
+#include <itkImageIteratorWithIndex.h>
+#include <itkImageLinearConstIteratorWithIndex.h>
+#include <itkImageLinearIteratorWithIndex.h>
+#include <itkImageRegionConstIterator.h>
+#include <itkImageRegionIterator.h>
+#include <itkImageScanlineConstIterator.h>
+#include <itkImageScanlineIterator.h>
+#include <itkConstNeighborhoodIterator.h>
+#include <itkNeighborhoodIterator.h>
+#include <itkConstShapedNeighborhoodIterator.h>
+#include <itkShapedNeighborhoodIterator.h>
+#include <itkConstantBoundaryCondition.h>
+#include <itkPeriodicBoundaryCondition.h>
+#include <itkZeroFluxNeumannBoundaryCondition.h>
+#include <itkImageToVTKImageFilter.h>
+#include <itkImageTransformer.h>
+
+/*
+ * =========================================================================
+ * Define scalar ImageBase's
+ * =========================================================================
+ */
+#define cpPlugins_ITKInstances_ImageBase( D )           \
+  cpPlugins_ITKInstances_PREFIX itk::ImageBase< D >
+
+cpPlugins_ITKInstances_ImageBase( 1 );
+cpPlugins_ITKInstances_ImageBase( 2 );
+cpPlugins_ITKInstances_ImageBase( 3 );
+cpPlugins_ITKInstances_ImageBase( 4 );
+
+/*
+ * =========================================================================
+ * Define pixel-based objects
+ * =========================================================================
+ */
+#define cpPlugins_ITKInstances_ConvertPixelBuffer( T, U, V )            \
+  cpPlugins_ITKInstances_PREFIX itk::ConvertPixelBuffer< T, U, itk::DefaultConvertPixelTraits< V > >
+
+#define cpPlugins_ITKInstances_ColorPixel( T )          \
+  cpPlugins_ITKInstances_PREFIX itk::RGBPixel< T >;     \
+  cpPlugins_ITKInstances_PREFIX itk::RGBAPixel< T >
+
+#define cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( U )         \
+  cpPlugins_ITKInstances_PREFIX itk::ImportImageContainer< unsigned long, U >; \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( char, U, U );              \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( short, U, U );             \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( int, U, U );               \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( long, U, U );              \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( float, U, U );             \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( double, U, U );            \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( unsigned char, U, U );     \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( unsigned short, U, U );    \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( unsigned int, U, U );      \
+  cpPlugins_ITKInstances_ConvertPixelBuffer( unsigned long, U, U )
+
+cpPlugins_ITKInstances_ColorPixel( char );
+cpPlugins_ITKInstances_ColorPixel( short );
+cpPlugins_ITKInstances_ColorPixel( int );
+cpPlugins_ITKInstances_ColorPixel( long );
+cpPlugins_ITKInstances_ColorPixel( float );
+cpPlugins_ITKInstances_ColorPixel( double );
+cpPlugins_ITKInstances_ColorPixel( unsigned char );
+cpPlugins_ITKInstances_ColorPixel( unsigned short );
+cpPlugins_ITKInstances_ColorPixel( unsigned int );
+cpPlugins_ITKInstances_ColorPixel( unsigned long );
+
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( char );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( short );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( int );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( long );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( float );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( double );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( unsigned char );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( unsigned short );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( unsigned int );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( unsigned long );
+
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< char > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< short > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< int > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< long > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< float > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< double > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< unsigned char > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< unsigned short > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< unsigned int > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBPixel< unsigned long > );
+
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< char > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< short > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< int > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< long > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< float > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< double > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< unsigned char > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< unsigned short > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< unsigned int > );
+cpPlugins_ITKInstances_ConvertPixelBuffer_AllTypes( itk::RGBAPixel< unsigned long > );
+
+/*
+ * =========================================================================
+ * Define scalar Image's
+ * =========================================================================
+ */
+#define cpPlugins_ITKInstances_ScalarImage( P, D )                      \
+  cpPlugins_ITKInstances_PREFIX itk::Image< P, D >;                     \
+  cpPlugins_ITKInstances_PREFIX itk::ImageTransformer< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ImageSource< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ImageConstIteratorWithIndex< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ImageIteratorWithIndex< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ImageRegionConstIterator< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ImageRegionIterator< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ImageScanlineConstIterator< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ImageScanlineIterator< itk::Image< P, D > >
+
+#define cpPlugins_ITKInstances_ScalarImage_AllDims( P ) \
+  cpPlugins_ITKInstances_ScalarImage( P, 1 );           \
+  cpPlugins_ITKInstances_ScalarImage( P, 2 );           \
+  cpPlugins_ITKInstances_ScalarImage( P, 3 );           \
+  cpPlugins_ITKInstances_ScalarImage( P, 4 )
+
+cpPlugins_ITKInstances_ScalarImage_AllDims( char );
+cpPlugins_ITKInstances_ScalarImage_AllDims( short );
+cpPlugins_ITKInstances_ScalarImage_AllDims( int );
+cpPlugins_ITKInstances_ScalarImage_AllDims( long );
+cpPlugins_ITKInstances_ScalarImage_AllDims( float );
+cpPlugins_ITKInstances_ScalarImage_AllDims( double );
+cpPlugins_ITKInstances_ScalarImage_AllDims( unsigned char );
+cpPlugins_ITKInstances_ScalarImage_AllDims( unsigned short );
+cpPlugins_ITKInstances_ScalarImage_AllDims( unsigned int );
+cpPlugins_ITKInstances_ScalarImage_AllDims( unsigned long );
+
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< char > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< short > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< int > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< long > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< float > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< double > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< unsigned char > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< unsigned short > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< unsigned int > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBPixel< unsigned long > );
+
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< char > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< short > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< int > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< long > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< float > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< double > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< unsigned char > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< unsigned short > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< unsigned int > );
+cpPlugins_ITKInstances_ScalarImage_AllDims( itk::RGBAPixel< unsigned long > );
+
+/*
+ * =========================================================================
+ * Define scalar ItkVtkGlue
+ * =========================================================================
+ */
+#define cpPlugins_ITKInstances_ItkVtkGlueScalarImage( P, D )            \
+  cpPlugins_ITKInstances_PREFIX itk::ImageToVTKImageFilter< itk::Image< P, D > >
+
+#define cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( P )       \
+  cpPlugins_ITKInstances_ItkVtkGlueScalarImage( P, 2 );                 \
+  cpPlugins_ITKInstances_ItkVtkGlueScalarImage( P, 3 )
+
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( char );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( short );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( int );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( long );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( float );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( double );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( unsigned char );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( unsigned short );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( unsigned int );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( unsigned long );
+
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< char > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< short > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< int > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< long > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< float > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< double > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< unsigned char > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< unsigned short > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< unsigned int > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBPixel< unsigned long > );
+
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< char > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< short > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< int > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< long > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< float > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< double > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< unsigned char > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< unsigned short > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< unsigned int > );
+cpPlugins_ITKInstances_ItkVtkGlueScalarImage_AllDims( itk::RGBAPixel< unsigned long > );
+
+/*
+ * =========================================================================
+ * Define scalar shaped iterators
+ * =========================================================================
+ */
+#define cpPlugins_ITKInstances_ScalarImage_ShapedIterators( P, D )      \
+  cpPlugins_ITKInstances_PREFIX itk::ImageLinearConstIteratorWithIndex< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ImageLinearIteratorWithIndex< itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ConstantBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::PeriodicBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ConstNeighborhoodIterator< itk::Image< P, D >, itk::ConstantBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
+  cpPlugins_ITKInstances_PREFIX itk::NeighborhoodIterator< itk::Image< P, D >, itk::ConstantBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ConstNeighborhoodIterator< itk::Image< P, D >, itk::PeriodicBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
+  cpPlugins_ITKInstances_PREFIX itk::NeighborhoodIterator< itk::Image< P, D >, itk::PeriodicBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ConstNeighborhoodIterator< itk::Image< P, D >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
+  cpPlugins_ITKInstances_PREFIX itk::NeighborhoodIterator< itk::Image< P, D >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ConstShapedNeighborhoodIterator< itk::Image< P, D >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >; \
+  cpPlugins_ITKInstances_PREFIX itk::ShapedNeighborhoodIterator< itk::Image< P, D >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image< P, D >, itk::Image< P, D > > >
+
+#define cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( D ) \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( char, D );        \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( short, D );       \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( int, D );         \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( long, D );        \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( float, D );       \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( double, D );      \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( unsigned char, D ); \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( unsigned short, D ); \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( unsigned int, D ); \
+  cpPlugins_ITKInstances_ScalarImage_ShapedIterators( unsigned long, D )
+
+cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( 1 );
+cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( 2 );
+cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( 3 );
+cpPlugins_ITKInstances_ScalarImage_ShapedIterators_AllTypes( 4 );
+
+#endif // __CPPLUGINS_ITKINSTANCES__IMAGE__H__
+
+// eof - $RCSfile$