GaussianSmoothing class
Smoothing by convolution with a Gaussian mask.
Contents
Supports 2D, 3D and anisotropic smoothing (e.g. different standard deviation for each dimension). Also supports multi-channel (e.g. RGB) smoothing, in this case smoothing is applied per channel.
Inputs:
- 0: Image, 2D or 3D
Outputs:
- 0: Image, 2D or 3D
Base classes
- class ProcessObject
- Abstract base class for all process objects.
Derived classes
- class ImageSharpening
- Image sharpening by the unsharp masking method.
Constructors, destructors, conversion operators
Public functions
- auto create(float stdDev, uchar maskSize) -> std::shared_ptr<GaussianSmoothing>
- Create instance.
- auto create(std::vector<float> stdDev, std::vector<int> maskSize) -> std::shared_ptr<GaussianSmoothing>
- Create instance.
- void setMaskSize(int maskSize)
- void setMaskSize(std::vector<int> maskSize)
- void setStandardDeviation(float stdDev)
- void setStandardDeviation(std::vector<float> stdDev)
- void setOutputType(DataType type)
- void loadAttributes() override
Protected functions
- void execute() virtual
- void waitToFinish() virtual
-
void createMask(Image::
pointer input, Vector3i maskSize, bool useSeperableFilter) -
void recompileOpenCLCode(Image::
pointer input)
Protected variables
- Vector3i mMaskSize
- Vector3f mStdDev
- cl::Buffer mCLMask
- std::unique_ptr<float[]> mMask
- bool mRecreateMask
- cl::Kernel mKernel
- unsigned char mDimensionCLCodeCompiledFor
- DataType mTypeCLCodeCompiledFor
- DataType mOutputType
- bool mOutputTypeSet
Function documentation
std::shared_ptr<GaussianSmoothing> fast:: GaussianSmoothing:: create(float stdDev,
uchar maskSize)
Create instance.
| Parameters | |
|---|---|
| stdDev | Standard deviation of convolution kernel |
| maskSize | Size of convolution filter/mask. Must be odd. If 0 filter size is determined automatically from standard deviation |
| Returns | instance |
std::shared_ptr<GaussianSmoothing> fast:: GaussianSmoothing:: create(std::vector<float> stdDev,
std::vector<int> maskSize)
Create instance.
| Parameters | |
|---|---|
| stdDev | Standard deviation of convolution kernel for each dimension |
| maskSize | Size of convolution filter/mask for each dimension. Must be odd. If 0, or not given, mask size is determined automatically from standard deviation |
| Returns | instance |