From f1828cb4b5c78d296dd514d89733d0176d609a4b Mon Sep 17 00:00:00 2001 From: "Dorofeeva Elizaveta (EXT)" Date: Mon, 14 Jul 2025 22:26:58 +0200 Subject: [PATCH] True divide --- dap/algos/streakfind.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dap/algos/streakfind.py b/dap/algos/streakfind.py index 658d6fc..a3630d1 100644 --- a/dap/algos/streakfind.py +++ b/dap/algos/streakfind.py @@ -103,11 +103,15 @@ def _calc_snr(results, data, pf_pixel_mask): def _scale_whitefield(data, mask, whitefield, std, r0: float = 0.0, r1: float = 0.5, - n_iter: int = 12, lm: float = 9.0, num_threads: int = 1 + n_iter: int = 12, lm: float = 9.0, num_threads: int = 16 ): mask = mask & (std > 0.0) - y = np.where(mask, data / std, 0.0)[mask] # must be newaxis - W = np.where(mask, whitefield / std, 0.0)[mask] # must be newaxis + #y = np.where(mask, data / std, 0.0)[mask] # must be newaxis + y = np.divide(data, std, out=np.zeros_like(data), where=mask)[mask] # must be newaxis + #W = np.where(mask, whitefield / std, 0.0)[mask] # must be newaxis + + W = np.divide(whitefield, std, out=np.zeros_like(data), where=mask)[mask] # must be newaxis + #W = np.where(mask, whitefield / std, 0.0)[mask] # must be newaxis scales = robust_lsq(W=W[np.newaxis, :], y=y[np.newaxis, :], axis=1, r0=r0, r1=r1, n_iter=n_iter, lm=lm, num_threads=num_threads)