X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkPolyDataToImageData.cxx;h=b5a495f11662c44b6352a6e2548db97ef8bfffbf;hb=8eabea73801eaefdfd58f678bc22c64b385a42f5;hp=7286c24a185d12bbd4e8943d0d9e36cd73ef075e;hpb=b81fa7f4bcfbeb48a57772b98d6b976b6cc133c1;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx index 7286c24..b5a495f 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,7 +31,7 @@ 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(128); + stencil->SetBackgroundValue( bbGetInputBackgroundValue() ); stencil->Update(); bbSetOutputOut( stencil->GetOutput() ); @@ -105,8 +103,9 @@ 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); + bbSetInputInPolyData(NULL); + bbSetInputInImage(NULL); + bbSetInputBackgroundValue(255); } //===== @@ -119,8 +118,11 @@ void PolyDataToImageData::bbUserInitializeProcessing() // 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)