X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkPolyDataToImageData.cxx;h=7813c429c58f61a35d42f41c9ba2ce14339d844d;hb=4b18d770bbccdcc1ce913f96c7c6ee3026f930c6;hp=2e80837c8b0050c437d8e8262755ee3be7a1a5d1;hpb=9425856446ebe42a86c40bec5b93367b7bcd1fd2;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx index 2e80837..7813c42 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx @@ -4,16 +4,6 @@ #include "bbcreaVtkPolyDataToImageData.h" #include "bbcreaVtkPackage.h" -#include "vtkPolyDataToImageStencil.h" -#include "vtkImageStencil.h" - -#include "vtkCleanPolyData.h" -#include "vtkTriangleFilter.h" - -#include "vtkExtractVOI.h" -#include "vtkExtractVOI.h" - - namespace bbcreaVtk { @@ -41,87 +31,72 @@ void PolyDataToImageData::Process() // bbSetOutputOut( bbGetInputIn() ); // std::cout << "Output value = " <GetExtent( ext ); - - vtkCleanPolyData *clean1 = vtkCleanPolyData::New(); +// vtkCleanPolyData *clean1 = vtkCleanPolyData::New(); + if (clean1!=NULL) clean1->Delete(); + clean1 = vtkCleanPolyData::New(); clean1->SetInputData( bbGetInputInPolyData() ); clean1->Update(); vtkTriangleFilter *triangle1 = vtkTriangleFilter::New(); triangle1->SetInputData( clean1->GetOutput() ); triangle1->Update(); - - vtkPolyDataToImageStencil *dataToStencil = vtkPolyDataToImageStencil::New(); +// vtkPolyDataToImageStencil *dataToStencil = vtkPolyDataToImageStencil::New(); + if (dataToStencil!=NULL) dataToStencil->Delete(); + dataToStencil = vtkPolyDataToImageStencil::New(); dataToStencil->SetInputData( triangle1->GetOutput() ); dataToStencil->SetOutputWholeExtent( ext ); dataToStencil->Update(); - - vtkExtractVOI *extract = vtkExtractVOI::New(); +// vtkExtractVOI *extract = vtkExtractVOI::New(); + if (extract!=NULL) extract->Delete(); + extract = vtkExtractVOI::New(); extract->SetVOI( ext ); extract->SetSampleRate(1, 1, 1); extract->SetInputData( bbGetInputInImage() ); extract->ReleaseDataFlagOff(); extract->Update(); - - vtkImageStencil *stencil = vtkImageStencil::New(); +// vtkImageStencil *stencil = vtkImageStencil::New(); + if (stencil!=NULL) stencil->Delete(); + stencil = vtkImageStencil::New(); stencil->SetInputData( extract->GetOutput() ); stencil->Update(); stencil->SetStencilData( dataToStencil->GetOutput() ); stencil->ReverseStencilOn(); stencil->SetBackgroundValue( bbGetInputBackgroundValue() ); stencil->Update(); - bbSetOutputOut( stencil->GetOutput() ); } else { printf("EED Warnning! PolyDataToImageData::Process > Missing Image or PolyData inputs\n"); + bbSetOutputOut( NULL); }// if In NULL - } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== void PolyDataToImageData::bbUserSetDefaultValues() { - // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX // Here we initialize the input 'In' to 0 bbSetInputInPolyData(NULL); bbSetInputInImage(NULL); bbSetInputBackgroundValue(255); - } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== void PolyDataToImageData::bbUserInitializeProcessing() { - // THE INITIALIZATION METHOD BODY : // Here does nothing // but this is where you should allocate the internal/output pointers // if any - - + clean1 = NULL; + dataToStencil = NULL; + extract = NULL; + stencil = NULL; } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)