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)
.