XAS
Tutorials
XAS
Data Reduction (PROCESS)
Once you have pre-processed
the raw XAS data and created the averaged data file (*.AVE), you can use
the program PROCESS to reduce the data. This
tutorial will walk you through the standard treatment. There are many
advanced features of PROCESS (e.g., Fourier
filtering, scattering phase and amplitude extraction) that you can learn
by consulting the SSRL EXAFSPAK Manual.
PROCESS
C:\dir>process <input_file_spec>
<input_file_spec> is
the file created by MAVE (the .AVE extension
need not be specified).
This program handles all
the data reduction, including pre-edge subtraction, spline fit for removing
atomic-like absorption, and normalization by the McMaster absorption
curve, all of which are necessary to extract the EXAFS from XAS data.
After obtaining the EXAFS function, PROCESS
can also be used to FT, filter, and extract backscattering amplitudes
and phase shifts for model compounds. It also creates all the necessary
output files for plotting data in Igor.
All communication with PROCESS
is handled through the X-window generated when the program is executed.
This X-window uses the top portion to display pseudo-GUI menus and data
graphs and the bottom (2 lines by default) for prompts and user input.
The verb convention used is that when the prompt says Press,
a single keystroke is sufficient to provide necessary input, but when
the prompt says Enter,
the user must enter a response using the keyboard, then press the Enter/Return
key(just pressing Enter/Return uses the default input that is always
displayed in [ ] at
the end of the prompt). In this tutorial, the use of Serif font
implies prompts and user input in the bottom portion of the X-window.
Upon executing PROCESS
(with process fx12b),
the X-window displays the MAIN
menu:

Your first job is to examine
the raw averaged data. Pressing 1
takes you into the sequence of prompts
Press 1 to plot raw data :1

Anytime there is a graph
displayed, this prompt
Press 1 to plot, 2 for hardcopy, 3 to edit, 4 for cursors, 5 for peaks
:
appears first on the bottom
of the X-window. This allows the user to edit the range of the graph,
find peaks, make documents for hardcopy, etc. Pressing Enter/Return
takes you to the next prompt in the sequence. (At any time in this sequence,
you may use Ctrl-Z to immediately return to the MAIN
menu.)
Press 1 to subtract baseline file :
Press 1 to plot baseline subtraction :
(If no red
input appears after prompts that begin with Press,
Enter/Return has been pressed.) A baseline file
is an experimental spectrum of a blank sample that is meant to represent
the true baseline. In practice this is seldom collected.)
Press 1 to subtract pre-edge :1
Press 1 for polynomial pre-edge fit, 2 for Gaussian, 3 for erf function
:2
With fluorescence XAS data,
the pre-edge background consists of scattered X-rays passing through
the detector window. Since the detector acceptance function (SCA
window) acts like a Gaussian,
these scattering pre-edge backgrounds can be modeled as Gaussians. The
middle of SCA window
should be the energy of the K-alpha emission for the element being examined
and this is usually chosen as the default (6403.00
below). A Gaussian window width
and a detector resoln
are also needed for the fitting.
Enter eV(low), eV(high) [0.0, 7085.00] :
This is the range of the
data in the .AVE file that will be fit. 0.0
means use all the data on the low end.
Enter energy eV for middle of SCA window [6403.00] :
Enter window width, detector resoln. (eV) [750.000, 250.000] :
Unless you know how this
particular data set will behave, try the defaults first.
Enter scaling factors a, b (y=a*y+b) [1.72782, .127105] :
These were calculated by
the fit, but you are allowed to manually adjust them to improve the
fit. This is usually difficult to do well.
Press 1 to plot pre-edge result :
Press 1 for total pre-edge plot :1
The total pre-edge
plot includes the raw data,
the Gaussian fit, and the difference (whereas the pre-edge result
is just the difference).

The (green)
difference spectrum does not display a flat pre-edge region, so this
was not a very good fit. Comparing the red
Gaussian, it appears too wide compared to the data (white). So a reduction
in the Gaussian window width
might help. To try this again, just enter Ctrl-Z
to go back to the MAIN
menu and enter 2.
Press 1 to subtract baseline file :
Press 1 to plot baseline subtraction :
Press 1 to subtract pre-edge :1
Press 1 for polynomial pre-edge fit, 2 for Gaussian, 3 for erf function
:2
Enter eV(low), eV(high) [0.0, 7085.00] :
Enter energy eV for middle of SCA window [6403.00] :
Enter window width, detector resoln. (eV) [750.000, 250.000] :600
(Try a significant change;
you can always try again.)
Enter scaling factors a, b (y=a*y+b) [2.75582, .149118] :
Press 1 to plot pre-edge result :
Press 1 for total pre-edge plot :1

