#include "bbcreaVtkImageContinuousErode3D.h" #include "bbcreaVtkPackage.h" #include "vtkImageContinuousErode3D.h" namespace bbcreaVtk { BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,ImageContinuousErode3D) BBTK_BLACK_BOX_IMPLEMENTATION(ImageContinuousErode3D,bbtk::AtomicBlackBox); void ImageContinuousErode3D::Process() { if (bbGetInputImage()!=NULL) { vtkImageData* result = erodeFilterRecursive(bbGetInputImage(), bbGetInputRepetitions(), bbGetInputX(),bbGetInputY(),bbGetInputZ()); bbSetOutputOut(result); } else { bbSetOutputOut(NULL); } // if Image } vtkImageData* ImageContinuousErode3D::erodeFilterRecursive(vtkImageData* image, int repetitions, double x, double y, double z) { printf("EED ImageContinuousErode3D::erodeFilterRecursive 1\n"); vtkImageContinuousErode3D *erodeFilter = vtkImageContinuousErode3D ::New(); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 erodeFilter->SetInput (image); #else erodeFilter->SetInputData(image); #endif erodeFilter->SetKernelSize(x, y, z); erodeFilter->Modified(); printf("EED ImageContinuousErode3D::erodeFilterRecursive 2\n"); erodeFilter->Update(); printf("EED ImageContinuousErode3D::erodeFilterRecursive 3\n"); if(repetitions == 0) { printf("EED ImageContinuousErode3D::erodeFilterRecursive 4\n"); return erodeFilter->GetOutput(); }else{ erodeFilterRecursive(erodeFilter->GetOutput(), repetitions-1, x, y, z); } // if repetitions } void ImageContinuousErode3D::bbUserSetDefaultValues() { bbSetInputX(3); bbSetInputY(3); bbSetInputY(3); bbSetInputRepetitions(0); } //===== // 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 ImageContinuousErode3D::bbUserInitializeProcessing() { } //===== // 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 ImageContinuousErode3D::bbUserFinalizeProcessing() { } } // EO namespace bbcreaVtk