]> Creatis software - creaVtk.git/blob - bbtk_creaVtk_PKG/src/bbcreaVtkImageContinuousErode3D.cxx
4784991cf9ed9f611ffcd211d7289875e704b66f
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkImageContinuousErode3D.cxx
1
2 #include "bbcreaVtkImageContinuousErode3D.h"
3 #include "bbcreaVtkPackage.h"
4 namespace bbcreaVtk
5 {
6
7 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,ImageContinuousErode3D)
8 BBTK_BLACK_BOX_IMPLEMENTATION(ImageContinuousErode3D,bbtk::AtomicBlackBox);
9
10 void ImageContinuousErode3D::Process()
11 {
12                 vtkImageData* result = erodeFilterRecursive(bbGetInputImage(), bbGetInputRepetitions(), bbGetInputX(),bbGetInputY(),bbGetInputZ());
13                 bbSetOutputOut(result);
14 }
15
16 vtkImageData* ImageContinuousErode3D::erodeFilterRecursive(vtkImageData* image, int repetitions, double x, double y, double z)
17 {
18                 vtkImageContinuousErode3D *erodeFilter = vtkImageContinuousErode3D ::New();
19 //EED 2017-01-01 Migration VTK7
20 #if VTK_MAJOR_VERSION <= 5
21     erodeFilter->SetInput (image);
22 #else
23     erodeFilter->SetInputData(image);
24 #endif
25     erodeFilter->SetKernelSize(x, y, z);
26                 erodeFilter->Modified();                
27                 erodeFilter->Update();
28                 vtkImageData* resultRec;
29                 if(repetitions == 0)
30                 {
31                         resultRec = erodeFilter->GetOutput();
32                         return resultRec;
33                 }else{
34                         erodeFilterRecursive(erodeFilter->GetOutput(), (repetitions-1), x, y, z);
35                 } // if repetitions
36 }
37
38 void ImageContinuousErode3D::bbUserSetDefaultValues()
39 {
40
41 }
42 //===== 
43 // 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)
44 //===== 
45 void ImageContinuousErode3D::bbUserInitializeProcessing()
46 {
47         bbSetInputX(3); 
48         bbSetInputY(3); 
49         bbSetInputY(3); 
50         bbSetInputRepetitions(0); 
51 }
52 //===== 
53 // 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)
54 //===== 
55 void ImageContinuousErode3D::bbUserFinalizeProcessing()
56 {
57
58 }
59 }
60 // EO namespace bbcreaVtk
61
62