SciDAVis for Chemistry & Spectroscopy: Honest Peak Fitting

UV-Vis, FTIR, and NMR spectra arrive as columns of wavelength (or wavenumber, or ppm) versus intensity. The honest middle of spectroscopy work — importing the instrument export, dealing with the baseline, deconvolving overlapping bands, building a calibration curve — is exactly what SciDAVis (free, open-source; latest release v2.9.2, precompiled binaries on SourceForge are v2.8) does well. It does not do it automatically. This guide shows the manual workflows that work within the real limits of v2.9.x, so you never waste an afternoon looking for a button that does not exist.

Version note: written for v2.9.x (SourceForge binaries are 2.8). The fitting dialogs and peak functions are unchanged between the two.

Step 1 — Import the instrument export

Instrument software usually exports ASCII or CSV: wavenumber/intensity pairs, sometimes with a metadata header block. File → Import ASCII covers the common layouts; the edge cases — comment lines, transposed blocks, multi-spectrum files — are worked through in how to import data into SciDAVis. After import, assign roles with Table → Set Column As → X/Y/Z (wavenumber as X, intensity as Y), and keep one spectrum per column pair so batch comparison across samples stays sane.

Step 2 — The honest truth about peak finding and baselines

SciDAVis 2.9.x has no automatic peak finder and no one-click baseline-subtraction tool. Here is what actually works.

Marking peaks yourself. Choose Analysis → Quick Fit → Fit Multipeak. You first specify how many peaks you expect, then click each peak’s approximate position on the plot, validating each choice with the ENTER key. Those positions are only initial guesses for the fitter — the final centers, widths, and areas come from the fit. It is manual, but it is also honest: you decide how many components the chemistry justifies, and the fit cannot invent a peak you never marked.

Baselines. Every built-in peak function in SciDAVis carries a y0 offset parameter, so a flat baseline is absorbed automatically during the fit — no preprocessing needed. If the baseline slopes or curves, do not subtract it by hand first; fit it together with the peaks in the Fit Wizard (Analysis → Fit Wizard, Ctrl+Y), for example a linear term plus your peak functions. Hand-subtracting an imperfect baseline by eye and then fitting the residue is the most common source of biased peak areas in student work. Sanity check: zoom into peak-free regions — if the fitted baseline misses them visibly, the model is wrong; add a slope term or restrict the fit range before trusting any area.

The full deconvolution workflow is in multi-peak fitting for spectroscopy data.

Step 3 — Pick the right line shape

The two workhorse line shapes, exactly as defined in the official Handbook:

ModelParametersUse it when…
GaussianA = height, w = width, xc = center, y0 = Y offsetBroadening is dominated by instrumental resolution or Doppler/thermal effects — Raman bands, XRD reflections, chromatography peaks.
LorentzianA = area, w = width, xc = center, y0 = Y offsetBroadening is dominated by lifetime or pressure (collisional) effects — IR absorption lines, NMR resonances.

Rule of thumb: start with Gaussian for condensed-phase vibrational spectra and switch only if the residual pattern tells you to. And mind the A: a Gaussian A is a height while a Lorentzian A is an area — normalize to areas before any quantitative comparison across models.

For mixed models — a Gaussian shoulder on a Lorentzian main band, common in Raman/IR — Quick Fit → Fit Multipeak cannot combine families in one fit. Use the Fit Wizard with a custom sum of the two functions instead, marking each peak position as before. Judge the result by the residuals: zoom the graph and confirm they scatter randomly around zero. A systematic wiggle at a band position means a component is missing or the wrong line shape was chosen, and no amount of iteration fixes a wrong model.

Step 4 — Quantify with Beer–Lambert calibration curves

Measure your standards, plot absorbance versus concentration, and run Analysis → Quick Fit → Fit Linear. The slope is ε·l, the intercept is your blank, and the fit log gives the standard errors. Report the R² together with a residual check: a high R² with a curved residual pattern means the linear range ended earlier than you thought. Prepare the calibration in the same matrix as the samples and re-run it with every batch — the fit is only as honest as the standards behind it.

One boundary to respect: do not derive detection limits (LOD/LOQ) from the calibration fit alone. Detection limits are governed by the variability of the blank, not by how straight the standards look — run replicate blanks, summarize them with Analysis → Statistics on Columns, and combine the blank standard deviation with your calibration slope. The fit gives you the slope; the blanks give you the limit.

Notes for NMR users

Proton and carbon multiplets are sums of Lorentzian lines, so Fit Multipeak with the number of lines you expect is the natural tool; the fitted areas give relative populations. Overlapping multiplets from similar environments often need the Fit Wizard with a mixed model instead. Chemical shifts are read from the fitted xc values — more precise than eyeballing the plot cursor, and with an uncertainty from the fit.

Go further

Disclosure: This page contains affiliate links. We may earn a commission at no extra cost to you.

Similar Posts

  • SciDAVis for Life Sciences & Pharma

    SciDAVis for Life Sciences & Pharma: Dose–Response, Kinetics, and Descriptive Stats Plate readers, enzyme assays, cell counts, growth curves — life-science data is mostly small tables and big questions: what is the IC50, does this enzyme follow Michaelis–Menten kinetics, are these groups really different. SciDAVis (free, open-source; latest release v2.9.2, precompiled binaries on SourceForge are…

  • SciDAVis for Physics & Engineering

    SciDAVis for Physics & Engineering: From Sensor Data to Fitted Models Physics and engineering run on exported data: oscilloscope traces, DAQ logs, thermocouple readings, photodiode voltages, accelerometer streams. SciDAVis — free, open-source, latest release v2.9.2 (precompiled binaries on SourceForge are v2.8) — takes those exports from raw numbers to a publication-quality plot with a fitted…

Leave a Reply

Your email address will not be published. Required fields are marked *