[Ifeffit] Fwd: Ifeffit Digest, Vol 170, Issue 19

Matt Newville newville at cars.uchicago.edu
Thu Apr 20 22:33:14 CDT 2017


Hi Matthew,


On Thu, Apr 20, 2017 at 5:34 PM, Matthew Marcus <mamarcus at lbl.gov> wrote:

> Does Athena use a histogramming method for Fourier filtering?


The autobk() in Ifeffit does.  That is, the background mu0(E) and chi(E)
are found at all input energy points.  This is converted to chi(k) at k for
all energy points, and then a boxcar average is applied to give chi(k) on
the standard 0.05 k-grid.  As shown earlier, this diminishes the noise and
also the amplitude of chi(k), especially at higher frequencies.

In Larch, the cubic spline for the background mu0(E)  is found at all input
energy points, but then evaluated at the values on the uniform k-grid.
.

> That's what I use.  The idea is that to grid the data we don't interpolate
> but take averages over the data appearing within the bin,


 OK, but that boxcar average will blur the data.    I definitely see this
with QXAFS (well "continuous") where I can scan continuously but bin the
measurements into 0.05Ang-1 bins -- that *does* reduce the amplitude
compared to binning into 0.02 Ang^-1 bins and compared to step scans, where
one measures at fixed energies, not slewing over an energy range.

The data from SPRing8 was much finer spaced than EXAFS needs -- and boxcar
averaging to 0.05 Ang^-1 does blur the data.


> with interpolation only when there aren't any points within a bin. For
> those, you have to bridge across a gap.  This is the best idea I've come up
> with for using data which may be tabulated more finely than the k-grid of
> the Fourier filtering process (typically dk=0.05A^-1).
>

Putting the spline through all the energy points does use all the data to
predict the value on the 0.05 Ang^-1 grid, and avoids blurring the data.
Yes, the result can be noisier, but it does not suppress the oscillations.


> Something I've used in a XANES context but never tried for EXAFS is a
> convolution with a kernel whose width depends on energy, such that it
> matches the sharpest credible feature.  See Manceau, A., Marcus, M. A.,
> Lenoir, T. (2014) Estimating the number of pure chemical components in a
> mixture by X-ray absorption spectroscopy. J. Synchrotron Radiat.
> 21,1140-1147,
> specifically the SI.


I've read that paper, but I don't think I looked at the SI.  Will do.


> The notion is that no real feature can be narrower than the combination of
> the core-hole lifetime and instrumental broadening or the EXAFS wiggle
> corresponding to the maximum reasonable path length.  This is done
> by transforming the data from E-space to a space in which a constant step
> in the abscissa corresponds to this energy-dependent minimum credible
> feature width.  Of course, in EXAFS this is mostly a constant width in k,
> so some kind of smoothing would work if it's a constant kernel in k.


 That's sort of what a Fourier filter does, for example zero all the data
above R>10 and transform back to k.

S-G smoothing assumes uniform tabulation so unless your data were taken on
> a uniform k-grid, it doesn't really do the right thing.
>

The S-G smoothing does appear to help even if the data are not strictly
uniform (see example posted earlier where the data was very finely spaced
in energy, but not uniformly).    I did forget about the uniformity
requirement, but I think that for the purposes here (smooth very fine
slightly noisy data before fitting the cubic spline) it's probably not a
disaster.

I would agree that this filter is designed to reduce high-frequency noise
is largely cosmetic, and is not really going to help reduce the noise in
the frequency range of the data we actually care about.  In fact, for me
the main point would be that the S-G filter does *not* greatly alter the
frequencies we care about, whereas boxcar averaging most certainly does.



> A problem with this method is that it drops off the very information you
> need to see what your noise floor is.


Yes, that's a good point.  Removing the obvious high-frequency noise gives
the impression that there is no low-frequency noise, which is not correct.



> I put this out there only for those who insist on smoothing.  I use my
> data un-smoothed for EXAFS analysis, knowing that the treatment of noise
> and sampling finer than the k-bin is not really right.
>



> I don't really see the usefulness of smoothing for XANES or EXAFS
> analysis, though it might be OK for display if not overdone.
>

Yes, I agree -- not smoothing chi(k) is the best approach.  But if you do
smooth, use Savitzky-Golay on the uniform chi(k).


-- 
--Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://millenia.cars.aps.anl.gov/pipermail/ifeffit/attachments/20170420/2cafb5d5/attachment.html>


More information about the Ifeffit mailing list