ARPES data analysis and visualization tool
Project description
ARpest
Angle-Resolved Photoemission Electron Spectroscopy Tool
A modern, interactive Python application for analysing ARPES (Angle-Resolved Photoemission Spectroscopy) data from multiple synchrotron beamlines.
Features
Core Capabilities
- Multi-beamline support: Load data from Diamond Light Source (I05) and MAX IV (Bloch)
- Multiple file formats:
.nxs,.h5,.zip,.ibw - 2D & 3D visualisation: Single cuts and photon energy/deflector angle scans
- Interactive analysis: Real-time cursor tracking with live EDC/MDC updates
- State management: Undo/redo functionality with complete processing history
- 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 (no memory reallocation)
- Efficient rendering for large datasets
Installation
Requirements
- Python 3.7 or higher
- PyQt5
- NumPy
- SciPy
- h5py
- igor (optional, for
.ibwfiles) - pyqtgraph
Quick Install
# Install a Qt backend (PyQt5)
pip install PyQt5
pip install pyqtgraph
# Optional: install igor for IBW file support
pip install igor
# Install ARpest from PyPI
pip install arpest
# Launch the GUI
arpest
Usage
Basic Workflow
-
Launch the application:
arpest
-
Load data:
- Click the 📂 Open File button in the toolbar
- Select your ARPES data file (
.nxs,.h5,.zip, or.ibw)
-
Interactive analysis:
- Apply data processing: Convert to k-space, correct the Fermi level based on a reference measurent and more
- Click & drag: Continuously update cuts in real-time
- 3D data: Use energy slider to navigate through different energy slices
-
Configure settings:
- Click ⚙️ Settings to set default data directory
- Choose preferred colormap
- Settings persist between sessions
Supported Beamlines
Diamond Light Source - I05
MAX IV - Bloch
Roadmap
- Additional beamline support (SLS, SOLEIL, etc.)
- Additional Data processing operations
- Export processed data
- Analysis plugins system
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 - see the LICENSE file for details.
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
2D Single Cut Analysis
Interactive band structure visualization with EDC and MDC
3D Fermi Surface Mapping
Fermi surface with momentum cuts
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.1.tar.gz.
File metadata
- Download URL: arpest-1.0.1.tar.gz
- Upload date:
- Size: 74.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59128bb4fac74e966f866d63d39259153d74faa062d1ce886e741339c9ca11c7
|
|
| MD5 |
ac3bcbfca93becb06f65432ca6a5cb56
|
|
| BLAKE2b-256 |
7c7b79d97270cc8928e2f527807af53d480856c37f6375af374a756bc467a1ff
|
File details
Details for the file arpest-1.0.1-py3-none-any.whl.
File metadata
- Download URL: arpest-1.0.1-py3-none-any.whl
- Upload date:
- Size: 99.0 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 |
9c14b8f954cb52f0bb763120554ec19784b59382c775deb89ca6293d04ad0ec7
|
|
| MD5 |
3427d493de2b89a85b00db91a6280fad
|
|
| BLAKE2b-256 |
06379f3f52597e02ce002cd3458ef88c7a84fc19ecd20a094640a88a351d6abe
|