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
1for 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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75180eb2402e7bcc695652f14a13f5151335d1d7c6c3e0ea0d5441bfbb3ac031
|
|
| MD5 |
d1b3171903c79b4790bbd0e6b4a78958
|
|
| BLAKE2b-256 |
27acf3eed0a9620804e73a34e768d3aac46983e9823cbc953719db445e08f45b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e741ac5d6ef6e4d8ad6f6483d5573fb60e96a8a0733e8d364f15b7f5715f2dd9
|
|
| MD5 |
eef69029e80a3af57e90118b012adb19
|
|
| BLAKE2b-256 |
07d4a0c594600d5fcae82042e01b777d63a6b1ebae4db2ee850a0484c9d292f0
|