From b9697f8e8c10ab80f4c24652833f33ab1a8b620b Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Mon, 14 Aug 2017 09:40:12 +0800 Subject: Fix the warning on scipy.ndimage.zoom output shape calculation scipy.ndimage.zoom calculate the output/zoomed image shape with round(), while the old versions use int() instead. When the two calculations are different, a warning is raised. This commit fixes the calculation mismatch. Signed-off-by: Aaron LI --- fg21sim/utils/transform.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'fg21sim/utils') diff --git a/fg21sim/utils/transform.py b/fg21sim/utils/transform.py index 3fc64ca..c897f70 100644 --- a/fg21sim/utils/transform.py +++ b/fg21sim/utils/transform.py @@ -171,7 +171,10 @@ def circle2ellipse(imgcirc, bfraction, rotation=0.0): # Shrink the circle to be elliptical nrow2 = nrow * bfraction nrow2 = int(nrow2 / 2) * 2 + 1 # be odd - img2 = ndimage.zoom(imgcirc, zoom=(nrow2/nrow, 1.0), order=1) + # NOTE: zoom() calculate the output shape with round() instead of int(); + # fix the warning about they may be different. + zoom = ((nrow2+0.1)/nrow, 1) + img2 = ndimage.zoom(imgcirc, zoom=zoom, order=1) # Pad the shrunk image to have the same size as input imgout = np.zeros(shape=(nrow, ncol)) r1 = int((nrow - nrow2) / 2) -- cgit v1.2.2