[Ifeffit] An Athena mini-tutorial
ravel at phys.washington.edu
Mon Mar 11 09:38:11 CST 2002
In the absence of a real document, I want to write something down to
help people get started with Athena. Here goes....
First, Athena, like gifeffit, is an attempt to automate the creation
of ifeffit commands. The beauty of ifeffit's command interface is
that it is very flexible, both in terms of functional flexibility and
in terms of writing wrappers. The annoying part of ifeffit's command
interface is that you have to remember a lot of syntax and do a lot of
typing. Essentially, Athena does a lot of typing for you.
Second, Athena has two features that may not be obvious to folks who
have used Mac-xafs or win-xafs or some other extant package. (1) There
are no buttons that say "Remove background" or "Fourier transform".
There are only buttons that say "Plot in energy" or "plot in R".
Athena is clever about keeping track of what needs to be done and
doing all necessary analysis steps in the background before plotting.
So, if you change the k-weight for the Fourier transform, Athena knows
to redo the forward and backward transforms as needed but not to redo
the background removal. If you change Rbkg and plot in energy only,
the background removal will be done. And so on. (2) You can "mark"
groups and perform various actions on single groups or on ensembles of
marked groups. So it is easy to plot single groups or ensembles of
groups with a few mouse clicks. What's more the analysis steps are
taken care of automagically for single groups or for ensembles of
Now I am going to describe specific features of Athena:
***** Reading in data
Athena reads ASCII data using ifeffit, so all the rules that apply
to ifeffit also apply to Athena. Basically, Athena expects that
data will be in the form of column data, possibly with headers.
Athena can directly read mu(E) or chi(k) data. It can also read raw
data straight from the beamline. See
You can then construct mu(E) data by selecting columns for the
numerator and denominator. In the screen-shot, I show selecting It
and I0 columns as the numerator and denominator for transmission
data. There is a natural log button which should be clicked for
transmission data. You can also handle multi-element detector data
in a very rudimentary way by selecting multiple numerator columns
for fluorescence data.
You will notice that there are options in the File menu for reading
single or multiple files. This is annoying but necessary. The
standard file dialog does not do extended selection, the motif-like
file dialog does extended selection but is unfamiliar to most
people. Extended selection is very useful -- if you extendedly
select a group of identically formatted files, Athena will only give
the column selection dialog for the first one.
The button labeled "Set preprocessing parameters" is beyond the
scope of this post, but may become clear to you once you grok all
the features of Athena.
***** Selecting and marking groups
Once you have read in some data, you will probably want to plot it.
You select a group by clicking on its name in the skinny frame on
the right. When you select a group, its name will be highlighted in
orange and its parameter values will displayed in the form on the
left. When you click on a *red* plotting button, the selected group
will be plotted.
To the left of the group's name is a little check button. You mark
a group by clicking the checkbutton on. When you click a *purple*
plot button, all marked groups will be over-plotted.
***** Setting parameter values
You can only directly edit the parameters for the selected group
because only the selected group has its parameters displayed. There
are ways of setting the parameters of other groups to the values of
the selected group.
In the Group menu is and option for setting the values of all
parameters of all other groups to the values of the currently
selected group. There is another option for setting all parameters
of all marked groups to the values of the currently selected group.
There is also fine grained control over setting parameters which is
described in the next section.
***** Mouse clicks on labels
When you pass the mouse over a label in the frame displaying all the
parameter values, you will notice that the text and background
change color. This is a visual cue that the text is sensitive to
Clicking the left mouse button on a word that has changed color will
display a little bit of text in the echo area at the bottom of the
window which explains in a few words the purpose of that parameter.
Clicking the right mouse button will pop up a menu which allows you
to set that parameter for other groups to the value of the currently
selected group. The functions in the Group menu explained above
work on all parameters, this right-click function works only on that
***** Plotting options
You can independently control how single and marked group plots are
made by choosing different options in the Plotting Options section
at the lower right hand corner of the window. There is one notecard
for each plotting space. Red buttons are for single group plots and
purple buttons are for marked group plots. I suggest poking at
these buttons to see what kinds of plots you can make.
The plot ranges for the x-axis are set in this space as well. You
may need to think about these values. For example, the data
alignment function (described below) uses the values of Emin and
Emax. Typically, you would want to restrict the plot to a few tens
of volts above and below the edge so you can see the details of the
edge for alignment.
The options in the Edit menu all pop up a new window with notecards
which display all sorts of textual information. Perhaps the most
useful is the ifeffit buffer which allows you to monitor the
communication between Athena and ifeffit.
***** Project files
You have the options of saving data in a variety of column formats,
including mu(E), norm(E), chi(k), chi(R), and chi(q). You can also
save a "project file". Which is an Athena specific which records
the state of your Athena session. It will record data and
parameters in a big ASCII file that is hard for a human but easy for
Athena to read.
Athena's project files are different from ifeffit's PAD files. They
exploit the object oriented nature of its internal data structures
to save the state of an ensemble of groups, even if the data in that
ensemble is unrelated one to the other.
The deglitch menu has two options in it, deglitching and truncating.
Deglitching is for removing spurious points throughout the data set,
truncating is for removing all data points after a specified point.
Deglitching can be done point-by-point or algorithmically. The
point-by-point is done by clicking the "Select a point" button, then
clicking on the plot. The "remove point" button will then become
active. Clicking it will remove the point from the group.
The algorithm is a bit more complicated. There are three parameters
which set margins above and below the data in a range either in the
pre-edge or the post-edge. Any data points which extend outside
these margins will be removed. To understand this better, try
reading the data file uhup.003 and plying around with the
algorithmic deglitching parameters. Eventually you will make it
look like this:
Clicking the "Remove glitches" button will remove the four points
outside the margins.
Alignment can be done using raw mu(E), normalized mu(E), or the
derivative of mu(E). I think this one is pretty easy to
understand. The "Standard" is the fixed reference. The "Other" is
the group to be energy shifted. When you click the + or - buttons,
the other group's e0 shift is incremented and the two data sets are
replotted. See this:
Merging works on all marked groups. You can merge in any of the
plotting spaces. The average and standard deviation of marked
groups are calculated. The average, the average + the std. dev.,
and the average - the std. dev. will be plotted. The standard
deviation will be written to output column data and to project
There is more stuff to explain. I have not discussed macros, plot
multipliers, clamps, phase corrections, Cromer-Liberman normalization,
hints, the Plot and Mark menus, data preprocessing, detector data,
pluck buttons, autobk standards, feff data, and a few other things.
But hopefully this is enough to get people started until I write a
Bruce Ravel ----------------------------------- ravel at phys.washington.edu
U.S. Naval Research Laboratory, Code 6134 phone: (1) 202 767 5947
Washington DC 20375, USA fax: (1) 202 767 1697
NRL Synchrotron Radiation Consortium (NRL-SRC)
Beamlines X11a, X11b, X23b, X24c, U4b
National Synchrotron Light Source
Brookhaven National Laboratory, Upton, NY 11973
My homepage: http://feff.phys.washington.edu/~ravel
EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/
More information about the Ifeffit