Skip to main content

Qt application for constrained vibEELS peak fitting.

Project description

vibfit

DOI

vibfit is a Qt desktop application for constrained vibEELS peak fitting using lmfit. It is particularly useful for vibrational spectra with broad peaks.

Current release: 0.5.0

Install

Install the current release from PyPI:

pip install vibfit

For development from a local checkout:

python -m pip install -e .

Run

vibfit

How to use

  1. Launch the app with vibfit.
  2. In the File tab, click Load spectrum and open a supported spectrum file. vibfit currently supports *.vxy. Support for additional formats is planned; contact shdshim if you need another file type.
  3. Use the toolbar to zoom to the spectral range you want to analyze.
  4. In the Background tab, click Select area and mark one or more background-only regions on the top plot. Click Fit background when you are done. To add another region, click Select area again.
  5. In the PeakFit tab, click Set fit range, then drag across the bottom plot to define the fitting window. Use Clear fit range to restore the full spectrum.
  6. In the PeakFit tab, click Pick peaks and add peaks within the active fit range in the bottom panel. To add a peak, hold Shift, click near the left side of the peak FWHM, drag to the right side, and release. Repeat for each peak. To remove a peak, right-click near it.
  7. Edit peak names and parameter bounds in the table as needed, then click Fit region.
  8. Review the fit results table and report. Use Save to section to store the current fitted region in the session and clear the active fit before continuing to the next region.
  9. Use Save XLS in the Sections tab to export all saved sections as .json and .xlsx files, with one Excel sheet per section. Use Export NPY to export plot arrays together with a reproduction Python script and rendered figures.
  10. Click Save in the toolbar to create a session backup. Backups are stored next to the source spectrum in a *-vibfit directory and can be restored from the File tab.

Useful controls:

  • Zoom in focuses the view on the active fit region.
  • Zoom out returns the view to the full spectrum.
  • Yspec rescales the plots based on the current spectrum view.
  • Yadj automatically adjusts the visible y-range.
  • The Plot tab lets you enter exact top and bottom y-axis limits.
  • To review a previously saved section, open the Sections tab, select a section, and click Set current. The saved fit results will be plotted again.

Development build

python -m build

Citation

Citation metadata is provided in CITATION.cff.

  • Latest-release DOI badge: 10.5281/zenodo.20018217
  • Version 0.5.0 DOI: 10.5281/zenodo.20018218

License

vibfit is distributed under the BSD 3-Clause License. See LICENSE.

Notes

  • fitting is performed in cm^-1
  • vibrational background fitting uses a PowerLaw model
  • peak names are editable and are used as lmfit prefixes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibfit-0.5.0.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibfit-0.5.0-py3-none-any.whl (2.9 MB view details)

Uploaded Python 3

File details

Details for the file vibfit-0.5.0.tar.gz.

File metadata

  • Download URL: vibfit-0.5.0.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for vibfit-0.5.0.tar.gz
Algorithm Hash digest
SHA256 b14ec13ddd6b38603c8a1d2345a0d59db5660b2954b312452d00ebe68ca54d15
MD5 f7abb5d49587b4a1b287d54cf17964a4
BLAKE2b-256 7868e5f44ee611d395ce097b73ae980b896bb0764feb8a480b9f3dea7932612e

See more details on using hashes here.

File details

Details for the file vibfit-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: vibfit-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for vibfit-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 619da1843d0d66f642434225c334dd6cf48735b20cc78aa8ac26c7381055caf6
MD5 49cd116c09ca322f92545e93d97813ce
BLAKE2b-256 1e6103df2c04edd3aa518f4170fd4b1ae2c792646cd5af0ff6a4b96741a92a3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page