# Difference of Gaussians

I use the following formula for DoG:

$$\frac{1}{\sigma} (\frac{x^2}{2\sigma^2}-1.0) e^{\frac{-x^2}{2\sigma^2}}$$

What is the relationship between this formula and the difference of two Gaussian functions?

Can someone show me how to apply DoG on a 1D signal in MATLAB? My input can be considered as a 1D real-valued function, and I applied the above formula to detect blobs. The results make sense except that I don't know why I get many local minima in a relatively flat region (i.e., function values at points in the region almost stay constant). Since I don't have enough signal processing/image processing background, I want to see what a constant signal look like after being convolved with a DoG filter.

• I suggest you to look for "difference-of-gaussians" in Google IMAGES. The graphical representation of these abstract concepts sometimes can be very enlightening, specially regarding detection and other signal processing applications related to "the real world" (instead of pure mathematical formulas). Commented Nov 24, 2012 at 16:05
• Let me try to answer my first question. DoG is known to be an approximation of Laplacian of Gaussian(LoG). The formula is very close to the second-order derivative of a Gaussian function. Still hope someone who can share some matlab code which would allow me to play with convolution with DoG. Commented Nov 24, 2012 at 20:57
• @user11869 Welcome to dsp.SE ! You are allowed to edit you own questions, so, as a general rule you'll want to add all additional information about the problem as well as all the major explanations in to your question, instead of leaving them in the comments -- like you did (any new information / things you try should also be added that arise through your own research while waiting for an answer). Comments are usually for short explanations and remarks. In any case, have fun here :) Commented Nov 26, 2012 at 15:01
• The formula in your question is LoG, not DoG, right? Commented Jan 9, 2014 at 7:26

The difference of gaussian (DOG) is the convolution of input image by difference of two gaussians usually with different standard devitations($\sigma$). The basic idea behind this is to capture edges or gradients in the images that are simplified by the gaussian with larger $\sigma$ but preserved by the smaller gaussian. This is form of scale space derivative, which basically analyses different frequency components in the image, by changing the $\sigma$s of gaussians. Thus, its like a band-pass filter that rejects certain frequencies in the input.