From 90c0b9cf3d8d4794219ac348b19b6f12723a01bf Mon Sep 17 00:00:00 2001 From: "Dorofeeva Elizaveta (EXT)" Date: Mon, 14 Jul 2025 22:42:05 +0200 Subject: [PATCH] No newaxis, still extremely slow method for white field scale; TODO: use median instead --- dap/algos/streakfind.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/dap/algos/streakfind.py b/dap/algos/streakfind.py index a3630d1..2a21e28 100644 --- a/dap/algos/streakfind.py +++ b/dap/algos/streakfind.py @@ -106,15 +106,12 @@ def _scale_whitefield(data, mask, whitefield, std, 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 - 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 + y = np.divide(data, std, out=np.zeros_like(data), where=mask)[mask] + W = np.divide(whitefield, std, out=np.zeros_like(data), where=mask)[mask] - 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, + scales = robust_lsq(W=W, y=y, axis=0, r0=r0, r1=r1, n_iter=n_iter, lm=lm, num_threads=num_threads) + print(f"{scales=}") scales=np.ravel(scales) whitefield *= scales