fast::GaussianSmoothing class

Smoothing by convolution with a Gaussian mask.



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.
void setMaskSize(unsigned char maskSize)
void setStandardDeviation(float stdDev)
void setOutputType(DataType type)
void loadAttributes() override

Protected functions

void execute() virtual
void waitToFinish() virtual
void createMask(Image::pointer input, uchar maskSize, bool useSeperableFilter)
void recompileOpenCLCode(Image::pointer input)

Protected variables

char mMaskSize
float 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.

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