SoGaussianBlurFilterProcessing engine More...
#include <ImageViz/Engines/ImageFiltering/SmoothingAndDenoising/SoGaussianBlurFilterProcessing.h>
Public Types | |
enum | FilterMode { SEPARABLE = 0, RECURSIVE = 1 } |
enum | OutputType { SAME_AS_INPUT = 0, FLOATING_POINT = 1 } |
Public Member Functions | |
SoGaussianBlurFilterProcessing () | |
Public Attributes | |
SoSFEnum | computeMode |
SoSFImageDataAdapter | inImage |
SoSFEnum | filterMode |
SoSFVec3f | standardDeviation |
SoSFFloat | kernelSizeFactor |
SoSFEnum | outputType |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outImage |
The SoGaussianBlurFilterProcessing performs a Gaussian filter using either a separable or a recursive filter.
The SEPARABLE mode is based on a Finite Impulse Response algorithm applied in separable way (a two-dimensional convolution separated in two one-dimensional filters). Using this mode, the computation time is proportional to the kernel size.
The RECURSIVE mode is the recursive mode, based on an Infinite Impulse Response algorithm. This mode computes the sum of one causal and one anti-causal filter where previous results are used to compute next. Using this mode, the computation time is independent of the standard deviation.
SoBoxFilterProcessing, SoMedianFilterProcessing.
computeMode | MODE_AUTO |
inImage | NULL |
filterMode | RECURSIVE |
standardDeviation | 1.0f 1.0f 1.0f |
kernelSizeFactor | 2.0f |
outputType | SAME_AS_INPUT |
SoGaussianBlurFilterProcessing::SoGaussianBlurFilterProcessing | ( | ) |
Constructor.
Select the compute Mode (2D or 3D or AUTO) Use enum ComputeMode.
Default is MODE_AUTO
Define the algorithm used to compute the gaussian filter.
SEPARABLE mode will use a Finite Impulse Response algorithm on X, Y and Z directions. RECURSIVE mode will use an Infinite Impulse Response algorithm on X, Y and Z directions. Use enum FilterMode. Default is RECURSIVE
Input image.
The type of image can be integer or float. Default value is NULL. Supported types include: grayscale image.
This parameter is used to compute the size of the kernel applied in the SEPARABLE mode.
The kernel size value will be twice the kernelSizeFactor multiplied by the standard deviation associated to the axe. If the resulting kernel size is even, it is incremented by one in order to ensure an odd kernel size. This parameter is ignored in RECURSIVE mode. Default value is 2.0f.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoGaussianBlurFilterProcessing::outImage |
Output image.
Size, calibration and interpretation of the output image are forced to the same values as the input. Default value is NULL. Supported types include: grayscale image.
Define the output type.
It can either be SAME_AS_INPUT to keep the input type or FLOATING_POINT to force the output to float. In the case of integer images, keeping the same output type can lead to a loss of precision. In the case of floating images, this parameter has no effect. Use enum OutputType. Default is SAME_AS_INPUT
The standard deviation value for each direction (X, Y, Z).
Each value must be greater than 0.0. Default value is SbVec3f(1.0f,1.0f,1.0f).