From 5662d705aa4b132fba895b5fd8557e05586e05ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sat, 30 Nov 2013 04:00:07 +0100 Subject: [PATCH] Use dynamic pad-width for arbitrary mask shapes --- skimage/feature/corner_cy.pyx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/skimage/feature/corner_cy.pyx b/skimage/feature/corner_cy.pyx index 86ded549..3fd860a2 100644 --- a/skimage/feature/corner_cy.pyx +++ b/skimage/feature/corner_cy.pyx @@ -240,8 +240,6 @@ def corner_orientations(image, Py_ssize_t[:, :] corners, mask): if mask.shape[0] % 2 != 1 or mask.shape[1] % 2 != 1: raise ValueError("Size of mask must be uneven.") - cdef double[:, :] cimage = pad(image, 16, mode='constant', - constant_values=0) cdef char[:, ::1] cmask = np.ascontiguousarray(mask != 0, dtype=np.uint8) cdef Py_ssize_t i, r, c, r0, c0 @@ -249,13 +247,15 @@ def corner_orientations(image, Py_ssize_t[:, :] corners, mask): cdef Py_ssize_t mcols = mask.shape[1] cdef Py_ssize_t mrows2 = (mrows - 1) / 2 cdef Py_ssize_t mcols2 = (mcols - 1) / 2 + cdef double[:, :] cimage = pad(image, (mrows2, mcols2), mode='constant', + constant_values=0) cdef double[:] orientations = np.zeros(corners.shape[0], dtype=np.double) cdef double curr_pixel cdef double m01, m10 for i in range(corners.shape[0]): - r0 = corners[i, 0] - mrows2 + 16 - c0 = corners[i, 1] - mcols2 + 16 + r0 = corners[i, 0] + c0 = corners[i, 1] m01 = 0 m10 = 0