S
i
t
e

m
a
p
Main Page
Downloads
Contributions
Documents
Change Logs
Reporting bugs
Bruce's homepage

I
F
E
F
F
I
T
IFEFFIT Homepage
IFEFFIT Wiki
Bruce's Wiki page
IFEFFIT mailing list
IFEFFIT FAQ
xafs.org

X
A
S

S
o
f
t
w
a
r
e
ATHENA
ARTEMIS
HEPHAESTUS
DEMETER
ATOMS
SixPack
WebATOMS
ATOMS database
XAS File Format
EASE
SourceForge

Q
&
A
How is IFEFFIT used by ATHENA and ARTEMIS?
What is IFEFFIT worth to you?
Do you have a question about using WinXAS?

R
e
f
e
r
e
n
c
e
s

ATHENA, ARTEMIS, HEPHAESTUS: B. Ravel & M. Newville J. Synchrotron Rad. (2005), 12:4, pp. 537-541.

IFEFFIT: M. Newville J. Synchrotron Rad. (2001) 8, 322-324

ATOMS: B. Ravel J. Synchrotron Rad. (2001) 8, 314-316

FEFF: J.J. Rehr & R.C. Albers, Rev. Mod. Phys. (2000) 72, 621-654

Using IFEFFIT in GUI applications

The programs ATHENA, ARTEMIS, and (to a lesser extent) HEPHAESTUS rely upon Matt Newville's IFEFFIT for much of their functionality. The purpose of this web page is to explain the relationship between IFEFFIT and the programs that use it.

IFEFFIT is a library that provides numerical functionality and an interface to a plotting utility. It is written with particular attention to the numerical needs of EXAFS analysis. For example, IFEFFIT provides special functions for fitting splines to data, doing Fourier transforms, and fitting EXAFS data using theory from FEFF as the fitting standards. IFEFFIT also provides special functionality that is more broadly useful, such as an infix math language, file input/output, array manipulation, and minimization of arbitrary functions.

ATHENA and ARTEMIS rely upon IFEFFIT for almost everything numerical. If you find that these programs do a good job of removing background splines from mu(E) data or fitting FEFF theory to your data, it is because of the exceptional library written by Matt. The math language capabilities of the IFEFFIT library deserve particular attention. The powerful modeling capabilities available in ARTEMIS for describing your data are handled entirely by the IFEFFIT library.

ATHENA and ARTEMIS were written to provide a friendly and functional interface to the powerful capabilities of the IFEFFIT library. In it's native form, IFEFFIT accepts textual commands as it's input. That is, the user provides typewritten instructions for how to read in data files, manipulate the data, perform data analysis, and plot the results. While all the capabilities of IFEFFIT are available via this command line interface, it is useful to provide some kind of graphical structure for interacting with IFEFFIT.

This, then, is the purpose of ATHENA and ARTEMIS. They provide a graphical way of organizing large quantities of data and of generating sequences of IFEFFIT commands which may be quite long and complicated. In essence, ATHENA and ARTEMIS are highly specialized bookkeeping programs which rely almost entirely upon IFEFFIT to do real work.

As good as GUIs might be, they are always limited to doing only the things for which there are buttons or menu items. If you need to do something beyond the scope of the GUI, usually you are sunk. Fortunately, that is not quite the case with ATHENA and ARTEMIS. Each program provides a way of interacting directly with IFEFFIT via a command line implemented as a text entry box. Any arbitrary IFEFFIT command can then be interspersed with the commands generated by the GUI.

You, the user, may also find it useful to interact with IFEFFIT without using ATHENA and ARTEMIS. This can be done in a variety of ways:

In a recent paper, Appl. Phys. Lett. 81:15 p. 2812, all of the analysis I show was performed using IFEFFIT without using ATHENA or ARTEMIS in any capacity. I wrote a variety of scripts which made extensive use of IFEFFIT's splendid minimize command. The Lorentzian fit in Figure 2 and the fit to the energy dependent diffraction data in Figure 4a both involved IFEFFIT's minimize command.

Matt provides extensive documentation on how to use IFEFFIT directly. Check out Matt's documentation page. The Reference Manual, in particular, is my constant companion when I am coding up new stuff for my codes.



Some people decided to make knowledge into property. That wasn't capitalism speaking; that was a greedy scam. There wasn't anything normatively acceptable about it. It contravened the freedom of speech and ideas. We [don't] engage in it because it [excludes] people from ideas.

Eban Moglan, General Counsel, Free Software Foundation

Creative Commons License
This web site is licensed under
a Creative Commons License.

Tools used to create this site include:
[Created by XEmacs!]     [Created with the Template Toolkit!]
Time-stamp: <01 October, 2005>
This page copyright © 2007 Bruce Ravel

Support Amnesty International
*Support the American Civil Liberties Union
Support The Electronic Frontier Foundation

BoingBoing guide to defeating censorware