#ifndef __CPPLUGINS__IMAGE__HXX__
#define __CPPLUGINS__IMAGE__HXX__
-#include <cpPlugins_ITKInstances/Image.h>
+#include <cpPlugins_Instances/ImageITK2VTK.h>
// -------------------------------------------------------------------------
template< unsigned int D >
* Demangle macros
* =========================================================================
*/
-#define cpPlugin_Image_Demangle_Dim( FUNC, INPUT, D ) \
- this->FUNC( INPUT->GetITK< itk::ImageBase< D > >( ) )
-
-#define cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, PIXEL, D ) \
- this->FUNC( dynamic_cast< itk::Image< PIXEL, D >* >( INPUT ) )
-
-#define cpPlugin_Image_Demangle_Pixel_AllScalars( r, FUNC, INPUT, D ) \
- r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, char, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, short, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, int, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, long, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, float, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, double, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, unsigned char, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, unsigned short, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, unsigned int, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, unsigned long, D )
-
-#define cpPlugin_Image_Demangle_Pixel_AllColor( r, FUNC, INPUT, D ) \
- r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< char >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< short >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< int >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< long >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< float >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< double >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< unsigned char >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< unsigned short >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< unsigned int >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< unsigned long >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< char >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< short >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< int >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< long >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< float >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< double >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< unsigned char >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< unsigned short >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< unsigned int >, D ); \
- if( r != "" ) r = cpPlugin_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< unsigned long >, D )
+#define cpPlugins_Image_Demangle_Dim( F, I, D ) \
+ if( dynamic_cast< itk::ImageBase< D >* >( I ) != NULL ) \
+ this->F( dynamic_cast< itk::ImageBase< D >* >( I ) )
+#define cpPlugins_Image_Demangle_Pixel_Dim( F, I, P, D ) \
+ if( dynamic_cast< itk::Image< P, D >* >( I ) != NULL ) \
+ this->F( dynamic_cast< itk::Image< P, D >* >( I ) )
+
+#define cpPlugins_Image_Demangle_ColorPixel_Dim( F, I, C, P, D ) \
+ if( dynamic_cast< itk::Image< itk::C##Pixel< P >, D >* >( I ) != NULL ) \
+ this->F( dynamic_cast< itk::Image< itk::C##Pixel< P >, D >* >( I ) )
+
+#define cpPlugins_Image_Demangle_VectorPixel_Dim( F, I, V, P, D ) \
+ if( dynamic_cast< itk::Image< itk::V< P, D >, D >* >( I ) != NULL ) \
+ this->F( dynamic_cast< itk::Image< itk::V< P, D >, D >* >( I ) )
+
+#define cpPlugins_Image_Demangle_Pixel_AllInts( F, I, D ) \
+ cpPlugins_Image_Demangle_Pixel_Dim ( F, I, char, D ); \
+ else cpPlugins_Image_Demangle_Pixel_Dim( F, I, short, D ); \
+ else cpPlugins_Image_Demangle_Pixel_Dim( F, I, int, D ); \
+ else cpPlugins_Image_Demangle_Pixel_Dim( F, I, long, D )
+
+#define cpPlugins_Image_Demangle_Pixel_AllUInts( F, I, D ) \
+ cpPlugins_Image_Demangle_Pixel_Dim ( F, I, unsigned char, D ); \
+ else cpPlugins_Image_Demangle_Pixel_Dim( F, I, unsigned short, D ); \
+ else cpPlugins_Image_Demangle_Pixel_Dim( F, I, unsigned int, D ); \
+ else cpPlugins_Image_Demangle_Pixel_Dim( F, I, unsigned long, D )
+
+#define cpPlugins_Image_Demangle_Pixel_AllFloats( F, I, D ) \
+ cpPlugins_Image_Demangle_Pixel_Dim ( F, I, float, D ); \
+ else cpPlugins_Image_Demangle_Pixel_Dim( F, I, double, D )
+
+#define cpPlugins_Image_Demangle_Pixel_AllScalars( F, I, D ) \
+ cpPlugins_Image_Demangle_Pixel_AllInts ( F, I, D ); \
+ else cpPlugins_Image_Demangle_Pixel_AllUInts ( F, I, D ); \
+ else cpPlugins_Image_Demangle_Pixel_AllFloats( F, I, D )
+
+#define cpPlugins_Image_Demangle_ColorPixel_AllInts( F, I, C, D ) \
+ cpPlugins_Image_Demangle_ColorPixel_Dim ( F, I, C, char, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_Dim( F, I, C, short, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_Dim( F, I, C, int, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_Dim( F, I, C, long, D )
+
+#define cpPlugins_Image_Demangle_ColorPixel_AllUInts( F, I, C, D ) \
+ cpPlugins_Image_Demangle_ColorPixel_Dim ( F, I, C, unsigned char, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_Dim( F, I, C, unsigned short, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_Dim( F, I, C, unsigned int, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_Dim( F, I, C, unsigned long, D )
+
+#define cpPlugins_Image_Demangle_ColorPixel_AllFloats( F, I, C, D ) \
+ cpPlugins_Image_Demangle_ColorPixel_Dim ( F, I, C, float, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_Dim( F, I, C, double, D )
+
+#define cpPlugins_Image_Demangle_ColorPixel_AllScalars( F, I, C, D ) \
+ cpPlugins_Image_Demangle_ColorPixel_AllInts ( F, I, C, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_AllUInts ( F, I, C, D ); \
+ else cpPlugins_Image_Demangle_ColorPixel_AllFloats( F, I, C, D )
+
+#define cpPlugins_Image_Demangle_VectorPixel_AllFloats( F, I, V, D ) \
+ cpPlugins_Image_Demangle_VectorPixel_Dim ( F, I, V, float, D ); \
+ else cpPlugins_Image_Demangle_VectorPixel_Dim( F, I, V, double, D )
+
+/* TODO
+ #define cpPlugins_Image_Demangle_Pixel_AllVector( r, FUNC, INPUT, D ) \
+ r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< char >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< short >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< int >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< long >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< float >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< double >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< unsigned char >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< unsigned short >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< unsigned int >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBPixel< unsigned long >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< char >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< short >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< int >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< long >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< float >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< double >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< unsigned char >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< unsigned short >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< unsigned int >, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_Pixel_Dim( FUNC, INPUT, itk::RGBAPixel< unsigned long >, D )
+
+ #define cpPlugins_Image_Demangle_VectorPixel_AllFloats( r, FUNC, INPUT, VECTOR, D ) \
+ r = cpPlugins_Image_Demangle_VectorPixel_Dim( FUNC, INPUT, VECTOR, float, D ); \
+ if( r != "" ) r = cpPlugins_Image_Demangle_VectorPixel_Dim( FUNC, INPUT, VECTOR, double, D )
+*/
#endif // __CPPLUGINS__IMAGE__HXX__
// eof - $RCSfile$