X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins_ITKInstances%2FImage.h;fp=lib%2FcpPlugins_ITKInstances%2FImage.h;h=3069e311d494efef7c3fa0ab27c173d39b173766;hb=1b0022070ff3b5f80f6f8c8b87f73032f5685eaf;hp=0000000000000000000000000000000000000000;hpb=98390bcac544f7f3a6762ce812dda491213d6f13;p=cpPlugins.git diff --git a/lib/cpPlugins_ITKInstances/Image.h b/lib/cpPlugins_ITKInstances/Image.h new file mode 100644 index 0000000..3069e31 --- /dev/null +++ b/lib/cpPlugins_ITKInstances/Image.h @@ -0,0 +1,251 @@ +#ifndef __CPPLUGINS_ITKINSTANCES__IMAGE__H__ +#define __CPPLUGINS_ITKINSTANCES__IMAGE__H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * ========================================================================= + * 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$