ewoksxas.fit.peak_fit#

Peak fitting of 1D spectroscopic data on top of silx’s fitting engine.

This module is a thin headless wrapper around silx.math.fit – the engine behind silx.gui.fit.FitWidget – fitting one or several peaks of a single shape (Gaussian, Lorentzian or pseudo-Voigt, symmetric or split/asymmetric) together with a silx background (constant, linear, or the Strip/Snip peak-stripping filters), and reporting the physically meaningful peak descriptors (center, height, area, FWHM and the pseudo-Voigt mixing) for each fitted peak.

The fit is exactly silx’s native flow (estimate – which auto-detects the peak count via silx’s peak search – followed by runfit), so a headless batch fit reproduces what the interactive FitWidget computes for the same configuration. Surplus peaks the fit drives to zero are pruned. The FitManager and the curated theory/background set come from ewoksxas.fit.silx_engine, shared with the Orange widget.

Functions

peak_descriptors(shape)

Return the per-peak descriptor keys emitted for a given peak shape.

Classes

Baseline(label, theory_name)

A baseline option and the silx background theory it maps to.

MultiPeakFitResult(manager, shape, roi)

The result of an N-peak fit, exposing per-peak physical descriptors.

PeakModel(data[, shape, baseline, roi, ...])

Fit one or several peaks of a single shape, with an optional baseline.

PeakShape(theory_name, family, asymmetric)

A peak shape and the silx fit theory that realises it.