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.
Metadata
Release files for nano-arpes-browser 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nano_arpes_browser-0.2.tar.gz | 32.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nano_arpes_browser-0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.1 kB
Release files / nano_arpes_browser-0.2.tar.gz
| Download URL | nano_arpes_browser-0.2.tar.gz |
|---|---|
| Size | 32.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
991c5b0451d75aa9cecc9510a92d14186704bf07a2c5727eaa32c8544a87c31c
|
|
BLAKE2b-256 checksum How to use checksums |
9dcf30604b2f2738f26c51efdeae2c911a4b862e659fee2d9c23f7d0b4aadb16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.9
|
Release files / nano_arpes_browser-0.2-py3-none-any.whl
| Download URL | nano_arpes_browser-0.2-py3-none-any.whl |
|---|---|
| Size | 36.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df89a74f2abaf21d89c2a9afffcaf93b0b17be1f0d2ad2639008e9176f492a98
|
|
BLAKE2b-256 checksum How to use checksums |
1178e3a12e8ca46b11430c7ace5cac9be3be6dac214679d11391694a0d25a070
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.9
|
Security for nano-arpes-browser 0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.