Coverage for metadetect / tests / test_interpolate.py: 24%

17 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-22 09:16 +0000

1import numpy as np 

2 

3from metadetect.interpolate import ( 

4 interpolate_image_at_mask, 

5) 

6 

7 

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 

15 

16 # put nans here to make sure interp is done ok 

17 image[bmask] = np.nan 

18 

19 iimage = interpolate_image_at_mask( 

20 image=image, 

21 bad_msk=bmask, 

22 ) 

23 assert np.allclose(iimage, 10 + x*5) 

24 

25 

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 

33 

34 iimage = interpolate_image_at_mask( 

35 image=image, 

36 bad_msk=bmask, 

37 ) 

38 assert iimage is None