Skip to content
This repository has been archived by the owner on Nov 26, 2022. It is now read-only.

Commit

Permalink
Fixed integer division python 3 incompatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
martinberoiz committed Aug 2, 2017
1 parent 79fff2a commit 13eb1ef
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 20 deletions.
26 changes: 13 additions & 13 deletions ois.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ def clean_gausslist(self):
for agauss in self.gausslist:
if 'center' not in agauss:
h, w = self.k_shape
agauss['center'] = ((h - 1) / 2., (w - 1) / 2.)
agauss['center'] = ((h - 1) // 2., (w - 1) // 2.)
if 'modPolyDeg' not in agauss:
agauss['modPolyDeg'] = 2
if 'sx' not in agauss:
Expand Down Expand Up @@ -308,7 +308,7 @@ def make_system(self):
class AdaptiveBramichStrategy(SubtractionStrategy):
def __init__(self, image, refimage, kernelshape, bkgdegree, poly_degree=2):
self.poly_deg = poly_degree
self.poly_dof = (poly_degree + 1) * (poly_degree + 2) / 2
self.poly_dof = (poly_degree + 1) * (poly_degree + 2) // 2
super(AdaptiveBramichStrategy, self).\
__init__(image, refimage, kernelshape, bkgdegree)

Expand All @@ -332,7 +332,7 @@ def make_system(self):
self.k_side, self.poly_deg,
c_bkgdegree)
coeffs = np.linalg.solve(m, b)
poly_dof = (self.poly_deg + 1) * (self.poly_deg + 2) / 2
poly_dof = (self.poly_deg + 1) * (self.poly_deg + 2) // 2
k_dof = self.k_side * self.k_side * poly_dof
ks = self.k_side
self.kernel = coeffs[:k_dof].reshape((ks, ks, self.poly_dof))
Expand Down Expand Up @@ -495,15 +495,15 @@ def subtractongrid(image, refimage, kernelshape=(11, 11), bkgdegree=3,
DiffStrategy = all_strategies.get(method, DefaultStrategy) # noqa

# normal slices with no border
stamps_y = [slice(h * i / ny, h * (i + 1) / ny, None) for i in range(ny)]
stamps_x = [slice(w * i / nx, w * (i + 1) / nx, None) for i in range(nx)]
stamps_y = [slice(h * i // ny, h * (i + 1) // ny, None) for i in range(ny)]
stamps_x = [slice(w * i // nx, w * (i + 1) // nx, None) for i in range(nx)]

# slices with borders where possible
slc_wborder_y = [slice(max(0, h * i / ny - (kh - 1) / 2),
min(h, h * (i + 1) / ny + (kh - 1) / 2), None)
slc_wborder_y = [slice(max(0, h * i // ny - (kh - 1) / 2),
min(h, h * (i + 1) // ny + (kh - 1) // 2), None)
for i in range(ny)]
slc_wborder_x = [slice(max(0, w * i / nx - (kw - 1) / 2),
min(w, w * (i + 1) / nx + (kw - 1) / 2), None)
slc_wborder_x = [slice(max(0, w * i // nx - (kw - 1) // 2),
min(w, w * (i + 1) // nx + (kw - 1) // 2), None)
for i in range(nx)]

img_stamps = [image[sly, slx] for sly in slc_wborder_y
Expand All @@ -518,17 +518,17 @@ def subtractongrid(image, refimage, kernelshape=(11, 11), bkgdegree=3,
for i in range(ny):
start_border_y = slc_wborder_y[i].start
stop_border_y = slc_wborder_y[i].stop
sly_stop = h * (i + 1) / ny - stop_border_y
sly_stop = h * (i + 1) // ny - stop_border_y
if sly_stop == 0:
sly_stop = None
sly = slice(h * i / ny - start_border_y, sly_stop, None)
sly = slice(h * i // ny - start_border_y, sly_stop, None)
for j in range(nx):
start_border_x = slc_wborder_x[j].start
stop_border_x = slc_wborder_x[j].stop
slx_stop = w * (j + 1) / nx - stop_border_x
slx_stop = w * (j + 1) // nx - stop_border_x
if slx_stop == 0:
slx_stop = None
slx = slice(w * j / nx - start_border_x, slx_stop, None)
slx = slice(w * j // nx - start_border_x, slx_stop, None)
recover_slices.append([sly, slx])

# Here do the subtraction on each stamp
Expand Down
14 changes: 7 additions & 7 deletions tests/test_ois.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ def test_subtractongrid_adaptive_ri(self):
bkg_deg = None
k_side = 3
k_shape = (k_side, k_side)
pol_dof = (deg + 1) * (deg + 2) / 2
pol_dof = (deg + 1) * (deg + 2) // 2
kernel = np.random.random((k_side, k_side, pol_dof))
image = ois.convolve2d_adaptive(self.ref_img, kernel, deg)
subt_img, o, k, b = ois.subtractongrid(image, self.ref_img,
Expand All @@ -296,7 +296,7 @@ def test_subtractongrid_adaptive_rmi(self):
bkg_deg = None
k_side = 3
k_shape = (k_side, k_side)
pol_dof = (deg + 1) * (deg + 2) / 2
pol_dof = (deg + 1) * (deg + 2) // 2
kernel = np.random.random((k_side, k_side, pol_dof))
image = ois.convolve2d_adaptive(self.ref_img, kernel, deg)
subt_img, o, k, b = ois.subtractongrid(image, self.ref_img_masked,
Expand Down Expand Up @@ -378,8 +378,8 @@ def test_gen_matrix_system_sizes(self):
refimage = image.copy()
mm, b, c = varconv.gen_matrix_system(image, refimage, 0, None,
k_side, deg, bkg_deg)
pol_dof = (deg + 1) * (deg + 2) / 2
bkg_dof = (bkg_deg + 1) * (bkg_deg + 2) / 2
pol_dof = (deg + 1) * (deg + 2) // 2
bkg_dof = (bkg_deg + 1) * (bkg_deg + 2) // 2
k_size = k_side * k_side
m_dof = pol_dof * k_size + bkg_dof
self.assertEqual(mm.shape, (m_dof, m_dof))
Expand Down Expand Up @@ -430,7 +430,7 @@ def test_convolve2d_adaptive_idkernel(self):
def test_convolve2d_adaptive_undoing(self):
deg = 2
k_side = 3
pol_dof = (deg + 1) * (deg + 2) / 2
pol_dof = (deg + 1) * (deg + 2) // 2
kernel = np.random.random((k_side, k_side, pol_dof))
refimage = np.random.random((10, 10))
image = varconv.convolve2d_adaptive(refimage, kernel, deg)
Expand All @@ -454,7 +454,7 @@ def test_convolve2d_adaptive_cameraman(self):
# degrade reference
deg = 2
k_side = 3
pol_dof = (deg + 1) * (deg + 2) / 2
pol_dof = (deg + 1) * (deg + 2) // 2
kernel = np.random.random((k_side, k_side, pol_dof))
image = varconv.convolve2d_adaptive(refimage, kernel, deg)

Expand All @@ -478,7 +478,7 @@ def test_convolve2d_adaptive_cameraman_masked(self):
# degrade reference
deg = 2
k_side = 3
pol_dof = (deg + 1) * (deg + 2) / 2
pol_dof = (deg + 1) * (deg + 2) // 2
kernel = np.random.random((k_side, k_side, pol_dof))
image = varconv.convolve2d_adaptive(refimage, kernel, deg)

Expand Down

0 comments on commit 13eb1ef

Please sign in to comment.