Skip to content

Commit 1886903

Browse files
committed
test: working test!
1 parent 367769c commit 1886903

1 file changed

Lines changed: 22 additions & 10 deletions

File tree

tests/test_interpolatedimage.py

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1923,13 +1923,13 @@ def _find_maxk(kim, thresh, count_thresh=True):
19231923
norm_kval = kim(ix, iy)
19241924
norm_kval = (norm_kval * norm_kval.conjugate()).real
19251925

1926-
iy += 1
1927-
19281926
if norm_kval > thresh:
19291927
maxk_ix = ix
19301928
n_below_thresh = 0
19311929
break
19321930

1931+
iy += 1
1932+
19331933
if count_thresh:
19341934
if norm_kval <= thresh:
19351935
n_below_thresh += 1
@@ -1950,12 +1950,10 @@ def test_interpolatedimage_maxk_python():
19501950
# space image of 4 pixels where pixels go above and below the
19511951
# maxk threshold. Four pixels is exactly the gap needed to trigger
19521952
# the bug in the maxk code we are testing for.
1953-
im = galsim.Gaussian(fwhm=0.9).drawImage(scale=0.2)
1953+
im = galsim.Gaussian(fwhm=0.9 / 0.2).drawImage(scale=1)
19541954
iim = galsim.InterpolatedImage(im)
1955-
orig_maxk = iim.maxk
1956-
kim = iim._xim.copy()
1957-
kim.wcs = galsim.PixelScale(1.0)
1958-
kim = kim.calculate_fft()
1955+
xim = iim._xim.copy()
1956+
kim = xim.calculate_fft()
19591957
kx, ky = kim.get_pixel_centers()
19601958
kx *= kim.scale
19611959
ky *= kim.scale
@@ -1964,12 +1962,26 @@ def test_interpolatedimage_maxk_python():
19641962
maxk_ix = np.floor(maxk_py / kim.scale).astype(int)
19651963
kim[maxk_ix, maxk_ix + 4] = kim[0, 0].real * 0.1
19661964

1965+
new_im = kim.calculate_inverse_fft()
1966+
sbii = galsim._galsim.SBInterpolatedImage(
1967+
new_im._image,
1968+
new_im.bounds._b,
1969+
iim._pad_image.bounds._b,
1970+
iim._x_interpolant._i,
1971+
iim._k_interpolant._i,
1972+
0,
1973+
0,
1974+
iim.gsparams._gsp,
1975+
)
1976+
19671977
maxk_py_false = _find_maxk(kim, thresh, count_thresh=False) / im.wcs._maxScale()
19681978
maxk_py_true = _find_maxk(kim, thresh, count_thresh=True) / im.wcs._maxScale()
1979+
sbii.calculateMaxK(0)
1980+
sbii_maxk = sbii.maxK()
19691981

1970-
print("galsim|pybuggy|pyfixed:", orig_maxk, maxk_py_false, maxk_py_true)
1971-
assert maxk_py_false != maxk_py_true
1972-
assert orig_maxk == maxk_py_true
1982+
print("galsim|pybuggy|pyfixed:", sbii_maxk, maxk_py_false, maxk_py_true)
1983+
assert np.abs(maxk_py_false - maxk_py_true) >= kim.scale
1984+
np.testing.assert_allclose(sbii_maxk, maxk_py_true, atol=1e-12, rtol=0)
19731985

19741986

19751987
if __name__ == "__main__":

0 commit comments

Comments
 (0)