X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fitkvtk%2Fsrc%2FbbitkvtkvtkImageDataVector2itkImageVector.h;fp=packages%2Fitkvtk%2Fsrc%2FbbitkvtkvtkImageDataVector2itkImageVector.h;h=868f22d358e3ddc2772ea99f5c2b4c94632afdf5;hb=48d234bd8fb5c1251b67a85599f832db414500ad;hp=0000000000000000000000000000000000000000;hpb=6d739059079dd56b55ab2bb299386a3c198ee3b3;p=bbtk.git diff --git a/packages/itkvtk/src/bbitkvtkvtkImageDataVector2itkImageVector.h b/packages/itkvtk/src/bbitkvtkvtkImageDataVector2itkImageVector.h new file mode 100644 index 0000000..868f22d --- /dev/null +++ b/packages/itkvtk/src/bbitkvtkvtkImageDataVector2itkImageVector.h @@ -0,0 +1,83 @@ +/*========================================================================= + + Program: bbtk + Module: $RCSfile: bbitkvtkvtkImageDataVector2itkImageVector.h,v $ + Language: C++ + Date: $Date: 2011/06/16 12:28:57 $ + Version: $Revision: 1.1 $ + + 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 vtkImageDataVector2itkImageVector : Converts a vtkImageData to a generic itkImage + */ +/** + * \class vtkImageDataVector2itkImageVector + * \brief Converts a vtkImageData to a generic itkImage + */ +#ifdef _USE_ITK_ +#ifdef _USE_VTK_ + +#ifndef __bbitkvtkvtkImageDataVector2itkImageVector_h__ +#define __bbvitkvtktkImageData2itkImage_h__ + +#include "bbtkAtomicBlackBox.h" +#include "bbitkImage.h" +#include "vtkImageData.h" +#include "itkProcessObject.h" + +namespace bbitkvtk +{ + + class /*BBTK_EXPORT*/ vtkImageDataVector2itkImageVector : public bbtk::AtomicBlackBox + { + + BBTK_BLACK_BOX_INTERFACE(vtkImageDataVector2itkImageVector, + bbtk::AtomicBlackBox); + + BBTK_DECLARE_INPUT(In,std::vector); + BBTK_DECLARE_OUTPUT(Out,std::vector); + BBTK_PROCESS(Convert); + void Convert(); + + 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; + std::vector m_Output_Vector; + }; + + + //================================================================= + // AtomicBlackBox description + BBTK_BEGIN_DESCRIBE_BLACK_BOX(vtkImageDataVector2itkImageVector,bbtk::AtomicBlackBox); + BBTK_NAME("vtkImageDataVector2itkImageVector"); + BBTK_AUTHOR("jpr@creatis.insa-lyon.fr"); + BBTK_DESCRIPTION("Converts a std::vector of vtkImageData* to a std::vector of generic itkImage pointer"); + BBTK_DEFAULT_ADAPTOR(); + BBTK_INPUT(vtkImageDataVector2itkImageVector,In, + "Input std::vector of vtkImageData*",std::vector,""); + BBTK_OUTPUT(vtkImageDataVector2itkImageVector,Out, + "Output std::vector of generic itkImage pointer", + std::vector,""); + BBTK_END_DESCRIBE_BLACK_BOX(vtkImageDataVector2itkImageVector); + //================================================================= + + +} +//namespace bbitkvtk +#endif +// _USE_VTK_ +#endif +// _USE_ITK_ + +#endif