fast::GaussianSmoothing class

Smoothing by convolution with a Gaussian mask.

Inputs:

Outputs:

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

~GaussianSmoothing()

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)

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.

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