Skip to content

Commit

Permalink
Fix for regression in scipy
Browse files Browse the repository at this point in the history
  • Loading branch information
wiredfool committed Oct 11, 2014
1 parent d973785 commit dcf42f5
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
1 change: 1 addition & 0 deletions PIL/Image.py
Original file line number Diff line number Diff line change
Expand Up @@ -1530,6 +1530,7 @@ def resize(self, size, resample=NEAREST):

self.load()

size=tuple(size)
if self.size == size:
return self._new(self.im)

Expand Down
42 changes: 42 additions & 0 deletions Tests/test_scipy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
from helper import PillowTestCase

try:
import numpy as np
from numpy.testing import assert_equal

from scipy import misc
HAS_SCIPY = True
except:
HAS_SCIPY = False


class Test_scipy_resize(PillowTestCase):
""" Tests for scipy regression in 2.6.0 """

def setUp(self):
if not HAS_SCIPY:
self.skipTest("Scipy Required")

def test_imresize(self):
im = np.random.random((10,20))
for T in np.sctypes['float'] + [float]:
# 1.1 rounds to below 1.1 for float16, 1.101 works
im1 = misc.imresize(im,T(1.101))
self.assertEqual(im1.shape,(11,22))

def test_imresize4(self):
im = np.array([[1,2],
[3,4]])
res = np.array([[ 1. , 1. , 1.5, 2. ],
[ 1. , 1. , 1.5, 2. ],
[ 2. , 2. , 2.5, 3. ],
[ 3. , 3. , 3.5, 4. ]], dtype=np.float32)
# Check that resizing by target size, float and int are the same
im2 = misc.imresize(im, (4,4), mode='F') # output size
im3 = misc.imresize(im, 2., mode='F') # fraction
im4 = misc.imresize(im, 200, mode='F') # percentage
assert_equal(im2, res)
assert_equal(im3, res)
assert_equal(im4, res)


0 comments on commit dcf42f5

Please sign in to comment.