Coverage for metadetect / tests / test_mfrac.py: 21%

19 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-05-04 17:37 +0000

1import numpy as np 

2import ngmix 

3import pytest 

4 

5 

6def test_measure_mfrac_neg_bbox(): 

7 pytest.importorskip("meds") 

8 from ..mfrac import measure_mfrac 

9 

10 rng = np.random.RandomState(seed=100) 

11 cen = (201-1)/2 

12 mfrac = rng.uniform(size=(201, 201), low=0.2, high=0.8) 

13 x = rng.uniform(size=3, low=50, high=150) 

14 y = rng.uniform(size=3, low=50, high=150) 

15 box_sizes = np.array([32, -9990, 0], dtype=np.int32) 

16 fwhm = 1.2 

17 

18 obs = ngmix.Observation( 

19 image=np.zeros_like(mfrac), 

20 bmask=np.zeros_like(mfrac, dtype=np.int32), 

21 weight=np.ones_like(mfrac), 

22 jacobian=ngmix.DiagonalJacobian(scale=0.263, row=cen, col=cen) 

23 ) 

24 obs.psf = obs.copy() 

25 

26 mes = measure_mfrac( 

27 mfrac=mfrac, 

28 x=x, 

29 y=y, 

30 box_sizes=box_sizes, 

31 obs=obs, 

32 fwhm=fwhm, 

33 ) 

34 assert mes[0] > 0.4 and mes[0] < 0.6 

35 assert mes[1] == 1.0 

36 assert mes[2] == 1.0