xraypy / xraylarch

Larch: Applications and Python Library for Data Analysis of X-ray Absorption Spectroscopy (XAS, XANES, XAFS, EXAFS), X-ray Fluorescence (XRF) Spectroscopy and Imaging, and more.
https://xraypy.github.io/xraylarch
Other
133 stars 64 forks source link

Allow short Pre-edge Range Selections #517

Closed LJRH closed 1 week ago

LJRH commented 3 months ago

Version: Larix Larch 0.9.78 Module: xasviewer / pre_edge() Dataset: HERFD-XANES Fe K-edge (short energy range) Load Method: Data loaded both directly into Larch and from Athena Project

Description: On choosing a pre-edge range for a short Fe K-edge (7107 -> 7140 eV) in the xasviewer GUI will not allow a pre-edge region of less than 5 eV. Choosing a pre-edge range less than 5 eV causes a default value of pre2 to be set. Loading the dataset from an Athena project (with correct/chosen pre-edge values set), causes pre-edge values to be overwritten.

image

Request: For in situ HERFD-XANES datasets, it is sometimes necessary to have very short pre-edge regions which is made possible by the low noise floor in these datasets (coupled with carefully chosen longer scans to compare normalisation values with). It would be good to be able to choose short pre-edge regions of less than 5 eV in length, perhaps with a warning to the user that this could cause a normalisation issue.

Many thanks to the developers for their efforts.

L

newville commented 3 months ago

@LJRH thanks. Yeah, we should handle this case better. Maybe instead of "minimum of 5 eV" it should be "minimum of 2 data points"?

LJRH commented 3 months ago

Hi Matt, Yes - I think "minimum of 2 data points" is sensible, as long as it does not interfere with victoreen choice? Does the relevant code fall within pre_edge.py [182:202], is it just rounding to the nearest 5eV?

maurov commented 2 months ago

@LJRH this should be fixed now. Please, could check and close the issue then?