1 /*=========================================================================
4 Module: $RCSfile: bbitkvtkitkImage2vtkImageData.cxx,v $
6 Date: $Date: 2008/05/09 10:39:46 $
7 Version: $Revision: 1.3 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
25 #include "bbitkvtkitkImage2vtkImageData.h"
26 #include "bbitkvtkPackage.h"
28 //#include "itkVTKImageToImageFilter.h"
30 #include "itkImageToVTKImageFilter.h"
35 BBTK_BLACK_BOX_IMPLEMENTATION(itkImage2vtkImageData,bbtk::AtomicBlackBox);
37 BBTK_ADD_BLACK_BOX_TO_PACKAGE(itkvtk,itkImage2vtkImageData);
42 void itkImage2vtkImageData::Convert()
44 bbtk::TypeInfo t = bbGetInputIn().type();
45 BBTK_TEMPLATE_ITK_IMAGE_SWITCH(t,Convert);
51 void itkImage2vtkImageData::Convert()
53 bbtkDebugMessageInc("Core",9,"itkImage2vtkImageData<"
55 <<">::Convert()"<<std::endl);
57 typedef T itkImageType;
58 // typedef itk::VTKImageToImageFilter< itkImageType > VtkToItkConnection;
59 typedef itk::ImageToVTKImageFilter< itkImageType > ItkToVtkConnection;
64 typename ItkToVtkConnection::Pointer conv = ItkToVtkConnection::New();
65 conv->SetInput( this->bbGetInputIn().get<itkImageType*>() );
67 if (bbGetOutputOut()) bbGetOutputOut()->UnRegister(NULL);
68 bbSetOutputOut(conv->GetOutput());
69 // bbGetOutputOut()->DebugOn();
70 bbGetOutputOut()->Register(NULL);
71 bbGetOutputOut()->SetSource(NULL);
73 catch( itk::ExceptionObject & e)
75 bbtkError("itkImage2vtkImageData<"
77 <<">::Convert() : "<<e);
79 bbtkDebugDecTab("Core",9);
82 void itkImage2vtkImageData::bbUserConstructor()
86 void itkImage2vtkImageData::bbUserCopyConstructor()
90 void itkImage2vtkImageData::bbUserDestructor()
94 bbGetOutputOut()->UnRegister(NULL);
100 // eo namespace bbitkvtk