#define __cpPlugins__DataObjects__Image__hxx__
#include <itkImageToVTKImageFilter.h>
+#include <itkVTKImageToImageFilter.h>
#include <itkImageToVTKImageFilter.hxx>
+#include <itkVTKImageToImageFilter.hxx>
#include <itkVTKImageExport.hxx>
+#include <itkVTKImageImport.hxx>
// -------------------------------------------------------------------------
template< unsigned int _VDim >
this->m_VTK = f->GetOutput( );
}
+// -------------------------------------------------------------------------
+template< class _TPixel >
+void cpPlugins::DataObjects::Image::
+_VTK_2_ITK_0( vtkImageData* image )
+{
+ if( image->GetDataDimension( ) == 2 )
+ this->_VTK_2_ITK_1< _TPixel, 2 >( image );
+ else if( image->GetDataDimension( ) == 3 )
+ this->_VTK_2_ITK_1< _TPixel, 3 >( image );
+ else
+ {
+ this->m_ITK = NULL;
+ this->m_ITKvVTK = NULL;
+
+ } // fi
+}
+
+// -------------------------------------------------------------------------
+template< class _TPixel, unsigned int _VDim >
+void cpPlugins::DataObjects::Image::
+_VTK_2_ITK_1( vtkImageData* image )
+{
+ typedef itk::Image< _TPixel, _VDim > _TImage;
+ typedef itk::VTKImageToImageFilter< _TImage > _TFilter;
+ _TFilter* f = dynamic_cast< _TFilter* >( this->m_ITKvVTK.GetPointer( ) );
+
+ std::cout << typeid( _TImage ).name( ) << std::endl;
+
+ if( f == NULL )
+ {
+ typename _TFilter::Pointer nf = _TFilter::New( );
+ this->m_ITKvVTK = nf;
+ f = nf.GetPointer( );
+
+ } // fi
+ f->SetInput( image );
+ f->Update( );
+
+ // Keep object track
+ this->m_VTK = image;
+ this->m_ITK = f->GetOutput( );
+}
+
#endif // __cpPlugins__DataObjects__Image__hxx__
// eof - $RCSfile$