From e3e701a4daa9c2f588eaca07c45095c1fdc86b09 Mon Sep 17 00:00:00 2001 From: "Dorofeeva Elizaveta (EXT)" Date: Fri, 11 Jul 2025 11:09:17 +0200 Subject: [PATCH] Masking negative values for streak finder should be reflected in mask, not in data --- dap/algos/streakfind.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dap/algos/streakfind.py b/dap/algos/streakfind.py index 01e5ce7..1409f61 100644 --- a/dap/algos/streakfind.py +++ b/dap/algos/streakfind.py @@ -15,17 +15,18 @@ DEFAULT_NUM_THREADS = 16 DEFAULT_MIN_HIT_STREAKS = 5 -def _handle_negative_values(data, handler: str): +def _handle_negative_values(data, mask, handler: str): if not handler or np.all(data>=0): return if handler == "shift": # Shift to min=0 data -= np.min(data) elif handler == "mask": - data[data<0] = np.nan + mask[data<0] = np.nan elif handler == "zero": data[data<0] = 0 + def calc_streakfinder_analysis(results, data, pf_pixel_mask): do_snr = results.get("do_snr", False) do_streakfinder_analysis = results.get("do_streakfinder_analysis", False) @@ -33,7 +34,7 @@ def calc_streakfinder_analysis(results, data, pf_pixel_mask): return data negative_val_handler = results.get("sf_negative_handler", "") - _handle_negative_values(data, negative_val_handler) + _handle_negative_values(data, pf_pixel_mask, negative_val_handler) try: cryst_data = _generate_cryst_data(results, data, pf_pixel_mask)