derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGauss convolves an image with the derivatives of a
Gaussian and calculates various features derived therefrom.
SigmaSigmaSigmaSigmasigma is the parameter of the Gaussian (i.e., the amount of
smoothing). If one value is passed in SigmaSigmaSigmaSigmasigma the amount of
smoothing in the column and row direction is identical. If two
values are passed in SigmaSigmaSigmaSigmasigma the first value specifies the
amount of smoothing in the column direction, while the second value
specifies the amount of smoothing in the row direction. The
possible values for ComponentComponentComponentComponentcomponent are:
Second derivative along and perpendicular to the gradient
Attention
derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGauss uses a special implementation that is
optimized using SSE2 instructions if the system
parameter 'sse2_enable'"sse2_enable""sse2_enable""sse2_enable""sse2_enable" is set to 'true'"true""true""true""true" (which is
default if SSE2 is available on your machine). This implementation is
slightly inaccurate compared to the pure C version due to numerical issues
(for 'byte' images and ComponentComponentComponentComponentcomponent'none'"none""none""none""none", 'x'"x""x""x""x", or
'y'"y""y""y""y" the difference is in order of magnitude of 1.0e-5). If you
prefer accuracy over performance you can set 'sse2_enable'"sse2_enable""sse2_enable""sse2_enable""sse2_enable" to
'false'"false""false""false""false" (using set_systemset_systemSetSystemSetSystemSetSystem) before you call
derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGauss. This way derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGauss
does not use SSE2 accelerations. Don't forget to set 'sse2_enable'"sse2_enable""sse2_enable""sse2_enable""sse2_enable"
back to 'true'"true""true""true""true" afterwards.
derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGauss is only executed on an OpenCL device if
SigmaSigmaSigmaSigmasigma induces a filter width respectively height of
up to 129 pixels. This corresponds to a SigmaSigmaSigmaSigmasigma of less than 20.7
for ComponentComponentComponentComponentcomponent = 'none'"none""none""none""none". Further as the SSE2 version the
OpenCL implementation is slightly inaccurate compared to the pure C version
due to numerical issues.
Note that filter operators may return unexpected results if
an image with a reduced domain is used as input. Please refer to the
chapter Filters.
Execution Information
Supports OpenCL compute devices.
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).