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.
vibeels is under active development. Review results carefully before using them in published analysis.
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.
After the package is published to PyPI:
python -m pip install vibeelsgit 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 .- 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.
- 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.
Exports include:
- calibrated spectra
- selected masks and preview images
- ZLP fit data
- processing parameters
- reproducibility scripts and figures
- saved session state
python -m vibeelsIf installed from the package entry point:
vibeelspython -m pip install build twine
python -m build
python -m twine check dist/*- Package name:
vibeels - Current version:
0.3.1 - Repository: https://github.com/shdshim/vibeels
- Changelog:
CHANGELOG.md
If you use vibeels in research, cite the software using the metadata in CITATION.cff.
This project is distributed under the MIT License. See LICENSE.