nano-ARPES data browser and analysis tool
Project description
Nano-ARPES Browser
A lightweight PyQt application for browsing and exporting nano-/micro-ARPES 4D
datasets from synchrotron beamlines. Current file support is focused on
ANTARES / SOLEIL NeXus-HDF5 data with the expected
salsaentry_1/scan_data/... layout.
The app is built for quick inspection: select a point on the spatial map, view
the local ARPES spectrum, optionally display the spectrum in k_parallel, and
export the map, spectrum, selected 4D region, or full dataset.
Install
For regular use, install from PyPI:
pip install nano-arpes-browser
nano-arpes-browser
With uv:
uv tool install nano-arpes-browser
nano-arpes-browser
Requires Python 3.10 or newer.
Main Workflow
- Open an ANTARES / SOLEIL
.nxs,.h5, or.hdf5file. - Use the crosshair on the spatial map to choose a position.
- Inspect the corresponding angle-energy ARPES spectrum.
- Optionally enable spatial integration or k-space display.
- Export the current map, current spectrum, selected region, or full dataset.
What the App Shows
Internal data shape is:
(y, x, angle, energy)
The spatial image is displayed as rot90(sum over angle and energy). The raw
ANTARES X index is reversed internally; conversion between display X and data X
is handled by the dataset model.
Main views:
- Spatial Map: integrated intensity over the full spectrum or selected ROI.
- ARPES Spectrum: spectrum at the selected point or integrated spatial box.
Features
- Interactive spatial map crosshair.
- ARPES spectrum viewer with rectangular ROI selection.
- ROI-based spatial map updates in angle-energy or k-energy mode.
- Optional spatial integration around the current position.
- Basic angle to
k_parallelconversion. - CSV and Igor Pro
.itxexport paths.
Export Options
- Spatial Map: current displayed map as
.csvor Igor.itx. - Spectrum: current displayed spectrum as
.csvor Igor.itx. - Selected Region: compact Igor
.itxexport of a spatial subset, includingregion_4d,region_spatial,region_spectrum, axes, and center position. - Full Dataset: Igor
.itxexport of the full cube and axes. Use only when you need the entire dataset.
Physics Notes
K-space display uses the simple 1D relation:
k_parallel [A^-1] = 0.5123167 * sqrt(E_kin [eV]) * sin(theta)
The zero-angle offset can be adjusted in the GUI. Full geometry correction, including sample/analyzer tilt, is not yet included.
Supported Data
Currently supported loader:
- ANTARES / SOLEIL NeXus-HDF5 files with
salsaentry_1/scan_data/...paths.
If another beamline or HDF5 convention is needed, include the file tree, axis metadata locations, and geometry assumptions when opening an issue.
Development
git clone https://github.com/senkovskiy/nano-arpes-browser
cd nano-arpes-browser
make install
make run
Useful commands:
make test # run pytest
make lint # run Ruff
make format # format with Ruff
make typecheck # run mypy
make build # build package
Documentation
- Architecture and data-flow diagrams: docs/ARCHITECTURE_DIAGRAM.md
Linux Notes
Qt on Linux may require the xcb platform plugin dependencies:
sudo apt update
sudo apt install -y libxcb-cursor0
If Qt still fails to start, also install:
libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0.
License
MIT. See pyproject.toml.
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 nano_arpes_browser-0.2.tar.gz.
File metadata
- Download URL: nano_arpes_browser-0.2.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
991c5b0451d75aa9cecc9510a92d14186704bf07a2c5727eaa32c8544a87c31c
|
|
| MD5 |
7347b6d879b07d94a1028aad1c808424
|
|
| BLAKE2b-256 |
9dcf30604b2f2738f26c51efdeae2c911a4b862e659fee2d9c23f7d0b4aadb16
|
File details
Details for the file nano_arpes_browser-0.2-py3-none-any.whl.
File metadata
- Download URL: nano_arpes_browser-0.2-py3-none-any.whl
- Upload date:
- Size: 36.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df89a74f2abaf21d89c2a9afffcaf93b0b17be1f0d2ad2639008e9176f492a98
|
|
| MD5 |
1fbf27e18ac0d730dd0be86079ab4d67
|
|
| BLAKE2b-256 |
1178e3a12e8ca46b11430c7ace5cac9be3be6dac214679d11391694a0d25a070
|