The way I commonly do pre-edge is to fit with some form plus a power-law singularity representing the initial rise of the edge, then subtract out that "some form". Now, that form can be either linear, linear+E^(-2.7) (for transmission), or linear+ another power-law singularity centered at the center passband energy of the fluorescence detector. That latter is for fluorescence data which is affected by the tail of the elastic/Compton peak from the incident energy. Whichever form is taken gets subtraccted from the whole data range, resulting in data which is pre-edge-subtracted but not yet post-edge normalized. The path then splits; for EXAFS, the usual conversion to k-space, spline fitting in the post-edge, subtraction and division is done, all interactively. Tensioned spline is also available due to request of a prominent user. For XANES, the post-edge is fit as previously described. Thus, there's no distinction made between data above and below E0 in XANES, whereas there is such a distinction in EXAFS. mam On 5/15/2013 8:25 AM, Matt Newville wrote:
Hi Matthew,
On Wed, May 15, 2013 at 9:57 AM, Matthew Marcus
wrote: What I typically do for XANES is divide mu-mu_pre_edge_line by a linear function which goes through the post-edge oscillations. This division goes over the whole data range, including pre-edge. If the data has obvious curvature in the post-edge, I'll use a higher-order polynomial. For transmission data, what sometimes linearizes the background is to change the abscissa to 1/E^2.7 (the rule-of-thumb absorption shape) and change it back afterward. All this is, of course, highly subjective and one of the reasons for taking extended XANES data (300eV, for instance). For short-range XANES, there isn't enough info to do more than divide by a constant. Once this is done, my LCF programs allow a slope adjustment as a free parameter, thus muNorm(E) = (1+a*(E-E0))*Sum_on_ref{x[ref]*muNorm[ref](E)}. A sign that this degree of freedom may be being abused is if the sum of the x[ref] is far from 1 or if a*(Emax-E0) is large. Don't get me started on overabsorption :-) mam
Thanks -- I should have said that pre_edge() can now do a victoreen-ish fit, regressing a line to mu*E^nvict (nvict can be any real value).
Still, it seems that the current flattening is somewhere between "better" and "worse", which is unsettling... Applying the "flattening" polynomial to the pre-edge range definitely seems to give poor results, but maybe some energy-dependent compromise is possible.
And, of course, over-absorption is next on the list!
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit