From d21b5ecaa9d7d14fbf14e957cf174640a3475389 Mon Sep 17 00:00:00 2001 From: Thibault Barnouin Date: Fri, 25 Jul 2025 14:25:45 +0200 Subject: [PATCH] Modify mask display for emission center --- package/src/emission_center.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/package/src/emission_center.py b/package/src/emission_center.py index 7a7908b..4c421c5 100755 --- a/package/src/emission_center.py +++ b/package/src/emission_center.py @@ -21,6 +21,9 @@ def main(infile, P_cut=0.99, target=None, display="pf", output_dir=None): Stokes = fits_open(infile) stkI = Stokes["I_STOKES"].data + s_I = np.sqrt(Stokes["IQU_COV_MATRIX"].data[0, 0]) + SNRi = np.zeros(stkI.shape) + SNRi[s_I > 0.0] = stkI[s_I > 0.0] / s_I[s_I > 0.0] QN, UN, QN_ERR, UN_ERR = np.full((4, stkI.shape[0], stkI.shape[1]), np.nan) for sflux, nflux in zip( [Stokes["Q_STOKES"].data, Stokes["U_STOKES"].data, np.sqrt(Stokes["IQU_COV_MATRIX"].data[1, 1]), np.sqrt(Stokes["IQU_COV_MATRIX"].data[2, 2])], @@ -28,11 +31,11 @@ def main(infile, P_cut=0.99, target=None, display="pf", output_dir=None): ): nflux[stkI > 0.0] = sflux[stkI > 0.0] / stkI[stkI > 0.0] Stokesconf = PCconf(QN, UN, QN_ERR, UN_ERR) - Stokesmask = Stokes["DATA_MASK"].data.astype(bool) + Stokesmask = np.logical_and(Stokes["DATA_MASK"].data.astype(bool), SNRi > 10.0) Stokessnr = np.zeros(Stokesmask.shape) Stokessnr[Stokes["POL_DEG_ERR"].data > 0.0] = ( Stokes["POL_DEG_DEBIASED"].data[Stokes["POL_DEG_ERR"].data > 0.0] / Stokes["POL_DEG_ERR"].data[Stokes["POL_DEG_ERR"].data > 0.0] - ) + ) * Stokesmask[Stokes["POL_DEG_ERR"].data > 0.0] if P_cut < 1.0: Stokescentconf, Stokescenter = CenterConf(Stokesconf > P_cut, Stokes["POL_ANG"].data, Stokes["POL_ANG_ERR"].data)