quackseq.measurement#
This module defines the measurement data structure and the fit class for measurement data.
Classes
|
The fit class for measurement data. |
|
Lorentzian fit for measurement data. |
|
This class defines how measurement data should look. |
|
This will be returned if the measurement is not valid. |
|
T2* fit for measurement data. |
- class quackseq.measurement.Fit(name: str, domain: str, measurement: Measurement)#
The fit class for measurement data. A fit can be performed on either the frequency or time domain data.
A measurement can have multiple fits.
- fit() None#
Fits the measurement data and sets the fit parameters and covariance.
- fit_function(x: array, *parameters) array#
The fit function.
- Parameters:
x (np.array) – The x data.
*parameters – The fit parameters.
- Returns:
The y data.
- Return type:
np.array
- classmethod from_json(data: dict, measurement: Measurement) Fit#
Converts the JSON format to a fit.
- Parameters:
data (dict) – The fit in JSON-compatible format.
measurement (Measurement) – The measurement.
- Returns:
The fit.
- Return type:
- initial_guess() list#
Initial guess for the fit.
- Returns:
The initial guess.
- Return type:
list
- to_json() dict#
Converts the fit to a JSON-compatible format.
- Returns:
The fit in JSON-compatible format.
- Return type:
dict
- property x: array#
The x data of the fit.
- property y: array#
The y data of the fit.
- class quackseq.measurement.LorentzianFit(measurement: Measurement, name: str = 'Lorentzian')#
Lorentzian fit for measurement data.
- fit() None#
Fits the measurement data and sets the fit parameters and covariance.
- fit_function(f: array, S0: float, T2Star: float) array#
The Lorentzian fit function used for curve fitting.
- initial_guess() list#
Initial guess for the Lorentzian fit.
- class quackseq.measurement.Measurement(name: str, tdx: array, tdy: array, target_frequency: float, frequency_shift: float = 0, IF_frequency: float = 0)#
This class defines how measurement data should look.
It includes pulse parameters necessary for further signal processing. Every spectrometer should adhere to this data structure in order to be compatible with the rest of the nqrduck.
- Parameters:
name (str) – Name of the measurement.
tdx (np.array) – Time axis for the x axis of the measurement data.
tdy (np.array) – Time axis for the y axis of the measurement data. This can be multi-dimensional. Axis 0 are the different data sets (e.g. phase cycles).
target_frequency (float) – Target frequency of the measurement.
frequency_shift (float, optional) – Frequency shift of the measurement. Defaults to 0.
IF_frequency (float, optional) – Intermediate frequency of the measurement. Defaults to 0.
- tdx#
Time axis for the x axis of the measurement data. Axis 0 are the different data sets (e.g. phase cycles).
- Type:
np.array
- tdy#
Time axis for the y axis of the measurement data. Axis 0 are the different data sets (e.g. phase cycles).
- Type:
np.array
- target_frequency#
Target frequency of the measurement.
- Type:
float
- frequency_shift#
Frequency shift of the measurement.
- Type:
float
- IF_frequency#
Intermediate frequency of the measurement.
- Type:
float
- fdx#
Frequency axis for the x axis of the measurement data.
- Type:
np.array
- fdy#
Frequency axis for the y axis of the measurement data.
- Type:
np.array
- add_dataset(tdy: array) None#
Adds dataset to the measurement. We only add the y data, as the x data is the same for all datasets.
- Parameters:
tdy (np.array) – Time axis for the y axis of the measurement data.
- apodization(function: Function) Measurement#
Applies apodization to the measurement data.
- Parameters:
function (Function) – Apodization function.
- Returns:
The apodized measurement.
- Return type:
- delete_fit(fit: Fit) None#
Deletes a fit from the measurement.
- Parameters:
fit (Fit) – The fit to delete.
- edit_fit_name(fit: Fit, name: str) None#
Edits the name of a fit.
- Parameters:
fit (Fit) – The fit to edit.
name (str) – The new name.
- property fdx: array#
Frequency domain data for the measurement (x).
- property fdy: array#
Frequency domain data for the measurement (y).
- property fits: list#
Fits of the measurement.
- classmethod from_json(json: dict) Measurement#
Converts the JSON format to a measurement.
- Parameters:
json (dict) – The measurement in JSON-compatible format.
- Returns:
The measurement.
- Return type:
- property name: str#
Name of the measurement.
- phase_shift(phase: float, index: int, axis=0) array#
Applies a phase shift to the measurement data.
- Parameters:
phase (float) – Phase shift in degrees.
index (int) – Index of the data set to apply the phase shift to.
axis (int) – Axis to apply the phase shift to. Defaults to 0.
- serialize_complex_array(array: array) list#
Serializes a complex array to a list.
- Parameters:
array (np.array) – The complex array.
- Returns:
The serialized complex array.
- Return type:
list
- property target_frequency: float#
Target frequency of the measurement.
- property tdx: array#
Time domain data for the measurement (x).
- property tdy: array#
Time domain data for the measurement (y).
- to_json() dict#
Converts the measurement to a JSON-compatible format.
- Returns:
The measurement in JSON-compatible format.
- Return type:
dict
- class quackseq.measurement.MeasurementError(name: str, error_meassage: str)#
This will be returned if the measurement is not valid.
- class quackseq.measurement.T2StarFit(measurement: Measurement, name: str = 'T2*')#
T2* fit for measurement data.
- fit() None#
Fits the measurement data and sets the fit parameters and covariance.
- fit_function(t: array, S0: float, T2Star: float) array#
The T2* fit function used for curve fitting.
- initial_guess() list#
Initial guess for the T2* fit.