Left Image

Jeff Terry

Illinois Institute of Technology

Vice Provost for Research

Professor of Physics

Professor of Mechanical, Materials, and Aerospace Engineering

Editor, Applied Surface Science

Current CV
Right Image

EXAFS Neo

EXAFS Neo is a graphical environment for Extended X-ray Absorption Fine Structure analysis. It combines file input, FEFF path selection, genetic-algorithm fitting, Larch-based preprocessing, plotting, and post-fit analysis in a single interface.

Documentation and software links: EXAFS Neo GUI Manual and EXAFS Neo GitHub Repository.

Overview

EXAFS Neo was developed as a practical GUI-centered workflow for EXAFS fitting. The program is organized into tabs that guide the user from initial setup through optimization, plotting, and final analysis. The interface includes controls for the input data file, FEFF folders, population and mutation settings, path selection, Larch parameters, background plots, batch processing, and expert solver options.

The software supports Windows through WSL2, native Linux installation, and macOS using a full Conda installation together with XQuartz for X11 support.

Installation
Windows

The recommended Windows installation uses WSL2 so EXAFS Neo runs in a Linux environment with GUI support.

wsl --install
sudo apt update
sudo apt install python3 python3-pip pipx -y
pipx ensurepath
pipx install exafs_neo
exafs_neo_gui &
Linux

On Linux, EXAFS Neo can be installed directly using pipx or inside a Python virtual environment.

pipx ensurepath
pipx install exafs_neo
exafs_neo_gui &
macOS

On macOS, it is best to install the full version of Conda and use XQuartz for X11 support.

conda create -n exafsneo python=3.11 -y
conda activate exafsneo
pip install exafs_neo
exafs_neo_gui &

Start XQuartz before launching the GUI. The trailing ampersand keeps the terminal active so fitting progress and status messages remain visible during the run.

Why use the terminal?

During fitting, the terminal reports validation warnings, runtime progress, solver status, and file-writing messages. Launching with exafs_neo_gui & keeps those updates visible while the GUI is running.

Main Interface

The GUI is organized into the following tabs:

Recommended Workflow
  1. Install EXAFS Neo for your operating system and confirm that the GUI launches correctly.
  2. Select the data file, output file, and FEFF path folders in the Inputs tab.
  3. Set population, generation, and mutation parameters.
  4. Review the selected FEFF paths and any path optimization options.
  5. Set the Larch preprocessing parameters such as k-range, k-weight, and background values.
  6. Inspect spectra in the Background Plots tab.
  7. Run a single fit or generate multiple perturbed input files for repeated fitting.
  8. Use the Analysis tab to compare results and prepare publication-ready outputs.