[Ifeffit] An Athena mini-tutorial

Bruce Ravel ravel at phys.washington.edu
Mon Mar 11 09:38:11 CST 2002

Hi folks,

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
  mouse clicks.

  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
  specific parameter.

***** 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.

***** Palettes

  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.

***** Deglitching

  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.

***** Aligning

  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

  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
proper document/tutorial.


 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 mailing list