diff --git a/skimage/transform/integral.py b/skimage/transform/integral.py index 9dda2f89..18f689e7 100644 --- a/skimage/transform/integral.py +++ b/skimage/transform/integral.py @@ -61,13 +61,13 @@ def integrate(ii, begining, ending, *args): >>> arr = np.ones((5, 6), dtype=np.float) >>> ii = integral_image(arr) >>> print(integrate(ii,(1, 0), (1, 2))) # sum from (1,0) -> (1,2) - [ 3.] + [ 3.] >>> print(integrate(ii,(3, 3), (4, 5))) # sum form (3,3) -> (4,5) [ 6.] >>> print(integrate(ii,([1, 3], [0, 3]), ([1, 4], [2, 5]))) # sum from (1,0) -> (1,2) and (3,3) -> (4,5) - [3. 6.] + [ 3. 6.] >>> print(integrate(ii, [1, 3], [0, 3], [1, 4], [2, 5])) # deprecated usage - [3. 6.] + [ 3. 6.] """ # handle new input format if(len(args) == 0): diff --git a/skimage/transform/tests/test_integral.py b/skimage/transform/tests/test_integral.py index 51e52773..1383238b 100644 --- a/skimage/transform/tests/test_integral.py +++ b/skimage/transform/tests/test_integral.py @@ -16,22 +16,23 @@ def test_validity(): def test_basic(): - assert_equal(x[12:24, 10:20].sum(), integrate(s, 12, 10, 23, 19)) - assert_equal(x[:20, :20].sum(), integrate(s, 0, 0, 19, 19)) - assert_equal(x[:20, 10:20].sum(), integrate(s, 0, 10, 19, 19)) - assert_equal(x[10:20, :20].sum(), integrate(s, 10, 0, 19, 19)) + assert_equal(x[12:24, 10:20].sum(), integrate(s, (12, 10), (23, 19))) + assert_equal(x[:20, :20].sum(), integrate(s, (0, 0), (19, 19))) + assert_equal(x[:20, 10:20].sum(), integrate(s, (0, 10), (19, 19))) + assert_equal(x[10:20, :20].sum(), integrate(s, (10, 0), (19, 19))) def test_single(): - assert_equal(x[0, 0], integrate(s, 0, 0, 0, 0)) - assert_equal(x[10, 10], integrate(s, 10, 10, 10, 10)) + assert_equal(x[0, 0], integrate(s, (0, 0), (0, 0))) + assert_equal(x[10, 10], integrate(s, (10, 10), (10, 10))) + def test_vectorized_integrate(): r0 = np.array([12, 0, 0, 10, 0, 10, 30]) c0 = np.array([10, 0, 10, 0, 0, 10, 31]) r1 = np.array([23, 19, 19, 19, 0, 10, 49]) c1 = np.array([19, 19, 19, 19, 0, 10, 49]) - + expected = np.array([x[12:24, 10:20].sum(), x[:20, :20].sum(), x[:20, 10:20].sum(), @@ -39,7 +40,9 @@ def test_vectorized_integrate(): x[0,0], x[10, 10], x[30:, 31:].sum()]) - assert_equal(expected, integrate(s, r0, c0, r1, c1)) + assert_equal(expected, integrate(s, r0, c0, r1, c1)) # test deprecated + assert_equal(expected, integrate(s, (r0, c0), (r1, c1))) + if __name__ == '__main__': from numpy.testing import run_module_suite