C# Class Accord.Imaging.Filters.DifferenceOfGaussians

Difference of Gaussians filter.

In imaging science, the difference of Gaussians is a feature enhancement algorithm that involves the subtraction of one blurred version of an original image from another, less blurred version of the original.

In the simple case of grayscale images, the blurred images are obtained by convolving the original grayscale images with Gaussian kernels having differing standard deviations. Blurring an image using a Gaussian kernel suppresses only high-frequency spatial information. Subtracting one image from the other preserves spatial information that lies between the range of frequencies that are preserved in the two blurred images. Thus, the difference of Gaussians is a band-pass filter that discards all but a handful of spatial frequencies that are present in the original grayscale image.

This filter implementation has been contributed by Diego Catalano.

References: Wikipedia contributors. "Difference of Gaussians." Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 1 Jun. 2013. Web. 10 Feb. 2014.

Inheritance: BaseInPlaceFilter
Show file Open project: accord-net/framework Class Usage Examples

Public Methods

Method Description
DifferenceOfGaussians ( ) : System

Initializes a new instance of the DifferenceOfGaussians class.

DifferenceOfGaussians ( int windowSize1, int windowSize2 ) : System

Initializes a new instance of the DifferenceOfGaussians class.

DifferenceOfGaussians ( int windowSize1, int windowSize2, double sigma ) : System

Initializes a new instance of the DifferenceOfGaussians class.

DifferenceOfGaussians ( int windowSize1, int windowSize2, double sigma1, double sigma2 ) : System

Initializes a new instance of the DifferenceOfGaussians class.

Protected Methods

Method Description
ProcessFilter ( UnmanagedImage image ) : void

Process the filter on the specified image.

Method Details

DifferenceOfGaussians() public method

Initializes a new instance of the DifferenceOfGaussians class.
public DifferenceOfGaussians ( ) : System
return System

DifferenceOfGaussians() public method

Initializes a new instance of the DifferenceOfGaussians class.
public DifferenceOfGaussians ( int windowSize1, int windowSize2 ) : System
windowSize1 int The first window size. Default is 3
windowSize2 int The second window size. Default is 4.
return System

DifferenceOfGaussians() public method

Initializes a new instance of the DifferenceOfGaussians class.
public DifferenceOfGaussians ( int windowSize1, int windowSize2, double sigma ) : System
windowSize1 int The window size for the first Gaussian. Default is 3
windowSize2 int The window size for the second Gaussian. Default is 4.
sigma double The sigma for both Gaussian filters. Default is 0.4.
return System

DifferenceOfGaussians() public method

Initializes a new instance of the DifferenceOfGaussians class.
public DifferenceOfGaussians ( int windowSize1, int windowSize2, double sigma1, double sigma2 ) : System
windowSize1 int The window size for the first Gaussian. Default is 3
windowSize2 int The window size for the second Gaussian. Default is 4.
sigma1 double The sigma for the first Gaussian. Default is 0.4.
sigma2 double The sigma for the second Gaussian. Default is 0.4
return System

ProcessFilter() protected method

Process the filter on the specified image.
protected ProcessFilter ( UnmanagedImage image ) : void
image UnmanagedImage Source image data.
return void