International
Tables for Crystallography Volume I X-ray absorption spectroscopy and related techniques Edited by C. T. Chantler, F. Boscherini and B. Bunker © International Union of Crystallography 2024 |
International Tables for Crystallography (2024). Vol. I. ch. 6.24, pp. 848-850
https://doi.org/10.1107/S1574870720003493 XFIT^{a}Australian Nuclear Science and Technology Organisation, Locked Bag 2001, Kirrawee DC, NSW 2232, Australia 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. |
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 k^{3} 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}(C_{1} − C_{2}) − λ^{4}(D_{1} − D_{2}), where λ is the X-ray wavelength and {C_{1}, C_{2}, D_{1}, D_{2}} are the Victoreen coefficents as tabulated in International Tables for Crystallography (Milledge, 1962).
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 iswhere w is the weighting factor and χ_{obs} and χ_{calc} are the filtered observed and filtered calculated EXAFS curves, respectively. Fig. 1 shows how the filtered curves are obtained. The EXAFS curve determined by Spline or from the model is first weighted by k^{n} 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.
Constraints and restraints in Xfit are included as an additional contribution to , wherewith Δ_{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 (1995) and Ellis (1996).
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, 2002). 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., 2024) 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.
XFIT was originally developed for the Silicon Graphics IRIX environment and was described in Ellis & Freeman (1995). 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., 2006). 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
Borland Software Corporation (2002). Developer's Guide: Borland Delphi 7 for Windows. Borland Software Corporation, Scotts Valley, California, USA.Google ScholarEllis, P. J. (1996). PhD thesis. The University of Sydney, Australia.Google Scholar
Ellis, P. J. & Freeman, H. C. (1995). J. Synchrotron Rad. 2, 190–195.Google Scholar
Kas, J. J., Vila, F. D. & Rehr, J. J. (2024). Int. Tables Crystallogr. I, ch. 6.8, 764–769 .Google Scholar
Milledge, 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
Smart, J., Hock, K. & Csomor, S. (2006). Cross-Platform GUI Programming With wxWidgets. Upper Saddle River: Prentice Hall.Google Scholar