Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Local Transforms » DifferenceOfGaussians

DifferenceOfGaussians


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Applies difference of Gaussians on an image, i.e. computes difference of two Gaussian smoothed images.

Applications: Emphasizes high-frequency image features such as lines or patches / dots.

Syntax

C++
C#
 
void avl::DifferenceOfGaussians
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	float inStdDev,
	float inStdDevRatio,
	float inKernelRelativeSize,
	float inScale,
	avl::Image& outImage,
	avl::Profile& diagKernelShape
)

Parameters

Name Type Range Default Description
Input value inImage const Image& Input image
Input value inRoi Optional<const Region&> NIL Range of output pixels to be computed
Input value inStdDev float 0.0 - 3.0f Smoothing standard deviation for the smaller kernel
Input value inStdDevRatio float 1.0 - 1.6f Defines how many times larger is the second kernel
Input value inKernelRelativeSize float 0.0 - 3.0 3.0f A multiple of the standard deviation determining the size of the kernel
Input value inScale float 1.0f Output image scaling factor
Output value outImage Image& Output image
Diagnostic input diagKernelShape Profile& Middle row of the kernel being used

Hardware Acceleration

This operation is optimized for SSE2 technology for pixels of types: UINT8, SINT16, REAL.

This operation is optimized for SSE41 technology for pixels of type: UINT16.

This operation is optimized for AVX2 technology for pixels of types: UINT8, SINT16, UINT16, REAL.

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

List of possible exceptions:

Error type Description
DomainError Region exceeds an input image in DifferenceOfGaussians.