FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
GaussianSmoothingFilter.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "FAST/ProcessObject.hpp"
5 #include "FAST/Data/Image.hpp"
6 
7 namespace fast {
8 
9 class FAST_EXPORT GaussianSmoothingFilter : public ProcessObject {
11  public:
12  void setMaskSize(unsigned char maskSize);
13  void setStandardDeviation(float stdDev);
14  void setOutputType(DataType type);
16  protected:
18  void execute();
19  void waitToFinish();
20  void createMask(Image::pointer input, uchar maskSize, bool useSeperableFilter);
21  void recompileOpenCLCode(Image::pointer input);
22 
23  char mMaskSize;
24  float mStdDev;
25 
26  cl::Buffer mCLMask;
27  std::unique_ptr<float[]> mMask;
29 
30  cl::Kernel mKernel;
35 
36 };
37 
38 } // end namespace fast
39 
fast::GaussianSmoothingFilter::mTypeCLCodeCompiledFor
DataType mTypeCLCodeCompiledFor
Definition: GaussianSmoothingFilter.hpp:32
Image.hpp
fast::DataType
DataType
Definition: DataTypes.hpp:38
fast::GaussianSmoothingFilter::mDimensionCLCodeCompiledFor
unsigned char mDimensionCLCodeCompiledFor
Definition: GaussianSmoothingFilter.hpp:31
fast
Definition: AffineTransformation.hpp:7
fast::GaussianSmoothingFilter::mKernel
cl::Kernel mKernel
Definition: GaussianSmoothingFilter.hpp:30
ExecutionDevice.hpp
fast::GaussianSmoothingFilter::mMaskSize
char mMaskSize
Definition: GaussianSmoothingFilter.hpp:23
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
fast::GaussianSmoothingFilter::mMask
std::unique_ptr< float[]> mMask
Definition: GaussianSmoothingFilter.hpp:27
fast::GaussianSmoothingFilter::mRecreateMask
bool mRecreateMask
Definition: GaussianSmoothingFilter.hpp:28
fast::GaussianSmoothingFilter::mCLMask
cl::Buffer mCLMask
Definition: GaussianSmoothingFilter.hpp:26
fast::GaussianSmoothingFilter::mStdDev
float mStdDev
Definition: GaussianSmoothingFilter.hpp:24
fast::GaussianSmoothingFilter::mOutputType
DataType mOutputType
Definition: GaussianSmoothingFilter.hpp:33
ProcessObject.hpp
fast::GaussianSmoothingFilter
Definition: GaussianSmoothingFilter.hpp:9
fast::GaussianSmoothingFilter::mOutputTypeSet
bool mOutputTypeSet
Definition: GaussianSmoothingFilter.hpp:34
fast::DataObject::pointer
std::shared_ptr< DataObject > pointer
Definition: DataObject.hpp:16
uchar
unsigned char uchar
Definition: DataTypes.hpp:14
fast::ProcessObject
Definition: ProcessObject.hpp:22