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