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)