Now the pre-edge region of
the difference appears pretty flat and the Gaussian fits the data well.
This is an acceptable pre-edge subtraction. The most important result
of this subtraction is that the resulting data just before the edge
are defined as ZERO.
Pressing Enter/Return in
response to this plot prompt takes you to the next step in the sequence,
the spline background removal.
Press 1 to subtract Spline :1
Do you wish to reset to defaults? [y/n] [Y] :
PROCESS
is pretty good about selecting default parameters for spline fits. Until
you know that you need to change some of the defaults, you should choose
to do this reset.
Enter Spline eV(low) & eV(high) [7130.00, 8163.53] :
This range defaults to start
at E(k = 0) (the threshold energy) and stop at the end of the
data. If the raw data look all right, you should leave the eV(high)
as is. You may decide to truncate the data after seeing the EXAFS.
Enter order of Spline & No. of ranges [4, 3] :
The order
is the polynomial order of the fit in each of the spline regions (ranges).
Enter k-weighting for spline [4] :
Enter 1 to use Victoreen [1] :
The Victoreen
formula is the accepted method of modeling the atomic fall-off for normalization.
Enter 1 for k-spaced spline points [0] :
1 would
generally be used if you had decided to change the eV range of the data
to be fit; this would re-space the spline points appropriately.
Enter 2 Spline Points
Spline Point 0 [7130.00] :
Spline Point 1 [7474.51] :
Spline Point 2 [7819.02] :
Spline Point 3 [8163.53] :
Enter symbol for element [FE] :
Enter edge (K, L1,..) [K] :
Enter Victoreen Coefficients Cvic,Dvic [126.000, 27.2000] :
Enter Edge jump u0 for ratio (0 = auto) [0.0] :
Enter eV to calc. u0 [7140.00] :7120
Since we use new values for
E(k = 0), you should choose that eV to normalize to 1.0.
final falloff was 0.71
This is the value that is
used to scale the data for normalization of the edge height. Press Enter/Return
to carry out the spline fit.
Press 1 to plot spline removal :
Press 1 to plot spline removal + Victoreen :1

You will develop an eye for
judging good spline fits; looking at the EXAFS and FT will help. On
the scale of this graph, the data and spline should be indistinguishable
in the high-k region. The spline should also not bend far up
or down at the low-eV end. Pressing Enter/Return here takes you to the
EXAFS extraction portion of PROCESS.
Press 1 to plot EXAFS :
Press 1 to plot EXAFS + I0 :1
You will see a graph of EXAFS
as k3chi(k) vs. k superimposed
on a plot of I0 (see figure below with overlaid Fourier transform/filter
menu). This is a decision point; if the EXAFS look all right, you can
move on to calculating the FT. Several problems can be encountered at
this point, requiring re-reduction. First, the EXAFS may be too noisy
at high k, in which case you should choose a k value
at which to truncate the data and redo the spline fit, stopping at that
energy. Second, you may observe a small edge (of the element with next
higher atomic number) in the high-k region; this will also
require truncation. Third, you may see large spikes in the data at the
same k as glitches in I0. PROCESS gives
you a way of deglitching the data, which should then go through spline
subtraction again.
Assuming you are satisfied
with the EXAFS data, the next step is Fourier transformation.
Press 1 to Smooth EXAFS :
Press 1 to plot Smoothed + Unsmoothed EXAFS :
Press 1 to plot Smoothed EXAFS alone :
(We do not generally smooth
any EXAFS data.) At this point, the Fourier transform/filter menu appears
(on top of the EXAFS/I0 graph as shown below). Press 1
to do the FT.

Press 1 to calculate Fourier transform :1
Enter 0 to use Unsmoothed or 1 to use Smoothed EXAFS [1] :0
Enter Min, Max & width for k-window [1.00000, 16.4810, 0.0] :2,16
Our convention is to always
start the k range for FT at k = 2.0.
Enter power for k-Weighting [3] :
Press 1 to plot k-windowing :
Enter 1 for Fast FT, 2 for Simpson rule FT, 3 for Max Entropy Transform
[1] :
Enter R(low), R(high) & R(inc) [0.0, 7.00000, .020000] :
It is also our convention
to plot FTs between R' = 0.0 - 7.0 Å
Press 1 for phase correction :1
Since the EXAFS function
has a phase shift, the FT has a shift in its real space axis. Therefore,
the peak position does not really correspond to real distances. Phase
correction is an attampt to correct for this effect. A specific scattering
atom must be selected so that its phase can be calculated and used for
FT correction. It makes only a little difference in the result which
scattering phase you choose, but if you know something about the first-shell
scattering atoms, choose something realistic. This data set (FX12B)
is from a Fe-S protein, so here we will choose S (Z = 16) for the phase
correction. (The absorbing atom is Fe with Z = 26.)
Enter Z for Absorber and backscatterer [26.0000, 16.0000] :
Enter 1 for theory, 2 for parameterized, 3 for F.T. [1] :
Enter edge (K, L1,..) [K] :
Enter No. of points for data interpolation [512] :
Forward FFT - Max R : 63.71 R(inc) : 0.0311 .... 512 to 4096 points
Press 1 to plot Transform :1

