X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FKernel%2FITKVTK%2Fitktovtkimageimport.h;fp=lib%2FKernel%2FITKVTK%2Fitktovtkimageimport.h;h=bf2f9227396e3b67b097d11093793052ec52f1a1;hb=0d47d470f614b02b3fb6d06b7688585bf535b6a7;hp=0000000000000000000000000000000000000000;hpb=aa3ed5b53d8c30782368846b90e1b3df057e1648;p=creaMaracasVisu.git diff --git a/lib/Kernel/ITKVTK/itktovtkimageimport.h b/lib/Kernel/ITKVTK/itktovtkimageimport.h new file mode 100644 index 0000000..bf2f922 --- /dev/null +++ b/lib/Kernel/ITKVTK/itktovtkimageimport.h @@ -0,0 +1,129 @@ +#ifndef __ITKToVTKImageImport_h_ +#define __ITKToVTKImageImport_h_ + +#include "itkImage.h" +#include "itkVTKImageImport.h" +#include "itkVTKImageExport.h" +#include + +#include "vtkImageData.h" +#include "vtkImageImport.h" +#include "vtkImageExport.h" + +#define DIM 3 +#define TRY_CLAUSE_ITK try{ +#define CATCH_CLAUSE_ITK }catch(itk::ExceptionObject &e){ \ + std::cout< +class ITK_EXPORT ITKToVTKImageImport : +public ProcessObject +{ + + public: + + /** Standard class typedefs. */ + typedef ITKToVTKImageImport Self; + + /** Standard "Superclass" typedef */ + typedef ProcessObject Superclass; + + /** Smart pointer typedef support. */ + typedef SmartPointer Pointer; + typedef SmartPointer ConstPointer; + + /** Method for creation through the object factory. */ + itkNewMacro(Self); + + /** Run-time type information (and related methods). */ + itkTypeMacro( ITKToVTKImageImport, ProcessObject ); + + /** InputImageType typedef support. */ + typedef TypeImage InputImageType; + typedef typename InputImageType::Pointer InputImagePointerType; + typedef typename InputImageType::PixelType PixelType; + typedef typename InputImageType::IndexType IndexType; + + /* + * type definition for the itk image import + */ + typedef itk::VTKImageImport ImageImportType; + + typedef typename ImageImportType::Pointer ImageImportPointer; + /* + * type definition for the itk image import + */ + typedef itk::VTKImageExport ImageExportType; + /* + * type definition for the pointer of the image import + */ + typedef typename ImageExportType::Pointer ImageExportPointer; + + /* + * set the vtkImage data to connect to itk pipeline + */ + void SetVTKImage(vtkImageData* img); + + /* + * Get the vtkImageData from the itk image + */ + vtkImageData* GetOutputVTKImage(); + + + void SetITKImage(InputImagePointerType itkimage); + /* + * + */ + InputImagePointerType GetOutputITKImage() ; + +//------------------------------------------------------------------------------------------------------------ +// Attributes +//------------------------------------------------------------------------------------------------------------ +protected: + /** + ** Default constructor, allocates the vtkImageExport and itkImageImport + ** Connects the pipelines and set them ready to be use + **/ + ITKToVTKImageImport(); + ~ITKToVTKImageImport(); + + +private: + + + vtkImageData* m_VTKImage; + + InputImagePointerType m_ITKImage; + + /* + * Pointer to vtkImageExport + */ + vtkImageExport * vtkimageexport; + /* + * itk::VTKImageImport pointer + */ + ImageImportPointer imageimportpointer; + /* + * Pointer to vtkImageExport + */ + vtkImageImport * vtkimageimport; + /* + * Pointer to Export the itk image into vtk + */ + ImageExportPointer imageexportpointer; +}; + +} + +#ifndef ITK_MANUAL_INSTANTIATION +#include "itktovtkimageimport.txx" +#endif + + +#endif