International
Tables for
Crystallography
Volume I
X-ray absorption spectroscopy and related techniques
Edited by C. T. Chantler, F. Boscherini and B. Bunker

International Tables for Crystallography (2024). Vol. I. ch. 6.24, pp. 848-850
https://doi.org/10.1107/S1574870720003493

Chapter 6.24. XFIT

James R. Hestera* and Richard F. Garretta

aAustralian Nuclear Science and Technology Organisation, Locked Bag 2001, Kirrawee DC, NSW 2232, Australia
Correspondence e-mail:  [email protected]

XFIT is a comprehensive suite for EXAFS data reduction, processing and model fitting on Windows computers, and is capable of handling multiple absorbing environments and data sets. It uses the FEFF package for model calculations and was designed for general EXAFS data analysis. Realistic uncertainty estimates are available using built-in Monte Carlo analysis. The interface is intuitive, fast and easy to use.

Keywords: XFIT.

1. Description

XFIT is a software package for processing and modelling EXAFS data. The three graphical programs provided in the XFIT distribution can merge raw data (Average), reduce and process data (Spline) and fit EXAFS data (Xfit). Average merges an arbitrary number of channels from ionization and fluorescence detectors, with interactive inspection and rejection of channels. Average, as distributed, automatically recognizes a selection of input data formats popular at the time of development and outputs a text file arranged in columns with a simple header.

Spline reads the absorbance data file output by Average and provides four interactive plots showing sequential steps in the data-processing pipeline: (i) the input data, (ii) the data following pre-edge background removal (`normalized absorbance'), (iii) the XAFS and (iv) the modulus of the Fourier-transformed XAFS. In the first plot, the pre-edge background is fitted to a splined polynomial function between limits indicated by the user; this polynomial is then extrapolated and subtracted from the whole data set, and the edge step scaled to 1.0, to obtain the normalized absorbance. A further spline is then fitted to this post-edge normalized absorbance data to model the smooth variation in post-background absorbance, with agreement between the spline and data weighted by k3 to compensate for the smaller magnitude of XAFS oscillations at higher energies. Both the input data plot and the normalized absorbance plot allow the interactive addition and dragging of spline points of arbitrary order, as well as the addition of control points to influence the spline curve outside the fitting limits. The effect of adjustments of these spline points is instantly reflected in the remaining plots, giving feedback on the viability of the data processing by allowing inspection of the Fourier transform for nonphysical low-R peaks. The XAFS data following subtraction of the XAFS spline curve is optionally divided by the normalized background absorbance owing to the edge, estimated using the expression μ0,normalized = λ3(C1C2) − λ4(D1D2), where λ is the X-ray wavelength and {C1, C2, D1, D2} are the Victoreen coefficents as tabulated in International Tables for Crystallo­graphy (Milledge, 1962link to reference).

Xfit takes the XAFS data and refines the model parameters. Models are built and refined in Xfit using a versatile set of commands entered into a terminal window, with the current structural model displayed graphically in a separate interactive window. Xfit allows the joint refinement of multiple data sets and the refinement of multiple distinct atomic sites for an absorbing atom. The quantity minimized during the fit isMathematical equationwhere w is the weighting factor and χobs and χcalc are the filtered observed and filtered calculated EXAFS curves, respectively. Fig. 1link to figure shows how the filtered curves are obtained. The EXAFS curve determined by Spline or from the model is first weighted by kn and then multiplied by a windowing function. This spectrum is Fourier-transformed and again windowed before final inverse Fourier transformation. Both n and the windowing function may be chosen by the user.

[Figure 1]

Figure 1

Fourier filtering in XFIT. Illustration taken from Ellis (1996link to reference).

Constraints and restraints in Xfit are included as an additional contribution to Mathematical symbol, Mathematical equationwhereMathematical equationwith Δrestraint = 0 for complete agreement. σrestraint measures the significance of the disagreement and is unity unless provided by the user.

Monte Carlo error analysis of the final fitted parameters is conducted by generating a number of synthetic data sets (by default 16) based on the smoothed EXAFS augmented with random Gaussian noise. The model is re-refined for each synthetic data set and the spread in parameter values is used to estimate uncertainty. The noise profile and smoothed EXAFS data set are calculated by applying a low-pass filter to the data and defining the noise as the difference between the smoothed data and the original data.

Further details of the models and expressions used are provided in Ellis & Freeman (1995link to reference) and Ellis (1996link to reference).

2. Implementation

XFIT is built around a set of portable C++ libraries for EXAFS-related manipulations. These libraries are called by routines written in the custom version of Pascal implemented by the commercial Delphi rapid application development environment (Borland Software Corporation, 2002link to reference). The Delphi compiler combined these Pascal routines with user-interface description files to produce the final Microsoft Windows executables. The original distribution used FEFF4.06 and FEFF6.01 (Kas et al., 2024link to reference) for model calculations, with a later incremental release adding FEFF8 support. Additional raw data formats are added by creating C/C++ libraries conforming to a simple interface and placing them in a standard directory; that is, no recompilation of the whole application is required. Sample input library source code is provided with the distribution.

3. Historical background

XFIT was originally developed for the Silicon Graphics IRIX environment and was described in Ellis & Freeman (1995link to reference). Following the construction of a dedicated Australian synchrotron beamline [the Australian National Beamline Facility (ANBF) at the Photon Factory, Japan], the original author was commissioned to port the software to the Windows 95 operating system, after which the package was made freely available to Australian scientists and a small charge was levied for non-Australian users. Approximately 50 copies were distributed in total, with just over half going to Australian users and the remainder spread across the rest of the world. When the original author retired from maintaining XFIT, an ANBF staff member (James Hester) took over maintenance tasks. Subsequent releases included support for new ANBF data formats, FEFF8 and a port of Average to the cross-platform wxWindows graphical toolkit (Smart et al., 2006link to reference). After the closure of the ANBF, ownership of XFIT was transferred to the newly opened Australian Synchrotron and the source code was released to the public. XFIT is no longer actively maintained. The source code can be found at https://github.com/AustralianSynchrotron/xfit and https://github.com/AustralianSynchrotron/average-wxwin .

References

First citationBorland Software Corporation (2002). Developer's Guide: Borland Delphi 7 for Windows. Borland Software Corporation, Scotts Valley, California, USA.Google Scholar
First citationEllis, P. J. (1996). PhD thesis. The University of Sydney, Australia.Google Scholar
First citationEllis, P. J. & Freeman, H. C. (1995). J. Synchrotron Rad. 2, 190–195.Google Scholar
First citationKas, J. J., Vila, F. D. & Rehr, J. J. (2024). Int. Tables Crystallogr. I, ch. 6.8, 764–769 .Google Scholar
First citationMilledge, H. J. (1962). International Tables for X-ray Crystallography, Vol. III, edited by C. H. Macgillavry & G. D. Rieck, pp. 171–173. Birmingham: The Kynoch Press.Google Scholar
First citationSmart, J., Hock, K. & Csomor, S. (2006). Cross-Platform GUI Programming With wxWidgets. Upper Saddle River: Prentice Hall.Google Scholar








































to end of page
to top of page