Coverage for metadetect / tests / test_interpolate.py: 24%
17 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-26 09:20 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-26 09:20 +0000
1import numpy as np
3from metadetect.interpolate import (
4 interpolate_image_at_mask,
5)
8def test_interpolate_image_at_mask():
9 # linear image interp should be perfect for regions smaller than the
10 # patches used for interpolation
11 y, x = np.mgrid[0:100, 0:100]
12 image = (10 + x*5).astype(np.float32)
13 bmask = np.zeros_like(image, dtype=bool)
14 bmask[30:35, 40:45] = True
16 # put nans here to make sure interp is done ok
17 image[bmask] = np.nan
19 iimage = interpolate_image_at_mask(
20 image=image,
21 bad_msk=bmask,
22 )
23 assert np.allclose(iimage, 10 + x*5)
26def test_interpolate_image_at_mask_allbad():
27 # linear image interp should be perfect for regions smaller than the
28 # patches used for interpolation
29 y, x = np.mgrid[0:100, 0:100]
30 image = (10 + x*5).astype(np.float32)
31 bmask = np.zeros_like(image, dtype=bool)
32 bmask[:, :] = True
34 iimage = interpolate_image_at_mask(
35 image=image,
36 bad_msk=bmask,
37 )
38 assert iimage is None