diff options
author | Aaron LI <aly@aaronly.me> | 2017-08-14 09:40:12 +0800 |
---|---|---|
committer | Aaron LI <aly@aaronly.me> | 2017-08-14 09:40:12 +0800 |
commit | b9697f8e8c10ab80f4c24652833f33ab1a8b620b (patch) | |
tree | 47124b48db4962d91ab25c4e09117e425804e5bc | |
parent | 9bde3eea7ba531c7d1f96a7430f7d8ef0d9acbc0 (diff) | |
download | fg21sim-b9697f8e8c10ab80f4c24652833f33ab1a8b620b.tar.bz2 |
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 <aly@aaronly.me>
-rw-r--r-- | fg21sim/sky.py | 3 | ||||
-rw-r--r-- | fg21sim/utils/transform.py | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/fg21sim/sky.py b/fg21sim/sky.py index ab7f42b..ede9c1d 100644 --- a/fg21sim/sky.py +++ b/fg21sim/sky.py @@ -504,7 +504,8 @@ class SkyPatch(SkyBase): if (self.xsize_in != self.xsize) or (self.ysize_in != self.ysize): logger.warning("Scale input sky patch to size %dx%d" % (self.xsize, self.ysize)) - zoom = (self.ysize/self.ysize_in, self.xsize/self.xsize_in) + zoom = ((self.ysize+0.1)/self.ysize_in, + (self.xsize+0.1)/self.xsize_in) self.data = ndimage.zoom(self.data, zoom=zoom, order=1) def write(self, outfile, clobber=None): 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) |