#include /* TODO #include #include #define ITK_MANUAL_INSTANTIATION #include #include #include #include #include #include #include #include #include */ // ------------------------------------------------------------------------- /* TODO void cpPlugins::Interface::Image:: SetITKDataObject( itk::DataObject* o ) { bool r; if( dynamic_cast< itk::ImageBase< 1 >* >( o ) != NULL ) { cpPlugins_Image_Array_Demangle( itk::Vector, float, 1, 1, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Vector, double, 1, 1, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Point, float, 1, 1, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Point, double, 1, 1, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::CovariantVector, float, 1, 1, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::CovariantVector, double, 1, 1, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::SymmetricSecondRankTensor, float, 1, 1, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::SymmetricSecondRankTensor, double, 1, 1, o, _Type, r ); else r = this->_Dim< 1 >( o ); } else if( dynamic_cast< itk::ImageBase< 2 >* >( o ) != NULL ) { cpPlugins_Image_Demangle( itk::RGBPixel< char >, 2, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBPixel< short >, 2, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBPixel< unsigned char >, 2, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBPixel< unsigned short >, 2, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBAPixel< char >, 2, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBAPixel< short >, 2, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBAPixel< unsigned char >, 2, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBAPixel< unsigned short >, 2, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Vector, float, 2, 2, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Vector, double, 2, 2, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Point, float, 2, 2, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Point, double, 2, 2, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::CovariantVector, float, 2, 2, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::CovariantVector, double, 2, 2, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::SymmetricSecondRankTensor, float, 2, 2, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::SymmetricSecondRankTensor, double, 2, 2, o, _Type, r ); else r = this->_Dim< 2 >( o ); } else if( dynamic_cast< itk::ImageBase< 3 >* >( o ) != NULL ) { cpPlugins_Image_Demangle( itk::RGBPixel< char >, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBPixel< short >, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBPixel< unsigned char >, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBPixel< unsigned short >, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBAPixel< char >, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBAPixel< short >, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBAPixel< unsigned char >, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::RGBAPixel< unsigned short >, 3, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Vector, float, 3, 3, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Vector, double, 3, 3, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Point, float, 3, 3, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::Point, double, 3, 3, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::CovariantVector, float, 3, 3, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::CovariantVector, double, 3, 3, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::SymmetricSecondRankTensor, float, 3, 3, o, _Type, r ); else cpPlugins_Image_Array_Demangle( itk::SymmetricSecondRankTensor, double, 3, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::DiffusionTensor3D< float >, 3, o, _Type, r ); else cpPlugins_Image_Demangle( itk::DiffusionTensor3D< double >, 3, o, _Type, r ); else r = this->_Dim< 3 >( o ); } else if( dynamic_cast< itk::ImageBase< 4 >* >( o ) != NULL ) { this->m_ITKObject = o; this->m_VTKObject = NULL; this->m_ITKvVTKConnection = NULL; } // fi } */ // ------------------------------------------------------------------------- void cpPlugins::Interface::Image:: SetVTKImageData( vtkImageData* image ) { // this->m_VTKObject = image; std::cerr << "Image: TODO this!!!!" << std::endl; std::exit( 1 ); } // ------------------------------------------------------------------------- vtkImageData* cpPlugins::Interface::Image:: GetVTKImageData( ) { return( dynamic_cast< vtkImageData* >( this->m_VTKObject.GetPointer( ) ) ); } // ------------------------------------------------------------------------- const vtkImageData* cpPlugins::Interface::Image:: GetVTKImageData( ) const { return( dynamic_cast< const vtkImageData* >( this->m_VTKObject.GetPointer( ) ) ); } // ------------------------------------------------------------------------- cpPlugins::Interface::Image:: Image( ) : Superclass( ) { this->m_ClassName = "cpPlugins::Interface::Image"; this->m_ClassCategory = "BasicObject"; } // ------------------------------------------------------------------------- cpPlugins::Interface::Image:: ~Image( ) { } // ------------------------------------------------------------------------- /* TODO template< unsigned int D > bool cpPlugins::Interface::Image:: _Dim( itk::DataObject* o ) { bool r; cpPlugins_Image_Demangle( char, D, o, _Type, r ); else cpPlugins_Image_Demangle( short, D, o, _Type, r ); else cpPlugins_Image_Demangle( int, D, o, _Type, r ); else cpPlugins_Image_Demangle( long, D, o, _Type, r ); else cpPlugins_Image_Demangle( unsigned char, D, o, _Type, r ); else cpPlugins_Image_Demangle( unsigned short, D, o, _Type, r ); else cpPlugins_Image_Demangle( unsigned int, D, o, _Type, r ); else cpPlugins_Image_Demangle( unsigned long, D, o, _Type, r ); else cpPlugins_Image_Demangle( float, D, o, _Type, r ); else cpPlugins_Image_Demangle( double, D, o, _Type, r ); else { this->m_ITKObject = o; this->m_VTKObject = NULL; this->m_ITKvVTKConnection = NULL; } // fi return( true ); } // ------------------------------------------------------------------------- template< class I > bool cpPlugins::Interface::Image:: _Type( itk::DataObject* o ) { typedef itk::ImageToVTKImageFilter< I > _F; typename _F::Pointer f = _F::New( ); f->SetInput( dynamic_cast< I* >( o ) ); f->Update( ); this->m_ITKObject = o; this->m_VTKObject = f->GetOutput( ); this->m_ITKvVTKConnection = f; return( true ); } */ // eof - $RCSfile$