{"id":51066667,"url":"https://github.com/shdshim/vibeels","last_synced_at":"2026-06-23T07:01:21.197Z","repository":{"id":355536334,"uuid":"1174978017","full_name":"SHDShim/vibeels","owner":"SHDShim","description":"app to process vibrational electron energy loss spectroscopy data","archived":false,"fork":false,"pushed_at":"2026-05-04T04:05:43.000Z","size":3323,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-04T06:13:01.715Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SHDShim.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-07T04:10:01.000Z","updated_at":"2026-05-04T04:05:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SHDShim/vibeels","commit_stats":null,"previous_names":["shdshim/vibeels"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/SHDShim/vibeels","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SHDShim%2Fvibeels","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SHDShim%2Fvibeels/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SHDShim%2Fvibeels/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SHDShim%2Fvibeels/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SHDShim","download_url":"https://codeload.github.com/SHDShim/vibeels/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SHDShim%2Fvibeels/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34678931,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-23T07:01:19.212Z","updated_at":"2026-06-23T07:01:21.182Z","avatar_url":"https://github.com/SHDShim.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vibeels\n\n[![DOI](https://zenodo.org/badge/1174978017.svg)](https://doi.org/10.5281/zenodo.20018423)\n\n`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.\n\n## Status\n\n`vibeels` is under active development. Review results carefully before using them in published analysis.\n\n## Features\n\n- `Signal1D` 2D map workflow with multiple polygon ROIs.\n- `Signal2D` snapshot-stack workflow with a single rectangular detector-band ROI.\n- Shared plot controls for zoom, ROI editing, zoom-out, and ROI clearing.\n- Intensity masking using a full-map histogram for 2D map data.\n- Per-spectrum ZLP fitting, alignment, and calibrated summed spectra.\n- Raw and aligned snapshot previews with independent zoom control.\n- Export of spectra, masks, figures, parameters, and reproducibility bundles.\n- Session saving and restoration.\n- Runtime application icon support on macOS and Windows.\n\n## Installation\n\n### From PyPI\n\nAfter the package is published to PyPI:\n\n```bash\npython -m pip install vibeels\n```\n\n### From source\n\n```bash\ngit clone https://github.com/shdshim/vibeels.git\ncd vibeels\npython -m pip install -e .\n```\n\nFor a conda-based workflow, create and activate an environment first:\n\n```bash\nconda create -n vibeels python=3.11\nconda activate vibeels\npython -m pip install -e .\n```\n\n## How to use\n\n1. Launch the application and load an EELS dataset with `Load EELS DM3/DM4`.\n2. If needed, load a reference image in the `Image` tab.\n3. Use the shared plot controls above the figures:\n   - `Zoom`: mouse zoom behavior for all four main plots.\n   - `ROI`: ROI editing on the top-left raw-data plot.\n   - `Zoom Out`: reset zoom for all four main plots.\n   - `Clear ROI`: remove the active ROI selection.\n4. For `Signal1D` map data, use the `2D Map` tab:\n   - draw one or more polygon ROIs on the top-left map preview.\n   - adjust the map energy range.\n   - use the full-map intensity histogram to set the mask range.\n   - click `Apply ROI / Alignment` to extract, align, and sum all spectra inside any polygon and inside the intensity range.\n5. For `Signal2D` snapshot-stack data, use the `1D Spot` tab:\n   - draw or set one rectangular detector-y ROI.\n   - set the snapshot range and snapshot index.\n   - click `Apply ROI / Alignment` to align snapshots and build the summed spectrum.\n6. Inspect the `Calibration` tab to review the ZLP fit, FWHM, calibrated spectrum, and previews.\n7. Save selected spectra in the `Saved` tab, export the processed bundle, or save the session state for later review.\n\n## ROI and Plot Controls\n\n- 2D map mode allows multiple polygon ROIs. Pixels inside any polygon are included.\n- 1D snapshot mode allows one rectangular detector-y ROI.\n- In 2D map mode, the intensity histogram always represents the full integrated image, not only the ROI pixels.\n- Right-click in `Zoom` mode resets only the clicked plot.\n- Right-click inside an ROI in `ROI` mode clears that ROI.\n- Zoom state is preserved during ROI changes and snapshot navigation unless `Zoom Out` or right-click zoom reset is used.\n\n## Outputs\n\nExports include:\n\n- calibrated spectra\n- selected masks and preview images\n- ZLP fit data\n- processing parameters\n- reproducibility scripts and figures\n- saved session state\n\n## Run\n\n```bash\npython -m vibeels\n```\n\nIf installed from the package entry point:\n\n```bash\nvibeels\n```\n\n## Build distribution\n\n```bash\npython -m pip install build twine\npython -m build\npython -m twine check dist/*\n```\n\n## Release Metadata\n\n- Package name: `vibeels`\n- Current version: `0.3.1`\n- Repository: \u003chttps://github.com/shdshim/vibeels\u003e\n- Changelog: [`CHANGELOG.md`](CHANGELOG.md)\n\n## Citation\n\nIf you use `vibeels` in research, cite the software using the metadata in [`CITATION.cff`](CITATION.cff).\n\n## License\n\nThis project is distributed under the MIT License. See [`LICENSE`](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshdshim%2Fvibeels","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshdshim%2Fvibeels","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshdshim%2Fvibeels/lists"}