skimage.feature.blob_dog(image, min_sigma=1, max_sigma=50, sigma_ratio=1.6, threshold=2.0, overlap=0.5, *, exclude_border=False) [source]
 
Finds blobs in the given grayscale image. Blobs are found using the Difference of Gaussian (DoG) method [1]. For each blob found, the method returns its coordinates and the standard deviation of the Gaussian kernel that detected the blob.  Parameters 
 
image2D or 3D ndarray 

Input grayscale image, blobs are assumed to be light on dark background (white on black).  
min_sigmascalar or sequence of scalars, optional 

The minimum standard deviation for Gaussian kernel. Keep this low to detect smaller blobs. The standard deviations of the Gaussian filter are given for each axis as a sequence, or as a single number, in which case it is equal for all axes.  
max_sigmascalar or sequence of scalars, optional 

The maximum standard deviation for Gaussian kernel. Keep this high to detect larger blobs. The standard deviations of the Gaussian filter are given for each axis as a sequence, or as a single number, in which case it is equal for all axes.  
sigma_ratiofloat, optional 

The ratio between the standard deviation of Gaussian Kernels used for computing the Difference of Gaussians  
thresholdfloat, optional. 

The absolute lower bound for scale space maxima. Local maxima smaller than thresh are ignored. Reduce this to detect blobs with less intensities.  
overlapfloat, optional 

A value between 0 and 1. If the area of two blobs overlaps by a fraction greater than threshold, the smaller blob is eliminated.  
exclude_bordertuple of ints, int, or False, optional 

If tuple of ints, the length of the tuple must match the input array’s dimensionality. Each element of the tuple will exclude peaks from within exclude_border-pixels of the border of the image along that dimension. If nonzero int, exclude_border excludes peaks from within exclude_border-pixels of the border of the image. If zero or False, peaks are identified regardless of their distance from the border.    Returns 
 
A(n, image.ndim + sigma) ndarray 

A 2d array with each row representing 2 coordinate values for a 2D image, and 3 coordinate values for a 3D image, plus the sigma(s) used. When a single sigma is passed, outputs are: (r, c, sigma) or (p, r, c, sigma) where (r, c) or (p, r, c) are coordinates of the blob and sigma is the standard deviation of the Gaussian kernel which detected the blob. When an anisotropic gaussian is used (sigmas per dimension), the detected sigma is returned for each dimension.      See also  
skimage.filters.difference_of_gaussians

  Notes The radius of each blob is approximately \(\sqrt{2}\sigma\) for a 2-D image and \(\sqrt{3}\sigma\) for a 3-D image. References  
1  
https://en.wikipedia.org/wiki/Blob_detection#The_difference_of_Gaussians_approach   Examples >>> from skimage import data, feature
>>> feature.blob_dog(data.coins(), threshold=.5, max_sigma=40)
array([[120.      , 272.      ,  16.777216],
       [193.      , 213.      ,  16.777216],
       [263.      , 245.      ,  16.777216],
       [185.      , 347.      ,  16.777216],
       [128.      , 154.      ,  10.48576 ],
       [198.      , 155.      ,  10.48576 ],
       [124.      , 337.      ,  10.48576 ],
       [ 45.      , 336.      ,  16.777216],
       [195.      , 102.      ,  16.777216],
       [125.      ,  45.      ,  16.777216],
       [261.      , 173.      ,  16.777216],
       [194.      , 277.      ,  16.777216],
       [127.      , 102.      ,  10.48576 ],
       [125.      , 208.      ,  10.48576 ],
       [267.      , 115.      ,  10.48576 ],
       [263.      , 302.      ,  16.777216],
       [196.      ,  43.      ,  10.48576 ],
       [260.      ,  46.      ,  16.777216],
       [267.      , 359.      ,  16.777216],
       [ 54.      , 276.      ,  10.48576 ],
       [ 58.      , 100.      ,  10.48576 ],
       [ 52.      , 155.      ,  16.777216],
       [ 52.      , 216.      ,  16.777216],
       [ 54.      ,  42.      ,  16.777216]])