xraypy/xraylarch

Normalization range points not allowing custom points for data set

Opened this issue · 2 comments

Hello,

I am using Larch version 0.9.71 XAS viewer (GUI).

I load in a data set (see image attached, edit: data is not for In L2 but it usually defaults to this) and start the normalization process. The normalization energy range only moves by the increments (~4 eV increments) allowed using the interface up and down arrow. As shown in the image, the default value is 2.99 and it allows manually input lower values, but not values higher than 2.99 neither with the arrows nor user input values. This issue persists with other data groups within similar energy range, and leads to some weird/very slanted normalized mu(E) as the only resulting option independently from the normalization points.

My aim with this data set is to do Linear Combo. Thus, LC would use this distorted Normalized or Flattened arrays for fitting. Thank you.

Screenshot 2023-09-24 132131

Screenshot 2023-09-24 133436

@mrvejar The arrows on the normalization ranges should increment the energies by 5 eV. In general, you should be able to enter any specific value you want.

However, the normalization range is limited: the end value ("norm2") does need to be in the data range, and the first value ("norm1") needs to be at least 10 eV below that. I guess that difference could be reduced, but I'm not sure it is really a good idea.

With only 20 eV of total energy range, the "standard" pre-edge and normalization procedures in XAS Viewer are going to be pretty error-prone. There really is not enough of a pre-edge measured to fit a line to, and it is not at all clear to me that "extrapolate intensity well past main edge" to get a normalized spectrum would be possible.

I sort of think you may need to come up with some other methods for baseline removal and scaling.

I see, thank you so much for that explanation. In this case, the ~20 eV range data is all I have to work with (Pu M4 edge), for LCF. Could this difference be reduced below 10 eV? or maybe allow for the "raw" array to be used for LCF? I have used Larch LCF for L3 edge data and it works amazing. In fact, I really like that I can do multiple fits and sort them. Hence, I would like to use Larch for LCF for this M4 edge data as well.