From 22f94d8707d3d9d2a36493403cbaeb61213dd68b Mon Sep 17 00:00:00 2001 From: Christos Psaltis Date: Sat, 1 Dec 2012 12:30:40 +0200 Subject: [PATCH 1/2] Fix resize argument handling in rotate. It used to have exactly the opposite effect that it supposed to. --- skimage/transform/_warps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skimage/transform/_warps.py b/skimage/transform/_warps.py index 6689430b..0ace0937 100644 --- a/skimage/transform/_warps.py +++ b/skimage/transform/_warps.py @@ -163,7 +163,7 @@ def rotate(image, angle, resize=False, order=1, mode='constant', cval=0.): tform = tform1 + tform2 + tform3 output_shape = None - if not resize: + if resize: # determine shape of output image corners = np.array([[1, 1], [1, rows], [cols, rows], [cols, 1]]) corners = tform(corners - 1) From 298abe1ac0b4fe67495dd01bec58d62abf109a2a Mon Sep 17 00:00:00 2001 From: Christos Psaltis Date: Mon, 3 Dec 2012 15:54:26 +0200 Subject: [PATCH 2/2] Add test for resize option in rotate --- skimage/transform/tests/test_warps.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/skimage/transform/tests/test_warps.py b/skimage/transform/tests/test_warps.py index 1993f932..2cdda001 100644 --- a/skimage/transform/tests/test_warps.py +++ b/skimage/transform/tests/test_warps.py @@ -85,6 +85,17 @@ def test_rotate(): assert_array_almost_equal(x90, np.rot90(x)) +def test_rotate_resize(): + x = np.zeros((10, 10), dtype=np.double) + + x45 = rotate(x, 45, resize=False) + assert x45.shape == (10, 10) + + x45 = rotate(x, 45, resize=True) + # new dimension should be d = sqrt(2 * (10/2)^2) + assert x45.shape == (14, 14) + + def test_rescale(): # same scale factor x = np.zeros((5, 5), dtype=np.double)