]> Creatis software - creaVtk.git/blob - bbtk_creaVtk_PKG/src/bbcreaVtkImageContinuousDilate3D.cxx
Clean code
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkImageContinuousDilate3D.cxx
1
2 #include "bbcreaVtkImageContinuousDilate3D.h"
3 #include "bbcreaVtkPackage.h"
4 namespace bbcreaVtk
5 {
6
7 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,ImageContinuousDilate3D)
8 BBTK_BLACK_BOX_IMPLEMENTATION(ImageContinuousDilate3D,bbtk::AtomicBlackBox);
9
10 void ImageContinuousDilate3D::Process()
11 {
12                 vtkImageData* result = dilateFilterRecursive(bbGetInputImage(), bbGetInputRepetitions(), bbGetInputX(),bbGetInputY(),bbGetInputZ());
13                 bbSetOutputOut(result);
14 }
15
16 vtkImageData* ImageContinuousDilate3D::dilateFilterRecursive(vtkImageData* image, int repetitions, double x, double y, double z)
17 {
18                 vtkImageContinuousDilate3D *dilateFilter = vtkImageContinuousDilate3D::New();
19 //EED 2017-01-01 Migration VTK7
20 #if VTK_MAJOR_VERSION <= 5
21     dilateFilter->SetInput (image);
22 #else
23     dilateFilter->SetInputData(image);
24 #endif
25     dilateFilter->SetKernelSize(x, y, z);
26                 dilateFilter->Modified();               
27                 dilateFilter->Update();
28                 vtkImageData* resultRec;
29                 if(repetitions == 0)
30                 {
31                         resultRec = dilateFilter->GetOutput();
32                         return resultRec;
33                 }else{
34                         dilateFilterRecursive(dilateFilter->GetOutput(), (repetitions-1), x, y, z);
35                 }// if repetitions
36 }
37
38 void ImageContinuousDilate3D::bbUserSetDefaultValues()
39 {
40         bbSetInputX(3); 
41         bbSetInputY(3); 
42         bbSetInputY(3); 
43         bbSetInputRepetitions(0); 
44 }
45
46 void ImageContinuousDilate3D::bbUserInitializeProcessing()
47 {
48 }
49
50 void ImageContinuousDilate3D::bbUserFinalizeProcessing()
51 {
52 //  THE FINALIZATION METHOD BODY :
53 //    Here does nothing 
54 //    but this is where you should desallocate the internal/output pointers 
55 //    if any
56 }
57
58 } // EO namespace bbcreaVtk
59
60