feffit 0.1.0

Pure-Rust EXAFS toolkit — data reduction (pre-edge/normalize/AUTOBK), Fourier transforms, FEFF path fitting (feffit), and feff.inp build/run; a port of larch.xafs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! `xafsft` — a pure-Rust port of `xraylarch`'s `larch/xafs/xafsft.py`.
//!
//! XAFS Fourier transforms: forward `xftf` (chi(k) -> chi(R)), reverse `xftr`
//! (chi(R) -> chi(q)), the `*_fast` inner transforms, `xftf_prep`, and the FT
//! windows (`ftwindow`). The Kaiser-Bessel window uses a Cephes `I0` port for
//! parity with `scipy.special.i0`; FFTs use `rustfft` (agreeing with larch's
//! `scipy.fftpack` to FFT round-off).

pub mod bessel;
pub mod transform;
pub mod window;

pub use bessel::i0;
pub use transform::{
    XftfOut, XftrOut, fft_padded, ifft_padded, xftf, xftf_fast, xftf_prep, xftr, xftr_fast,
};
pub use window::{Window, ftwindow};