X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FInstances_itkImage.cxx;h=8fadae00bd0e3ff5c5d78e618ff933da14e09430;hb=62d056ccb528d63392d197552830460e980a5aba;hp=ba4d66e07f450dd16fe100f21bbcb271e03bf5e4;hpb=cb833d2fface96e020fe91584d2206860a8174ee;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Instances_itkImage.cxx b/lib/cpPlugins/Interface/Instances_itkImage.cxx index ba4d66e..8fadae0 100644 --- a/lib/cpPlugins/Interface/Instances_itkImage.cxx +++ b/lib/cpPlugins/Interface/Instances_itkImage.cxx @@ -1,69 +1,183 @@ +#include + +#include + #include -#include #include +#include +#include +#include +#include +#include +#include +#include + +// ------------------------------------------------------------------------- +#define cpPlugins_Image_Export( T, D ) \ + cpPlugins_TEMPLATE_EXPORT( \ + 2(class cpPlugins_Interface_EXPORT itk::Image< T, D >) \ + ) + +// ------------------------------------------------------------------------- +#define cpPlugins_VTKImage_Export( T, D ) \ + cpPlugins_TEMPLATE_EXPORT( \ + 2( \ + class cpPlugins_Interface_EXPORT \ + itk::ImageToVTKImageFilter< itk::Image< T, D > > \ + ) \ + ) + +// ------------------------------------------------------------------------- +#define cpPlugins_ImageArray_Export( A, T, DA, DI ) \ + cpPlugins_TEMPLATE_EXPORT( \ + 3( \ + class cpPlugins_Interface_EXPORT \ + itk::Image< itk::A< T, DA >, DI > \ + ) \ + ) + +// ------------------------------------------------------------------------- +#define cpPlugins_VTKImageArray_Export( A, T, DA, DI ) \ + cpPlugins_TEMPLATE_EXPORT( \ + 3( \ + class cpPlugins_Interface_EXPORT \ + itk::ImageToVTKImageFilter< itk::Image< itk::A< T, DA >, DI > > \ + ) \ + ) + +// ------------------------------------------------------------------------- +#define cpPlugins_Image_Export_AllDimensions( T ) \ + cpPlugins_Image_Export( T, 2 ); \ + cpPlugins_Image_Export( T, 3 ); \ + cpPlugins_Image_Export( T, 4 ) + // ------------------------------------------------------------------------- -#define cpPlugins_Instance_itkImage( t, d ) \ - template class itk::Image< t, d >; \ - template class itk::Image< itk::RGBPixel< t >, d > +#define cpPlugins_VTKImage_Export_AllDimensions( T ) \ + cpPlugins_VTKImage_Export( T, 2 ); \ + cpPlugins_VTKImage_Export( T, 3 ) // ------------------------------------------------------------------------- -#define cpPlugins_Instance_itkImage2vtkImage( t, d ) \ - template class itk::ImageToVTKImageFilter< itk::Image< t, d > >; \ - template class \ - itk::ImageToVTKImageFilter< itk::Image< itk::RGBPixel< t >, d > > +#define cpPlugins_ImageArray_Export_AllDimensions( A, T ) \ + cpPlugins_ImageArray_Export( A, T, 2, 2 ); \ + cpPlugins_ImageArray_Export( A, T, 3, 3 ); \ + cpPlugins_ImageArray_Export( A, T, 4, 4 ) // ------------------------------------------------------------------------- -#define cpPlugins_Instance_All_itkImage( t, d ) \ - cpPlugins_Instance_itkImage( t, d ); \ - cpPlugins_Instance_itkImage2vtkImage( t, d ) +#define cpPlugins_VTKImageArray_Export_AllDimensions( A, T ) \ + cpPlugins_VTKImageArray_Export( A, T, 2, 2 ); \ + cpPlugins_VTKImageArray_Export( A, T, 3, 3 ) // ------------------------------------------------------------------------- -// Images without vtk conversion -cpPlugins_Instance_itkImage( char, 1 ); -cpPlugins_Instance_itkImage( short, 1 ); -cpPlugins_Instance_itkImage( int, 1 ); -cpPlugins_Instance_itkImage( long, 1 ); -cpPlugins_Instance_itkImage( unsigned char, 1 ); -cpPlugins_Instance_itkImage( unsigned short, 1 ); -cpPlugins_Instance_itkImage( unsigned int, 1 ); -cpPlugins_Instance_itkImage( unsigned long, 1 ); -cpPlugins_Instance_itkImage( float, 1 ); -cpPlugins_Instance_itkImage( double, 1 ); - -cpPlugins_Instance_itkImage( char, 4 ); -cpPlugins_Instance_itkImage( short, 4 ); -cpPlugins_Instance_itkImage( int, 4 ); -cpPlugins_Instance_itkImage( long, 4 ); -cpPlugins_Instance_itkImage( unsigned char, 4 ); -cpPlugins_Instance_itkImage( unsigned short, 4 ); -cpPlugins_Instance_itkImage( unsigned int, 4 ); -cpPlugins_Instance_itkImage( unsigned long, 4 ); -cpPlugins_Instance_itkImage( float, 4 ); -cpPlugins_Instance_itkImage( double, 4 ); +// ITK base clases +cpPlugins_Image_Export_AllDimensions( char ); +cpPlugins_Image_Export_AllDimensions( short ); +cpPlugins_Image_Export_AllDimensions( int ); +cpPlugins_Image_Export_AllDimensions( long ); +cpPlugins_Image_Export_AllDimensions( unsigned char ); +cpPlugins_Image_Export_AllDimensions( unsigned short ); +cpPlugins_Image_Export_AllDimensions( unsigned int ); +cpPlugins_Image_Export_AllDimensions( unsigned long ); +cpPlugins_Image_Export_AllDimensions( float ); +cpPlugins_Image_Export_AllDimensions( double ); + +cpPlugins_Image_Export_AllDimensions( std::complex< float > ); +cpPlugins_Image_Export_AllDimensions( std::complex< double > ); + +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< char > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< short > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< int > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< long > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned char > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned short > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned int > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned long > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< float > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< double > ); + +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< char > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< short > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< int > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< long > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned char > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned short > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned int > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned long > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< float > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< double > ); + +cpPlugins_ImageArray_Export_AllDimensions( Vector, float ); +cpPlugins_ImageArray_Export_AllDimensions( Vector, double ); + +cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, float ); +cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, double ); + +cpPlugins_ImageArray_Export_AllDimensions( Point, float ); +cpPlugins_ImageArray_Export_AllDimensions( Point, double ); + +cpPlugins_ImageArray_Export_AllDimensions( + SymmetricSecondRankTensor, float + ); +cpPlugins_ImageArray_Export_AllDimensions( + SymmetricSecondRankTensor, double + ); + +cpPlugins_Image_Export( itk::DiffusionTensor3D< float >, 3 ); +cpPlugins_Image_Export( itk::DiffusionTensor3D< double >, 3 ); +cpPlugins_Image_Export( itk::DiffusionTensor3D< float >, 4 ); +cpPlugins_Image_Export( itk::DiffusionTensor3D< double >, 4 ); +cpPlugins_Image_Export( itk::Offset< 2 >, 2 ); +cpPlugins_Image_Export( itk::Offset< 3 >, 3 ); +cpPlugins_Image_Export( itk::Offset< 4 >, 4 ); // ------------------------------------------------------------------------- -// Images with vtk conversion -cpPlugins_Instance_All_itkImage( char, 2 ); -cpPlugins_Instance_All_itkImage( short, 2 ); -cpPlugins_Instance_All_itkImage( int, 2 ); -cpPlugins_Instance_All_itkImage( long, 2 ); -cpPlugins_Instance_All_itkImage( unsigned char, 2 ); -cpPlugins_Instance_All_itkImage( unsigned short, 2 ); -cpPlugins_Instance_All_itkImage( unsigned int, 2 ); -cpPlugins_Instance_All_itkImage( unsigned long, 2 ); -cpPlugins_Instance_All_itkImage( float, 2 ); -cpPlugins_Instance_All_itkImage( double, 2 ); - -cpPlugins_Instance_All_itkImage( char, 3 ); -cpPlugins_Instance_All_itkImage( short, 3 ); -cpPlugins_Instance_All_itkImage( int, 3 ); -cpPlugins_Instance_All_itkImage( long, 3 ); -cpPlugins_Instance_All_itkImage( unsigned char, 3 ); -cpPlugins_Instance_All_itkImage( unsigned short, 3 ); -cpPlugins_Instance_All_itkImage( unsigned int, 3 ); -cpPlugins_Instance_All_itkImage( unsigned long, 3 ); -cpPlugins_Instance_All_itkImage( float, 3 ); -cpPlugins_Instance_All_itkImage( double, 3 ); +// ITK<->VTK base clases +cpPlugins_VTKImage_Export_AllDimensions( char ); +cpPlugins_VTKImage_Export_AllDimensions( short ); +cpPlugins_VTKImage_Export_AllDimensions( int ); +cpPlugins_VTKImage_Export_AllDimensions( long ); +cpPlugins_VTKImage_Export_AllDimensions( unsigned char ); +cpPlugins_VTKImage_Export_AllDimensions( unsigned short ); +cpPlugins_VTKImage_Export_AllDimensions( unsigned int ); +cpPlugins_VTKImage_Export_AllDimensions( unsigned long ); +cpPlugins_VTKImage_Export_AllDimensions( float ); +cpPlugins_VTKImage_Export_AllDimensions( double ); + +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< char > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< short > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< int > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< long > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned char > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned short > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned int > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned long > ); + +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< char > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< short > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< int > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< long > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned char > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned short > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned int > ); +cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned long > ); + +cpPlugins_VTKImageArray_Export_AllDimensions( Vector, float ); +cpPlugins_VTKImageArray_Export_AllDimensions( Vector, double ); + +cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, float ); +cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, double ); + +cpPlugins_VTKImageArray_Export_AllDimensions( Point, float ); +cpPlugins_VTKImageArray_Export_AllDimensions( Point, double ); + +cpPlugins_VTKImageArray_Export_AllDimensions( + SymmetricSecondRankTensor, float + ); +cpPlugins_VTKImageArray_Export_AllDimensions( + SymmetricSecondRankTensor, double + ); + +cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< float >, 3 ); +cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< double >, 3 ); // eof - $RCSfile$