]> Creatis software - bbtk.git/blob - packages/vtk/src/bbvtkVecImageGaussianSmooth.cxx
01b9019499783226c8d9f32c25cc346fbce099d0
[bbtk.git] / packages / vtk / src / bbvtkVecImageGaussianSmooth.cxx
1 #include "bbvtkVecImageGaussianSmooth.h"
2 #include "bbvtkPackage.h"
3
4 #include "vtkImageGaussianSmooth.h"
5
6
7 namespace bbvtk
8 {
9
10 BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,VecImageGaussianSmooth)
11 BBTK_BLACK_BOX_IMPLEMENTATION(VecImageGaussianSmooth,bbtk::AtomicBlackBox);
12 void VecImageGaussianSmooth::Process()
13 {
14
15         vtkImageGaussianSmooth *vtkimagegaussiansmooth;
16         int i,size = VecVtkimagegaussiansmooth.size();
17         for (i=0 ;  i<size ; i++)
18         {               
19                 VecVtkimagegaussiansmooth[i]->Delete();
20         }
21         VecVtkimagegaussiansmooth.clear();
22         VecResult.clear();
23
24         double stdvX=bbGetInputStdDevX();
25         double stdvY=bbGetInputStdDevY();
26         double stdvZ=bbGetInputStdDevZ();
27         
28         size=bbGetInputIn().size();
29         for (i=0 ;  i<size ; i++)
30         {       
31                 vtkimagegaussiansmooth = vtkImageGaussianSmooth::New();
32                 vtkimagegaussiansmooth->SetInput( bbGetInputIn()[i] );
33                 vtkimagegaussiansmooth->SetStandardDeviation( stdvX,stdvY, stdvZ ); 
34                 vtkimagegaussiansmooth->Update();
35                 VecResult.push_back( vtkimagegaussiansmooth->GetOutput() );
36                 VecVtkimagegaussiansmooth.push_back(vtkimagegaussiansmooth);
37         } //for i
38         bbSetOutputOut(VecResult);
39         if (bbGetInputiImage() < VecResult.size())
40         {
41                 bbSetOutputOutImage(VecResult[bbGetInputiImage()]);
42         } //if
43         
44 }
45
46 void VecImageGaussianSmooth::bbUserConstructor()
47 {
48
49     bbSetInputStdDevX(2); 
50     bbSetInputStdDevY(2); 
51     bbSetInputStdDevZ(2);  
52
53         bbSetInputiImage(0);
54
55 }
56
57 void VecImageGaussianSmooth::bbUserCopyConstructor(bbtk::BlackBox::Pointer)
58
59 }
60
61 void VecImageGaussianSmooth::bbUserDestructor()
62
63 }
64
65 }
66 // EO namespace bbvtk
67
68