From 9e1416b62f7aeeeadad586ef26b34d86ec0752e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Le=20Guyader?= <loic.le.guyader@xfel.eu> Date: Thu, 22 Sep 2022 09:54:32 +0200 Subject: [PATCH] Fix sign of XAS --- doc/changelog.rst | 1 + src/toolbox_scs/routines/XAS.py | 13 +++---------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/doc/changelog.rst b/doc/changelog.rst index 5439780..c47bd4d 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -6,6 +6,7 @@ unreleased - **Bug fixes** + - fix :issue:`61` regarding sign of XAS in some cases :mr:`207` - **Improvements** diff --git a/src/toolbox_scs/routines/XAS.py b/src/toolbox_scs/routines/XAS.py index 0f483c5..63c34c2 100644 --- a/src/toolbox_scs/routines/XAS.py +++ b/src/toolbox_scs/routines/XAS.py @@ -174,19 +174,12 @@ def xas(nrun, bins=None, Iokey='SCS_SA3', Itkey='MCP3peaks', nrjkey='nrj', """ Select which fields to use as I0 and which to use as I1 """ - if 'mcp' in Iokey.lower(): - Io_sign = -1 - else: - Io_sign = 1 - - if 'mcp' in Itkey.lower(): - It_sign = -1 - else: - It_sign = 1 - if len(data) == 0: return absorption([], [], fluorescence) else: + Io_sign = np.sign(np.nanmean(data['Io'])) + It_sign = np.sign(np.nanmean(data['It'])) + return absorption(It_sign*data['It'], Io_sign*data['Io'], fluorescence) -- GitLab