]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkImageContinuousErode3D.cxx
#3491 vtk9itk5wx3-macos
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkImageContinuousErode3D.cxx
index 4784991cf9ed9f611ffcd211d7289875e704b66f..a123ae6f13e646397f6d28839d8568ba565bf06e 100644 (file)
@@ -1,6 +1,10 @@
 
 #include "bbcreaVtkImageContinuousErode3D.h"
 #include "bbcreaVtkPackage.h"
+
+#include "vtkImageContinuousErode3D.h"
+
+
 namespace bbcreaVtk
 {
 
@@ -9,8 +13,13 @@ 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)
@@ -23,31 +32,28 @@ vtkImageData* ImageContinuousErode3D::erodeFilterRecursive(vtkImageData* image,
     erodeFilter->SetInputData(image);
 #endif
     erodeFilter->SetKernelSize(x, y, z);
-               erodeFilter->Modified();                
+               erodeFilter->Modified();
                erodeFilter->Update();
-               vtkImageData* resultRec;
                if(repetitions == 0)
                {
-                       resultRec = erodeFilter->GetOutput();
-                       return resultRec;
+                       return erodeFilter->GetOutput();
                }else{
-                       erodeFilterRecursive(erodeFilter->GetOutput(), (repetitions-1), x, y, z);
+                       return 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()
 {
-       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)