1 #include "Convolution.h"
6 //------------------------------------------------------------
7 Convolution::Convolution()
10 _convolve = vtkImageConvolve::New();
11 _cast = vtkImageCast::New();
17 //------------------------------------------------------------
18 Convolution::~Convolution()
20 if (_convolve != NULL ) { _convolve->Delete(); }
21 if (_cast != NULL ) { _cast->Delete(); }
24 vtkImageData *Convolution::getImage()
26 return _cast->GetOutput();
29 void Convolution::setImage(vtkImageData *image)
32 _convolve->SetInput(_image);
35 void Convolution::setFactor(double factor)
37 _factor = (factor/100.0)*5.0;
40 void Convolution::Run()
42 double kernel[] = {0.0,1.0,0.0,1.0,-_factor,1.0,0.0,1.0,0.0};
43 _convolve->SetKernel3x3(kernel);
45 _cast->SetInput(_convolve->GetOutput());
46 _cast->SetOutputScalarTypeToDouble();