{ } Raw JSON

bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / feature / blob / blob_doh

function

skimage.feature.blob:blob_doh

source: /dev/scikit-image/src/skimage/feature/blob.py :665

Signature

def   blob_doh ( image min_sigma = 1 max_sigma = 30 num_sigma = 10 threshold = 0.01 overlap = 0.5 log_scale = False * threshold_rel = <DEPRECATED> prescale = legacy )

Summary

Finds blobs in the given grayscale image.

Extended Summary

Blobs are found using the Determinant of Hessian method [1]. For each blob found, the method returns its coordinates and the standard deviation of the Gaussian Kernel used for the Hessian matrix whose determinant detected the blob. Determinant of Hessians is approximated using [2].

Parameters

image : 2D ndarray

Input grayscale image. Blobs can either be light on dark or vice versa.

min_sigma : float, optional

The minimum standard deviation for Gaussian Kernel used to compute Hessian matrix. Keep this value low to detect smaller blobs. The standard deviation of the Gaussian kernel is given either as a sequence for each axis, or as a single number, in which case it is equal for all axes.

max_sigma : float, optional

The maximum standard deviation for Gaussian Kernel used to compute Hessian matrix. Keep this value high to detect larger blobs. The standard deviation of the Gaussian kernel is given either as a sequence for each axis, or as a single number, in which case it is equal for all axes.

num_sigma : int, optional

The number of evenly spaced values for standard deviation of the Gaussian kernel to consider on the closed interval [min_sigma, max_sigma].

threshold : float or None, optional

An absolute threshold applied to the internally computed stack of Determinant-of-Hessian (DoH) images. Local maxima in DoH smaller than threshold are ignored. Reduce this to detect blobs with lower intensities.

overlap : float, 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.

log_scale : bool, optional

If set intermediate values of standard deviations are interpolated using a logarithmic scale to the base 10. If not, linear interpolation is used.

threshold_rel : DEPRECATED
prescale : {'minmax', 'none', 'legacy'}, optional

Method for rescaling (normalizing) image before processing. Note that rescaling impacts the ranges of the internally computed Determinant-of-Hessian (DoH) images, and therefore also the choice of threshold.

'minmax'

Normalize image between 0 and 1 regardless of dtype. After normalization, the resulting array will have a floating dtype.

'none'

Don't prescale the value range of image at all and return a copy of image. Useful when image has already been rescaled.

'legacy'

Normalize only if image has an integer dtype. If image is of floating dtype, it is left alone. See .img_as_float for more details.

Returns

A : ndarray of shape (n, 3)

A 2d array with each row representing 3 values, (y,x,sigma) where (y,x) are coordinates of the blob and sigma is the standard deviation of the Gaussian kernel of the Hessian Matrix whose determinant detected the blob.

Notes

The radius of each blob is approximately sigma. Computation of Determinant of Hessians is independent of the standard deviation. Therefore detecting larger blobs won't take more time. In methods line blob_dog and blob_log the computation of Gaussians for larger sigma takes more time. The downside is that this method can't be used for detecting blobs of radius less than 3px due to the box filters used in the approximation of Hessian Determinant.

Examples

from skimage import data, feature
img = data.coins()
feature.blob_doh(img)

Aliases

  • skimage.feature.blob_doh