Fitting¶
Module containing utilities related to fitting.
Still very much a work in progress…
- instrumental.fitting.curve_fit(f, xdata, ydata, p0=None, sigma=None, **kw)¶
Wrapper for scipy’s curve_fit that works with pint Quantities.
- instrumental.fitting.guided_decay_fit(data_x, data_y)¶
Guided fit of a ringdown. Takes data_x and data_y as
pint
Quantities with dimensions of time and voltage, respectively. Plots the data and asks user to manually crop to select the region to fit.It then does a rough linear fit to find initial parameters and performs a nonlinear fit.
Finally, it plots the data with the curve fit overlayed and returns the full-width at half-max (FWHM) with units.
- instrumental.fitting.guided_ringdown_fit(data_x, data_y)¶
Guided fit of a ringdown. Takes data_x and data_y as
pint
Quantities with dimensions of time and voltage, respectively. Plots the data and asks user to manually crop to select the region to fit.It then does a rough linear fit to find initial parameters and performs a nonlinear fit.
Finally, it plots the data with the curve fit overlayed and returns the full-width at half-max (FWHM) with units.
- instrumental.fitting.guided_trace_fit(data_x, data_y, EOM_freq)¶
Guided fit of a cavity scan trace that has sidebands. Takes data_x and data_y as
pint
Quantities, and the EOM frequency EOM_freq can be anything that thepint.Quantity
constructor understands, like an existingpint.Quantity
or a string, e.g.'5 MHz'
.It plots the data then asks the user to identify the three maxima by by clicking on them in left-to-right order. It then uses that input to estimate and then do a nonlinear fit of the parameters.
Finally, it plots the data with the curve fit overlayed and returns the parameters in a map.
The parameters are
A0
,B0
,FWHM
,nu0
, anddnu
.
- instrumental.fitting.lorentzian(x, A, x0, FWHM)¶
Lorentzian curve. Takes an array
x
and returns an array
- instrumental.fitting.triple_lorentzian(nu, A0, B0, FWHM, nu0, dnu, y0)¶
Triple lorentzian curve. Takes an array
nu
and returns an array that is the sum of three lorentzianslorentzian(nu, A0, nu0, FWHM) + lorentzian(nu, B0, nu0-dnu, FWHM) + lorentzian(nu, B0, nu0+dnu, FWHM)
.