From 43246e30afdd99b8be191485f2311c84ab08db9c Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 4 Dec 2014 15:42:42 -0800 Subject: [PATCH] Blob detection supports for non-integer sigmas --- skimage/feature/blob.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/skimage/feature/blob.py b/skimage/feature/blob.py index bc93d265..5ef5b314 100644 --- a/skimage/feature/blob.py +++ b/skimage/feature/blob.py @@ -200,9 +200,11 @@ def blob_dog(image, min_sigma=1, max_sigma=50, sigma_ratio=1.6, threshold=2.0, footprint=np.ones((3, 3, 3)), threshold_rel=0.0, exclude_border=False) - + # Convert array to float32 + lm = local_maxima.astype('float32') # Convert the last index to its corresponding scale value - local_maxima[:, 2] = sigma_list[local_maxima[:, 2]] + lm[:,2] = sigma_list[local_maxima[:,2]] + local_maxima = lm return _prune_blobs(local_maxima, overlap) @@ -300,8 +302,11 @@ def blob_log(image, min_sigma=1, max_sigma=50, num_sigma=10, threshold=.2, threshold_rel=0.0, exclude_border=False) + # Convert array to float32 + lm = local_maxima.astype('float32') # Convert the last index to its corresponding scale value - local_maxima[:, 2] = sigma_list[local_maxima[:, 2]] + lm[:,2] = sigma_list[local_maxima[:,2]] + local_maxima = lm return _prune_blobs(local_maxima, overlap) @@ -408,6 +413,9 @@ def blob_doh(image, min_sigma=1, max_sigma=30, num_sigma=10, threshold=0.01, threshold_rel=0.0, exclude_border=False) + # Convert array to float32 + lm = local_maxima.astype('float32') # Convert the last index to its corresponding scale value - local_maxima[:, 2] = sigma_list[local_maxima[:, 2]] + lm[:,2] = sigma_list[local_maxima[:,2]] + local_maxima = lm return _prune_blobs(local_maxima, overlap)