]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/DataObjects/Image.hxx
Architecture updated.
[cpPlugins.git] / lib / cpPlugins / DataObjects / Image.hxx
1 #ifndef __cpPlugins__DataObjects__Image__hxx__
2 #define __cpPlugins__DataObjects__Image__hxx__
3
4 #include <itkImageToVTKImageFilter.h>
5 #include <itkImageToVTKImageFilter.hxx>
6 #include <itkVTKImageExport.hxx>
7
8 // -------------------------------------------------------------------------
9 template< unsigned int _VDim >
10 void cpPlugins::DataObjects::Image::
11 _ITK_2_VTK_0( itk::ImageBase< _VDim >* image )
12 {
13   cpPlugins_Demangle_ImageIntegers( image, _ITK_2_VTK_1, _VDim );
14   else cpPlugins_Demangle_ImageReals( image, _ITK_2_VTK_1, _VDim );
15   else cpPlugins_Demangle_ImageColors( image, _ITK_2_VTK_1, _VDim );
16   else cpPlugins_Demangle_ImageFixedArrays( image, _ITK_2_VTK_1, _VDim );
17   else cpPlugins_Demangle_ImageCovariantVectors( image, _ITK_2_VTK_1, _VDim );
18   else cpPlugins_Demangle_ImagePoints( image, _ITK_2_VTK_1, _VDim );
19   else cpPlugins_Demangle_ImageVectors( image, _ITK_2_VTK_1, _VDim );
20   else cpPlugins_Demangle_ImageSymmetricSecondRankTensors( image, _ITK_2_VTK_1, _VDim );
21   else
22   {
23     this->m_VTK = NULL;
24     this->m_ITKvVTK = NULL;
25
26   } // fi
27 }
28
29 // -------------------------------------------------------------------------
30 template< class _TImage >
31 void cpPlugins::DataObjects::Image::
32 _ITK_2_VTK_1( _TImage* image )
33 {
34   typedef itk::ImageToVTKImageFilter< _TImage > _TFilter;
35   _TFilter* f = dynamic_cast< _TFilter* >( this->m_ITKvVTK.GetPointer( ) );
36   if( f == NULL )
37   {
38     typename _TFilter::Pointer nf = _TFilter::New( );
39     this->m_ITKvVTK = nf;
40     f = nf.GetPointer( );
41
42   } // fi
43   f->SetInput( image );
44   f->Update( );
45
46   // Keep object track
47   this->m_ITK = image;
48   this->m_VTK = f->GetOutput( );
49 }
50
51 #endif // __cpPlugins__DataObjects__Image__hxx__
52
53 // eof - $RCSfile$