]> Creatis software - creaVtk.git/blob - bbtk_creaVtk_PKG/src/bbcreaVtkImageContinuousDilate3D.cxx
2426 creaVtk Feature New Normal New Black Box vtkImageContinuousDilate3D with repetit...
[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     dilateFilter->SetInput (image);
20     dilateFilter->SetKernelSize(x, y, z);
21                 dilateFilter->Modified();               
22                 dilateFilter->Update();
23                 vtkImageData* resultRec;
24                 if(repetitions == 0)
25                 {
26                         resultRec = dilateFilter->GetOutput();
27                         return resultRec;
28                 }
29                 else {
30                         vtkImageData* resultRec = dilateFilterRecursive(dilateFilter->GetOutput(), (repetitions-1), x, y, z);
31                 }
32 }
33
34 void ImageContinuousDilate3D::bbUserSetDefaultValues()
35 {
36
37
38 }
39
40 void ImageContinuousDilate3D::bbUserInitializeProcessing()
41 {
42
43
44 }
45
46 void ImageContinuousDilate3D::bbUserFinalizeProcessing()
47 {
48
49 //  THE FINALIZATION METHOD BODY :
50 //    Here does nothing 
51 //    but this is where you should desallocate the internal/output pointers 
52 //    if any
53   
54 }
55 }
56 // EO namespace bbcreaVtk
57
58