From c599b342361e7c4d8a01a624a3f342205afa2976 Mon Sep 17 00:00:00 2001 From: Ankit Agrawal Date: Thu, 25 Jul 2013 21:06:17 +0530 Subject: [PATCH] Correcting import for a private function --- skimage/feature/censure.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/skimage/feature/censure.py b/skimage/feature/censure.py index e4a862d5..f7981c98 100644 --- a/skimage/feature/censure.py +++ b/skimage/feature/censure.py @@ -1,9 +1,10 @@ import numpy as np from scipy.ndimage.filters import maximum_filter, minimum_filter from skimage.transform import integral_image -from skimage.feature import _compute_auto_correlation +from skimage.feature.corner import _compute_auto_correlation import time + def _get_filtered_image(image, n, mode='DoB'): if mode == 'DoB': inner_wt = (1.0 / (2*n + 1)**2) @@ -21,14 +22,15 @@ def _get_filtered_image(image, n, mode='DoB'): return filtered_image -def _suppress_line(response, sigma): +def _suppress_line(response, sigma, rpc_threshold): Axx, Axy, Ayy = _compute_auto_correlation(response, sigma) detA = Axx * Ayy - Axy**2 traceA = Axx + Ayy # ratio of principal curvatures - rpc = traceA / detA - rpc[rpc > 10] = 0 - return rpc + rpc = traceA / (detA + 0.001) + response[rpc > rpc_threshold] = 0 + return response + def censure_keypoints(image, mode='DoB', threshold=0.03): # TODO : Decide number of scales. Image-size dependent? @@ -53,9 +55,9 @@ def censure_keypoints(image, mode='DoB', threshold=0.03): minimas[np.abs(minimas) < threshold] = 0 maximas[np.abs(maximas) < threshold] = 0 response = maximas + np.abs(minimas) - response[:, :, 1] = _suppress_line(response[:, :, 1], 1.33) - response[:, :, 2] = _suppress_line(response[:, :, 2], 1.33) - response[:, :, 3] = _suppress_line(response[:, :, 3], 1.33) - response[:, :, 4] = _suppress_line(response[:, :, 4], 1.33) - response[:, :, 5] = _suppress_line(response[:, :, 5], 1.33) + response[:, :, 1] = _suppress_line(response[:, :, 1], 1.33, 10) + response[:, :, 2] = _suppress_line(response[:, :, 2], 1.33, 10) + response[:, :, 3] = _suppress_line(response[:, :, 3], 1.33, 10) + response[:, :, 4] = _suppress_line(response[:, :, 4], 1.33, 10) + response[:, :, 5] = _suppress_line(response[:, :, 5], 1.33, 10) return response