ARPES data analysis and visualization tool
Project description
ARpest
Angle Resolved Photoemission Electron Spectroscopy Tool
A modern, interactive GUI application for analysing ARPES (Angle-Resolved Photoemission Spectroscopy) data from multiple synchrotron beamlines. Coding or scripting is not needed.
Features
Core Capabilities
- Multi-beamline support: Load data from Diamond Light Source (I05) and MAX IV (Bloch)
- Multiple file formats:
.nxs,.zip,.ibw - 2D, 3D & 4D visualisation: Single cuts and photon energy/deflector angle scans
- Interactive visualisation: Real-time cursor tracking with live EDC/MDC updates
- Proces the data: Convert to k-space, correct the Fermi level based on a reference measurent etc.
- State management: Undo/redo functionality with complete processing history
- Analyse the data: Fit the process data
- Tabbed interface: Work with multiple datasets simultaneously
- Save dataset: Save and comeback where you where
Performance
- Optimized rendering for smooth visualisation
- Fast numpy slicing for data extraction
- In-place data updates
Installation
Requirements
- Python 3.7 or higher
- PyQt5
- NumPy
- SciPy
- h5py
- igor
- pyqtgraph
Quick Install
# Install ARpest from PyPI
pip install arpest
# Launch the GUI
arpest
Usage
Basic Workflow
-
Launch the application:
arpest
-
Configure settings:
- Click ⚙️ Settings to set default data directory
- Choose preferred colormap
- Settings persist between sessions
-
Load data:
- Click the 📂 Open File button in the toolbar
- Select your ARPES data file (
.nxs,.h5,.zip, or.ibw)
-
Interactive visualisation:
- Click & drag: Continuously update cuts in real-time
- 3D data: Use energy slider to navigate through different energy slices
-
Analyse and process the data:
- Apply data processing: Convert to k-space, correct the Fermi level based on a reference measurent and more
- Analyse by fitting the processed data: Fit EDC/MDC curves
Supported Beamlines
Diamond Light Source - I05
MAX IV - Bloch
Roadmap
- Additional beamline support (SLS, SOLEIL, etc.)
- Additional analysis methods
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License.
Citation
If you use ARpest in your research, please cite:
@software{arpest2025,
author = {Ola Kenji Forslund},
title = {ARpest: Interactive ARPES Data Analysis Tool},
year = {2025},
url = {https://github.com/OlaKenji/arpest}
}
Screenshots
3D Fermi Surface Mapping
Fermi surface with momentum cuts. Data from Phys. Rev. Lett. 134, 126602 (https://doi.org/10.1103/PhysRevLett.134.126602).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arpest-1.0.2.tar.gz.
File metadata
- Download URL: arpest-1.0.2.tar.gz
- Upload date:
- Size: 91.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8227627338d2f32142e07c4564703ba228c99cffc23aa7c58ddf14aa8e12124
|
|
| MD5 |
481d1a005ae483e4158cfe6ed2934406
|
|
| BLAKE2b-256 |
0d4f55a0d67f871d4b60d17d03a6b6373821c9ced54e45e928514b8dd3251b24
|
File details
Details for the file arpest-1.0.2-py3-none-any.whl.
File metadata
- Download URL: arpest-1.0.2-py3-none-any.whl
- Upload date:
- Size: 122.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57c3c02851fd91e63f23ee1687dc93269e800d5f9c3e9af3870bae33870c8916
|
|
| MD5 |
fb236b4d3f881669b2347d204786cfd8
|
|
| BLAKE2b-256 |
08c50008fe986fdee898c3e49ca4a9509939f45fd01cd6730c60e8614dbdf190
|