spinqick.core.spinqick_data

Data handling and saving for spinqick experiments.

Attributes

logger

Classes

SpinqickData

Self describing data object to handle data from a QICK AcquireProgramv2 output.

PsbData

Self describing data object to handle data from a QICK AcquireProgramv2 output.

CompositeSpinqickData

Stores a list of SpinqickData objects.

Functions

load_analysis_data(nc_file, data_desc[, attr_name])

Load data stored in the 'analyzed_data' folder of the netcdf file.

_assign_timestamp()

_get_filename(timestamp, experiment_name)

Module Contents

spinqick.core.spinqick_data.logger
spinqick.core.spinqick_data.load_analysis_data(nc_file, data_desc, attr_name=None)

Load data stored in the ‘analyzed_data’ folder of the netcdf file.

Parameters:
  • nc_file (netCDF4.Dataset)

  • data_desc (str)

  • attr_name (str | None)

spinqick.core.spinqick_data._assign_timestamp()
spinqick.core.spinqick_data._get_filename(timestamp, experiment_name)
class spinqick.core.spinqick_data.SpinqickData(raw_data, cfg, triggers, reps, experiment_name, analyzed_data=None, timestamp=None, filename=None, prog=None, voltage_state=None)

Self describing data object to handle data from a QICK AcquireProgramv2 output.

Parameters:
  • raw_data (List[numpy.ndarray])

  • cfg (pydantic.BaseModel)

  • triggers (int)

  • reps (int)

  • experiment_name (str)

  • analyzed_data (List[numpy.ndarray] | None)

  • timestamp (int | None)

  • filename (str | None)

  • prog (qick.qick_asm.AbsQickProgram | str | None)

  • voltage_state (Dict[str, float] | None)

raw_data
analyzed_data = None
analysis_type = ''
analysis_averaged: spinqick.helper_functions.spinqick_enums.AverageLevel | None = None
prog = None
cfg
timestamp
axes: dict
experiment_name
data_file
triggers
reps
cfg_class
fit_param_dict: dict
best_fit: numpy.ndarray
fit_axis: str = ''
spinqick_version: str
_cfg
voltage_state = None
add_full_average(avgs)

Data contains an outer loop for averaging.

Parameters:

avgs (int)

add_point_average(avgs, loop_no)

Data contains a point average loop.

User supplies the loop number, where outermost loop is zero

Parameters:
  • avgs (int)

  • loop_no (int)

add_axis(data, axis_name, sweep_names, dim_size, loop_no=0, units=None)

Add information describing a swept variable/ set of variables in your dataset.

Parameters:
  • data (List[numpy.ndarray])

  • axis_name (str)

  • sweep_names (Sequence[str])

  • dim_size (int)

  • loop_no (int)

  • units (List[str] | None)

add_fit_params(param_dict, best_fit, fit_axis)

Add fit parameter attributes to the spinqick data object.

Parameters:
  • param_dict (dict)

  • best_fit (numpy.ndarray)

  • fit_axis (str)

json_to_qickprog(soccfg)

Load json string program into qick program using a known soccfg.

save_fit_params(nc_file)

Save parameters from a fit into a dict.

Parameters:

nc_file (spinqick.helper_functions.file_manager.SaveData)

save_voltage_data(nc_file, nest_in_group=None)

Saves the all_voltages output from the hardware manager as json string.

Parameters:
save_data()

Save all information to a netcdf file.

basic_save(nc_file, nest_in_group=None)

Save data from an instantiated SpinqickData object.

Parameters:
load_to_fake_config(json_cfg)
classmethod load_spinqick_data(nc_file, **kwargs)

Load data from netcdf dataset to spinqickdata.

Parameters:

nc_file (netCDF4.Dataset)

class spinqick.core.spinqick_data.PsbData(*args, **kwargs)

Bases: SpinqickData

Self describing data object to handle data from a QICK AcquireProgramv2 output.

difference_data: List[numpy.ndarray] | None = None
difference_avged: spinqick.helper_functions.spinqick_enums.AverageLevel | None = None
thresh_avged: spinqick.helper_functions.spinqick_enums.AverageLevel | None = None
threshed_data: List[numpy.ndarray] | None = None
threshold: List[float] | None
save_difference_data(ncdf)

Save data from measurements with a reference measurement.

Parameters:

ncdf (spinqick.helper_functions.file_manager.SaveData)

save_threshed_data(ncdf)

Save thresholded data.

Parameters:

ncdf (spinqick.helper_functions.file_manager.SaveData)

save_data()

Save all information to a netcdf file.

classmethod load_spinqick_data(nc_file, **kwargs)

Load data from netcdf dataset to spinqickdata.

Parameters:

nc_file (netCDF4.Dataset)

class spinqick.core.spinqick_data.CompositeSpinqickData(qdata_array, dset_labels, experiment_name, dset_coordinates=None, dset_coordinate_units=None, analyzed_data=None, timestamp=None, filename=None)

Stores a list of SpinqickData objects.

This is designed for datasets which include sweeps

Parameters:
  • qdata_array (Sequence[SpinqickData | PsbData])

  • dset_labels (List[str])

  • experiment_name (str)

  • dset_coordinates (numpy.ndarray | None)

  • dset_coordinate_units (str | None)

  • analyzed_data (numpy.ndarray | None)

  • timestamp (int | None)

  • filename (str | None)

qdata_array
experiment_name
spinqick_version: str
analyzed_data = None
dset_coordinates = None
dset_labels
dset_coordinate_units = None
timestamp
data_file
fit_param_dict: dict
best_fit: numpy.ndarray
fit_axis: str = ''
basic_composite_save()

Save all SpinqickData objects to a single file.

classmethod load_composite(nc_file, load_psb=False, **kwargs)

Create a composite data object from a netcdf file.

Parameters:
  • nc_file (netCDF4.Dataset)

  • load_psb (bool)