From 84871a6d6f3468d56183c97db650cd1f063228f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Tue, 8 Jul 2014 22:16:25 -0400 Subject: [PATCH] Fix bug in get_pixel3d --- skimage/_shared/interpolation.pxd | 6 +++--- skimage/transform/tests/test_warps.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/skimage/_shared/interpolation.pxd b/skimage/_shared/interpolation.pxd index 6545a5ef..c26dc4a9 100644 --- a/skimage/_shared/interpolation.pxd +++ b/skimage/_shared/interpolation.pxd @@ -260,7 +260,7 @@ cdef inline double get_pixel2d(double* image, Py_ssize_t rows, Py_ssize_t cols, """ if mode == 'C': - if (r < 0) or (r > rows - 1) or (c < 0) or (c > cols - 1): + if (r < 0) or (r >= rows) or (c < 0) or (c >= cols): return cval else: return image[r * cols + c] @@ -293,14 +293,14 @@ cdef inline double get_pixel3d(double* image, Py_ssize_t rows, Py_ssize_t cols, """ if mode == 'C': - if (r < 0) or (r > rows - 1) or (c < 0) or (c > cols - 1): + if (r < 0) or (r >= rows) or (c < 0) or (c >= cols): return cval else: return image[r * cols * dims + c * dims + d] else: return image[coord_map(rows, r, mode) * cols * dims + coord_map(cols, c, mode) * dims - + d] + + coord_map(dims, d, mode)] cdef inline Py_ssize_t coord_map(Py_ssize_t dim, Py_ssize_t coord, char mode): diff --git a/skimage/transform/tests/test_warps.py b/skimage/transform/tests/test_warps.py index e09f68d4..dc42ec44 100644 --- a/skimage/transform/tests/test_warps.py +++ b/skimage/transform/tests/test_warps.py @@ -99,7 +99,7 @@ def test_homography(): assert_array_almost_equal(x90, np.rot90(x)) -def fast_homography(): +def test_fast_homography(): img = img_as_float(rgb2gray(data.lena())) img = img[:100, :100]