9. XAFS AnalysisΒΆ

One of the primary motivations for Larch was processing XAFS data. Larch was originally conceived to be version 2 of Ifeffit (Newville [12]), replacing and expanding all the XAFS analysis capabilities of that package. XAFS Analysis can generally be broken into a few separate steps: This replacement is essentially complete insofar as all the main functionality of Ifeffit is available in Larch. There may still be a few minor features of Ifeffit that are not yet available, and some functionality to port from Athena (Ravel and Newville [16]) back to the core library. In addition, there are some minor differences in implementation details, so that slightly different numerical results may be obtained. Importantly, several features are available with Larch that were not available with Ifeffit 1.2 and some small errors in Ifeffit 1.2 have been fixed.

  1. Reading in raw data.
  2. Making corrections to the data, and converting to \(\mu(E)\)
  3. Pre-edge background removal and normalization.
  4. Interpreting normalized \(mu(E)\) as XANES spectra
  5. Post-edge background removal, conversion to \(\chi(k)\)
  6. XAFS Fourier Transform to \(\chi(R)\)
  7. Reading and processing FEFF Paths from external files.
  8. Fitting XAFS \(\chi(k)\) to a sum of FEFF paths.

The XAFS-specific functions in Larch follow these general steps. They are all kept in the _xafs Group, which can be easily accessed, as this is in the default search path.