Skip to main content

A photoelectron microspectroscopy/spectromicroscopy data analysis package

Project description

pyAthina

A lightweight PyQt6 + pyqtgraph skeleton for PEEM-style image-stack workflows.

Install

pip install -r requirements.txt

Run

Any of these should work from the extracted project folder:

python -m pyAthina.main
python -m pyAthina
python run_pyAthina.py

If you cd into the pyAthina/ subfolder itself, you can also run:

python main.py

Alignment modes

  • Phase correlation: translation-only drift correction with sub-pixel shift estimation.
  • Image registration: ECC-based registration on the ROI, with the estimated transform applied to the full image.
    • default: sub-pixel translation
    • optional: rotation
    • optional: scale
    • optional: skew

When scale or skew is enabled, the registration model becomes affine.

Z profile improvements

  • live ROI-driven z-profile updates while moving or resizing the ROI
  • standalone popup plot window
  • plot styling controls (grid, markers, line width)
  • export z-profile as TXT (x, y columns)
  • export plot as PNG

Line profile

  • Click Line profile using line ROI.
  • Then press and drag on the image to draw the line.
  • The popup profile updates when you move the line endpoints or change stack layer with the slider.
  • The profile width is controlled by Profile width (px) in the Profiles dock.

Xarray-backed import and axis metadata

The stack import layer creates an xarray.DataArray with dims (z, y, x).

No sample data or synthetic coordinate ranges are enabled by default. When file metadata is missing, pyAthina falls back to:

  • x: pixel index (0 .. nx-1)
  • y: pixel index (0 .. ny-1)
  • z: layer index (0 .. nz-1)

HDF5 metadata parsing helpers are included, but the final mapping of file metadata into domain-specific xarray attrs is intentionally left as a placeholder for user customization. Commented debug snippets remain in the codebase so synthetic data can be re-enabled temporarily when needed.

Multi-core alignment and headless cluster use

The alignment backend can now use multiple worker processes.

  • In the GUI, set Worker processes to 1 for the original serial path, or a larger value to use a process pool.
  • For headless cluster jobs, use:
python -m pyAthina.batch_align input.h5 aligned_stack.tif \
  --dataset-path /root/entry/instrument/tvips/data \
  --workers 8 \
  --reference-index 0 \
  --method image_registration

phase_correlation is also available with --method phase_correlation.

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

pyathina-0.1.1.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

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

pyathina-0.1.1-py3-none-any.whl (43.5 kB view details)

Uploaded Python 3

File details

Details for the file pyathina-0.1.1.tar.gz.

File metadata

  • Download URL: pyathina-0.1.1.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pyathina-0.1.1.tar.gz
Algorithm Hash digest
SHA256 75180eb2402e7bcc695652f14a13f5151335d1d7c6c3e0ea0d5441bfbb3ac031
MD5 d1b3171903c79b4790bbd0e6b4a78958
BLAKE2b-256 27acf3eed0a9620804e73a34e768d3aac46983e9823cbc953719db445e08f45b

See more details on using hashes here.

File details

Details for the file pyathina-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyathina-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 43.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pyathina-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e741ac5d6ef6e4d8ad6f6483d5573fb60e96a8a0733e8d364f15b7f5715f2dd9
MD5 eef69029e80a3af57e90118b012adb19
BLAKE2b-256 07d4a0c594600d5fcae82042e01b777d63a6b1ebae4db2ee850a0484c9d292f0

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