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.
Metadata
Release files for vibeels 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| vibeels-0.3.2.tar.gz | 1.1 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vibeels-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.2 MB
Release files / vibeels-0.3.2.tar.gz
| Download URL | vibeels-0.3.2.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f831ea99a3877e51d2ae74cdde36f23b82ca0728985b5cdec2221984c92cda2f
|
|
BLAKE2b-256 checksum How to use checksums |
f628ddedc1aec3cdb26706d2507aa2b09085d665a72a1778ba0949762fb34d08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / vibeels-0.3.2-py3-none-any.whl
| Download URL | vibeels-0.3.2-py3-none-any.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0af653aff544132072b080acfaa802f6f7316fbccc88427bbc66fbc79a108bc3
|
|
BLAKE2b-256 checksum How to use checksums |
45d9fd9c83bf310af5bc0c62df4db8702e42028b067b7b21aa796b4530596dd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Security for vibeels 0.3.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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.