Skip to main content

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.

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.

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

nano_arpes_browser-0.2.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nano_arpes_browser-0.2-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

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

Hashes for nano_arpes_browser-0.2.tar.gz
Algorithm Hash digest
SHA256 991c5b0451d75aa9cecc9510a92d14186704bf07a2c5727eaa32c8544a87c31c
MD5 7347b6d879b07d94a1028aad1c808424
BLAKE2b-256 9dcf30604b2f2738f26c51efdeae2c911a4b862e659fee2d9c23f7d0b4aadb16

See more details on using hashes here.

File details

Details for the file nano_arpes_browser-0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nano_arpes_browser-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 df89a74f2abaf21d89c2a9afffcaf93b0b17be1f0d2ad2639008e9176f492a98
MD5 1fbf27e18ac0d730dd0be86079ab4d67
BLAKE2b-256 1178e3a12e8ca46b11430c7ace5cac9be3be6dac214679d11391694a0d25a070

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page