wtEXAFS is an Windows GUI for wavelet transformation of EXAFS
It is highly recommended to create a new environment in PyCharm
to run wtEXAFS.
- Windows10 x64
- Python >= 3.7
- matplotlib == 3.5.1
- numpy == 1.21.5
- pywin32 == 303
It is noted that wtEXAFS needs to run on Windows 10 (x64).
-
If
git
is existed, simply clone the repository:git clone https://github.com/Himmelspol/wtEXAFS.git
-
Otherwise, download the ZIP file of the repository and unzip it.
-
Download Python (64-bit) from https://www.python.org/downloads/
-
Select "Add Python 3.X to PATH" and install Python with "Customize installation" mode
-
On "Advanced Options" page, choose "Install for all users" and install
-
After successful installation, press Win + R and open command line window (cmd), then change directory to where " wtEXAFS" resides, for example:
D: cd D:\test\wtEXAFS
-
Install requirements in cmd as following:
pip install -r requirements.txt
-
Run "main.py" in cmd as following:
python main.py
- Open the project "wtEXAFS"
- Set python interpreter (python version: >= 3.7.9)
- Install requirements if necessary
- Run "main.py" in the root directory to use the GUI
- Download the packaged files from (one of the three):
- There are two types of file on the cloud:
- Download wtEXAFS-XXX.zip, unzip it, find wtEXAFS.exe in the folder and double-click to run
- Download wtEXAFS-XXX.exe, double-click to run (relatively slow)
See guide_for_wtEXAFS.pdf for more details.
-
Open *.txt/.chi file containing at least two column, one column is k, the other column is chi(k):
#------------------------------------- # k chi 0 0.0001 0.5 0.0002
-
*.chi file (.chi/.chi1/.chi2/.chi3) is a kind of EXAFS output file extracted from ATHENA (https://bruceravel.github.io/demeter/documents/Athena/index.html)
-
In this mode, the user can specify in the input box the row where the data starts and the column where k, chi( k) resides
-
Select
Confirm and show selected data
to refresh content display box -
Select
Continue and close this window
-
Only open *.chi file containing at least two column, one column is k, the other columns are different chi(k)
-
In this mode, the user can specify in the input box the row where the data starts and the column where k, chi( k) resides. For chi(k) column, enter
SPACE
to separate different column:# The numbers below represent different columns 3 4 5 6 7 8 9
-
Other operations are the same as Single file mode
- If the imported data itself is k-weighted (e.g., k^3chi(k)), select
k-weight
to 0 - If the imported data is not k-weighted, select
k-weight
from 1, 2, and 3 - Click
Accept k-weight
and then the user canShow k-weighted data
- Click
Next step
for next step
- Enter kmin/kmax/dk, Rmin/Rmax/dR in the input box
- Enter Sigma/Eta in Morlet wavelet input box and then
Accept
it - Or Enter n in Cauchy wavelet input box and then
Accept
it - Then the user can
Show wavelet
- kmin and kmax must be within the data range
- Rmin must be > 0
- Sigma and Eta must be > 0
- n must be > 1
- if not sure, default value is ok
- If the input dK does not match the imported data, interpolation will be automatically performed
-
Click
Start WT
to start calculation (usually takes 3 to 5s) -
Then the user can
Show WT result
orSave WT result
-
The output file is a TXT file, with internal structure as following:
# k_value R_value wavelet_coef(column3) wavelet_coef(column4) ...# This line will not display in the *.txt 0.00000 0.50000 0.013305 0.012805 0.05000 0.50000 0.013314 0.012963 0.10000 0.50000 0.013400 0.013002
-
If needed, Click
Start inverse WT
to reconstruct EXAFS spectra according to wavelet type and WT result- If multi-column mode was usd, only one spectral result can be displayed at a time. And the user can choose which one to display
Hi everyone, I am a beginner of XAFS and Python, and I noticed that there are not many GUI for EXAFS wavelet transformation yet. Thus, with the purpose of learning, I wrotethis GUI and hope it can help others :)
EXAFS is a powerful technique for detecting the local structure of different materials. Actually, EXAFS is a composite signal of electron waves, which is well suited for analysis using wavelet transform. Although it is difficult to gain quantitative results from wavelet transformation of EXAFS signal, wavelet transformation can still give more information to help us carry out k-space LCF, EXAFS modeling and so on.
- Ravel B. and Newville M. (2005) ATHENA, ARTEMIS, HEPHAESTUS: Data analysis for X-ray absorption spectroscopy using IFEFFIT. J. Synchrotron Radiat. 12, 537–541.
- Munoz M., Argoul P. and Farges F. (2003) Continuous cauchy wavelet transform analyses of EXAFS spectra: A qualitative approach. Am. Mineral. 88, 694–700.
- Funke H., Scheinost A. C. and Chukalina M. (2005) Wavelet analysis of extended x-ray absorption fine structure data. Phys. Rev. B - Condens. Matter Mater. Phys. 71, 1–7.
- Funke H., Chukalina M. and Scheinost A. C. (2007) A new FEFF-based wavelet for EXAFS data analysis. J. Synchrotron Radiat. 14, 426–432.
- Timoshenko J. and Kuzmin A. (2009) Wavelet data analysis of EXAFS spectra. Comput. Phys. Commun. 180, 920–925.
- Xia Z., Zhang H., Shen K., Qu Y. and Jiang Z. (2018) Wavelet analysis of extended X-ray absorption fine structure data: Theory, application. Phys. B Condens. Matter 542, 12–19.
- Arts L. P. A. and van den Broek E. L. (2022) The fast continuous wavelet transformation (fCWT) for real-time, high-quality, noise-resistant time–frequency analysis. Nat. Comput. Sci. 2, 47–58.
- https://www.esrf.fr/UsersAndScience/Experiments/CRG/BM20/Software/Wavelets
- http://perso.u-pem.fr/farges/wav/
- https://github.com/hellozhaoming/wtexfas
- https://github.com/wangmiaoX/wavelet-transform-exafs
- http://en.volupedia.org/wiki/Convolution