/*========================================================================= Program: bbtk Module: $RCSfile: bbitkvtkvtkImageData2itkImage.h,v $ Language: C++ Date: $Date: 2008/07/23 12:02:15 $ Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ /** * \file * \brief class vtkImageData2itkImage : Converts a vtkImageData to a generic itkImage */ /** * \class vtkImageData2itkImage * \brief Converts a vtkImageData to a generic itkImage */ #ifdef _USE_ITK_ #ifdef _USE_VTK_ #ifndef __bbitkvtkvtkImageData2itkImage_h__ #define __bbvitkvtktkImageData2itkImage_h__ #include "bbtkAtomicBlackBox.h" #include "bbitkImage.h" #include "vtkImageData.h" #include "itkProcessObject.h" namespace bbitkvtk { class /*BBTK_EXPORT*/ vtkImageData2itkImage : public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE(vtkImageData2itkImage, bbtk::AtomicBlackBox); BBTK_DECLARE_INPUT(In,vtkImageData*); BBTK_DECLARE_OUTPUT(Out,bbitk::anyImagePointer); BBTK_PROCESS(Convert); void Convert(); void bbUserConstructor(); void bbUserCopyConstructor(); void bbUserDestructor(); private: // Convert method : template on type of the itk image to be created template void Convert(); // stores the pointer on the template itk::VTKImageToImageFilter itk::ProcessObject::Pointer mConverter; }; //================================================================= // AtomicBlackBox description BBTK_BEGIN_DESCRIBE_BLACK_BOX(vtkImageData2itkImage,bbtk::AtomicBlackBox); BBTK_NAME("vtkImageData2itkImage"); BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("Converts a vtkImageData* to a generic itkImage pointer"); BBTK_DEFAULT_ADAPTOR(); BBTK_INPUT(vtkImageData2itkImage,In, "Input vtkImageData",vtkImageData*,""); BBTK_OUTPUT(vtkImageData2itkImage,Out, "Output itkImage", bbitk::anyImagePointer,""); BBTK_END_DESCRIBE_BLACK_BOX(vtkImageData2itkImage); //================================================================= } //namespace bbitkvtk #endif // _USE_VTK_ #endif // _USE_ITK_ #endif