(Note that the first-shell
Fe-S peak is at 2.3 Å or so, a reasonable result for an Fe-S cluster.)
This is another decision point. If the FT magnitude in the R' = 5 -
7 Å range are too large (these represent noise since no real backscattering
is ever seen at this long distance), then you may want to truncate the
data at a lower k and redo the spline fit as above. If the
FT peaks around 1 Å are too high, then the spline subtraction
has not done a good job of removing low-frequency background from the
EXAFS. Consider re-fitting the spline with additiona regions, a new
starting spline point (this is the one that makes most difference),
or consider using the program autobk to do the background removal.
Once you are satisfied with
the FT (and presumably the EXAFS that gave rise to it), you are finished
with the job of data reduction. At this point, all that remains is to
generate some output files with (x,y) data that can be used in Igor
to make plots of the results for reporting purposes. Pressing Enter/Return
at this plot prompt results in
Press 1 to plot Real & Imaginary components :
Press 1 to generate transform file :
Press 1 to read R-window :
Press 1 to back-transform :
We are returned to the Fourier
transform/filter menu (above),
and now we are finished with the FT so we press 5
to return to the MAIN
menu, then press 6
to get to the FILES
menu.

First, we need to save all
our work to the .AVE file, so we press 1.
Enter .AVE filename to write [FX12B.AVE] :
Next, we need to save a delimited
text file with the EXAFS data (as chi(k) and k3chi(k)
vs. k), so we press 2.
Enter formatted filename for output [FX12B.frm] :FX12B-K3X.FRM
Press 1 for DATA file, 2 for HEX dump :1
Enter No. array positions to write [4] :3
Enter array position to write to file col. No. 1 [1] :2
Enter array position to write to file col. No. 2 [2] :7
Enter array position to write to file col. No. 3 [3] :9
This file will be opened
in Igor and Data | Load Waves | Load General Text … will be used
to save the three columns as FX12B-k, FX12B-chi, and FX12B-k3x. This .FRM file can also be converted (using the first two columns) into a .chi file using Athena.
Then, we need to save a delimited
text file with the FT data (as FT magnitude vs. R), so we press 2.
Enter formatted filename for output [FX12B.frm] :FX12B-FT16.FRM
(Should you change your mind
about the k range for the FT, you can come back and save multiple
versions of the FT file with different end points. Note that if you
come back to PROCESS to do this on a previously
saved file, you must actually calculate the FT again before you save
this file; otherwise, it will be empty.)
Press 1 for DATA file, 2 for HEX dump :1
Enter No. array positions to write [4] :2
Enter array position to write to file col. No. 1 [1] :17
Enter array position to write to file col. No. 2 [2] :11
This file will be opened
in Igor and Data | Load Waves | Load General Text … will be used
to save the two columns as FX12B-r16 and FX12B-ft16.
The only data left to be
saved are the normalized edge vs. eV. This can be done by saving a standard
.EDG file through the UTILITIES
menu. Back in the FILES
menu, press 5
to return to MAIN menu,
press 7
to access the UTILITIES
menu, and press 1 to calculate derivs.
etc to get to the Manipulate
data menu:

Press 3
to normalize data and then
answer the prompts shown by using the Enter key twice. Pressing 8
to write .EDG file generates
the prompt below which should also be answered by using the Enter key.
Enter filename for .EDG file [fx12b.edg] :
.EDG data file written - Column 1:x 2:y 3:deriv
This
writes the normalized edge as FX12B.EDG. Using Data | Load Waves | Load
General Text … in IGOR on this file and loading the first two
columns as FX12B-eV and FX12B-edg, provides the normalized edge data.
After writing the .EDG file,
we are back in the Manipulate data
menu; press B
to return to the UTILITIES
menu. Another useful utility is to examine the data in "memory"
for this PROCESS session. Pressing 8
for memory map generates the
following ouput in the X-window. Note that Array position 2
contains K and array
position 9 contains
K WTD EXAFS. These
are the columns written to the FX12B-K3X.FRM file above. (You can always
examine graphically memory arrays by pressing 7
to plot memory in the UTILITIES
menu.)

Pressing any key takes you
to a prompt that allows you to modify the memory; this is not recommended
since some of the actions in PROCESS assume
default locations of arrays. Just pressing Enter/Return takes you back
to the UTILITIES menu;
then press A
to return to MAIN menu,
then press 9
(and confirm with Space bar)
to quit PROCESS.
Don't forget to archive the
results and document your data reduction activity on the Data Log Form
and in the data index as detailed in the XAS Data Handling Protocol.

scott@chem.uga.edu
Department of Chemistry
University of Georgia
Athens, GA 30602-2556
706 542-2240 | FAX: 706
542-2295 |