PyQt application for vibrational EELS spectrum extraction and zero-loss calibration
Project description
vibeels
vibeels is a PyQt6 application for extracting and calibrating vibrational electron energy-loss spectroscopy (EELS) spectra. It supports map-based and snapshot-stack workflows, with zero-loss peak (ZLP) alignment and calibrated spectrum export.
Status
vibeels is under active development. Review results carefully before using them in published analysis.
Features
Signal1D2D map workflow with multiple polygon ROIs.Signal2Dsnapshot-stack workflow with a single rectangular detector-band ROI.- Shared plot controls for zoom, ROI editing, zoom-out, and ROI clearing.
- Intensity masking using a full-map histogram for 2D map data.
- Per-spectrum ZLP fitting, alignment, and calibrated summed spectra.
- Raw and aligned snapshot previews with independent zoom control.
- Export of spectra, masks, figures, parameters, and reproducibility bundles.
- Session saving and restoration.
- Runtime application icon support on macOS and Windows.
Installation
From PyPI
After the package is published to PyPI:
python -m pip install vibeels
From source
git clone https://github.com/shdshim/vibeels.git
cd vibeels
python -m pip install -e .
For a conda-based workflow, create and activate an environment first:
conda create -n vibeels python=3.11
conda activate vibeels
python -m pip install -e .
How to use
- Launch the application and load an EELS dataset with
Load EELS DM3/DM4. - If needed, load a reference image in the
Imagetab. - Use the shared plot controls above the figures:
Zoom: mouse zoom behavior for all four main plots.ROI: ROI editing on the top-left raw-data plot.Zoom Out: reset zoom for all four main plots.Clear ROI: remove the active ROI selection.
- For
Signal1Dmap data, use the2D Maptab:- draw one or more polygon ROIs on the top-left map preview.
- adjust the map energy range.
- use the full-map intensity histogram to set the mask range.
- click
Apply ROI / Alignmentto extract, align, and sum all spectra inside any polygon and inside the intensity range.
- For
Signal2Dsnapshot-stack data, use the1D Spottab:- draw or set one rectangular detector-y ROI.
- set the snapshot range and snapshot index.
- click
Apply ROI / Alignmentto align snapshots and build the summed spectrum.
- Inspect the
Calibrationtab to review the ZLP fit, FWHM, calibrated spectrum, and previews. - Save selected spectra in the
Savedtab, export the processed bundle, or save the session state for later review.
ROI and Plot Controls
- 2D map mode allows multiple polygon ROIs. Pixels inside any polygon are included.
- 1D snapshot mode allows one rectangular detector-y ROI.
- In 2D map mode, the intensity histogram always represents the full integrated image, not only the ROI pixels.
- Right-click in
Zoommode resets only the clicked plot. - Right-click inside an ROI in
ROImode clears that ROI. - Zoom state is preserved during ROI changes and snapshot navigation unless
Zoom Outor right-click zoom reset is used.
Outputs
Exports include:
- calibrated spectra
- selected masks and preview images
- ZLP fit data
- processing parameters
- reproducibility scripts and figures
- saved session state
Run
python -m vibeels
If installed from the package entry point:
vibeels
Build distribution
python -m pip install build twine
python -m build
python -m twine check dist/*
Release Metadata
- Package name:
vibeels - Current version:
0.3.1 - Repository: https://github.com/shdshim/vibeels
- Changelog:
CHANGELOG.md
Citation
If you use vibeels in research, cite the software using the metadata in CITATION.cff.
License
This project is distributed under the MIT License. See LICENSE.
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 vibeels-0.3.1.tar.gz.
File metadata
- Download URL: vibeels-0.3.1.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd1286d235a6916527eeaf1d8b0e84aec18ce19cb07f201d74aad3f326e96676
|
|
| MD5 |
073e796982e12c73ca1a7875bb08d5b8
|
|
| BLAKE2b-256 |
359f86aa3ac03cd9324e8bc0d5c0ecf7e9cacf54a46623e8595a7c891406ed31
|
File details
Details for the file vibeels-0.3.1-py3-none-any.whl.
File metadata
- Download URL: vibeels-0.3.1-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
134cfffcba8c3701012ee89d35b6b6cb01e33cc345aaab80532617e40b36236c
|
|
| MD5 |
dd6199dad32b03ed5ba48a17e44d311d
|
|
| BLAKE2b-256 |
c529b10a32585e9f8d18beb8bdc8d303cd9f4c58d7aae7a57c683a415ff0eaa0
|