From 7c79746f9ddb7f10e701c242179ef4317481683b Mon Sep 17 00:00:00 2001 From: woutdenolf Date: Fri, 22 Jul 2022 17:25:32 +0200 Subject: [PATCH 1/2] E0 might be very wrong during online data processing --- src/est/core/process/noise.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/est/core/process/noise.py b/src/est/core/process/noise.py index 8624ccb..6c4c052 100644 --- a/src/est/core/process/noise.py +++ b/src/est/core/process/noise.py @@ -79,15 +79,16 @@ def process_noise_savgol( else: e_max += spectrum.e0 - if e_min > e_max: - raise ValueError(f"e min ({e_min}) > e max ({e_max})") - spectrum.larch_dict["noise_e_min"] = e_min spectrum.larch_dict["noise_e_max"] = e_max - mask = (spectrum.energy > e_min) & (spectrum.energy < (e_max)) - spectrum.raw_noise_savgol = numpy.mean(noise[mask]) - spectrum.norm_noise_savgol = spectrum.raw_noise_savgol / spectrum.edge_step + + if mask.any(): + spectrum.raw_noise_savgol = numpy.mean(noise[mask]) + spectrum.norm_noise_savgol = spectrum.raw_noise_savgol / spectrum.edge_step + else: + spectrum.raw_noise_savgol = numpy.nan + spectrum.norm_noise_savgol = numpy.nan if callbacks: for callback in callbacks: -- GitLab From 5fc91fbf6b5cfa231c1b36ee54f46b4597a69311 Mon Sep 17 00:00:00 2001 From: Henri Payno Date: Mon, 25 Jul 2022 08:37:01 +0200 Subject: [PATCH 2/2] add some doc for noise nan usage --- src/est/core/process/noise.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/est/core/process/noise.py b/src/est/core/process/noise.py index 6c4c052..0545cce 100644 --- a/src/est/core/process/noise.py +++ b/src/est/core/process/noise.py @@ -87,6 +87,7 @@ def process_noise_savgol( spectrum.raw_noise_savgol = numpy.mean(noise[mask]) spectrum.norm_noise_savgol = spectrum.raw_noise_savgol / spectrum.edge_step else: + # Uses nan's instead of raising an exception. Otherwise we have much more failing workflows online (either E0 is wrong or the scan has not progressed past Emin, which is after the edge so the plots are fine). spectrum.raw_noise_savgol = numpy.nan spectrum.norm_noise_savgol = numpy.nan -- GitLab