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.1
Install the current release from PyPI:
pip install vibfitFor development from a local checkout:
python -m pip install -e .vibfit- Launch the app with
vibfit. - In the
Filetab, clickLoad spectrum (vxy)and open a supported spectrum file.vibfitcurrently supports*.vxy. Support for additional formats is planned; contactshdshimif you need another file type. - Use the toolbar to zoom to the spectral range you want to analyze.
- In the
Backgroundtab, clickSelect areaand mark one or more background-only regions on the top plot. ClickFit backgroundwhen you are done. To add another region, clickSelect areaagain. - In the
PeakFittab, clickSet fit range, then drag across the bottom plot to define the fitting window. UseClear fit rangeto restore the full spectrum. - In the
PeakFittab, clickPick peaksand add peaks within the active fit range in the bottom panel. To add a peak, holdShift, 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. - Edit peak names and parameter bounds in the table as needed, then click
Fit region. - Review the fit results table and report. Use
Save to sectionto store the current fitted region in the session and clear the active fit before continuing to the next region. - Use
Save XLSin theSectionstab to export all saved sections as.jsonand.xlsxfiles, with one Excel sheet per section. UseExport NPY, PDF, and PNGto export plot arrays together with a reproduction Python script and rendered figures. - Click
Savein the toolbar to create a session backup. Backups are stored next to the source spectrum in a*-vibfitdirectory and can be restored from theFiletab.
Useful controls:
Zoom infocuses the view on the active fit region.Zoom outreturns the view to the full spectrum.Yspecrescales the plots based on the current spectrum view.Yadjautomatically adjusts the visible y-range.- The
Plottab lets you enter exact top and bottom y-axis limits. - To review a previously saved section, open the
Sectionstab, select a section, and clickSet current. The saved fit results will be plotted again.
python -m buildCitation metadata is provided in CITATION.cff.
- Latest-release DOI badge:
10.5281/zenodo.20018217 - Version
0.5.0DOI:10.5281/zenodo.20018218
vibfit is distributed under the BSD 3-Clause License. See LICENSE.
- fitting is performed in
cm^-1 - vibrational background fitting uses a
PowerLawmodel - peak names are editable and are used as
lmfitprefixes