Skip to main content

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.

Nano-ARPES Browser screenshot

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

  1. Open an ANTARES / SOLEIL .nxs, .h5, or .hdf5 file.
  2. Use the crosshair on the spatial map to choose a position.
  3. Inspect the corresponding angle-energy ARPES spectrum.
  4. Optionally enable spatial integration or k-space display.
  5. 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_parallel conversion.
  • CSV and Igor Pro .itx export paths.

Export Options

  • Spatial Map: current displayed map as .csv or Igor .itx.
  • Spectrum: current displayed spectrum as .csv or Igor .itx.
  • Selected Region: compact Igor .itx export of a spatial subset, including region_4d, region_spatial, region_spectrum, axes, and center position.
  • Full Dataset: Igor .itx export 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

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)

Source distribution for nano-arpes-browser 0.2
File Size Uploaded Provenance
nano_arpes_browser-0.2.tar.gz 32.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nano-arpes-browser 0.2
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page