qblox_scheduler.analysis.spectroscopy_analysis#

Classes#

QubitFluxSpectroscopyAnalysis

Analysis class for qubit flux spectroscopy.

QubitSpectroscopyAnalysis

Analysis for a qubit spectroscopy experiment.

ResonatorSpectroscopyAnalysis

Analysis for a spectroscopy experiment of a hanger resonator.

ResonatorFluxSpectroscopyAnalysis

Analysis class for resonator flux spectroscopy.

Module Contents#

class QubitFluxSpectroscopyAnalysis(dataset: xarray.Dataset | None = None, tuid: quantify_core.data.types.TUID | str | None = None, label: str = '', settings_overwrite: dict | None = None, plot_figures: bool = True)[source]#

Bases: qblox_scheduler.analysis.base_analysis.BaseAnalysis

Analysis class for qubit flux spectroscopy.

Example

import warnings

from qblox_scheduler.analysis.spectroscopy_analysis import QubitFluxSpectroscopyAnalysis
with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    from qblox_scheduler.analysis.data_handling import OutputDirectoryManager as mng

# load example data
test_data_dir = "../tests/test_data"
mng.set_datadir(test_data_dir)

# run analysis and plot results
analysis = (
    QubitFluxSpectroscopyAnalysis(tuid="20230309-235354-353-9c94c5")
    .run()
    .display_figs_mpl()
)
../../../../_images/index_0_02.png
process_data() None[source]#

Process the data so that the analysis can make assumptions on the format.

run_fitting() None[source]#

Fits a QuadraticModel model to the frequency response vs. flux offset.

analyze_fit_results() None[source]#

Check the fit success and populate .quantities_of_interest.

create_figures() None[source]#

Generate plot of magnitude and phase images, with superposed model fit.

class QubitSpectroscopyAnalysis(dataset: xarray.Dataset | None = None, tuid: quantify_core.data.types.TUID | str | None = None, label: str = '', settings_overwrite: dict | None = None, plot_figures: bool = True)[source]#

Bases: qblox_scheduler.analysis.base_analysis.BaseAnalysis

Analysis for a qubit spectroscopy experiment.

Fits a Lorentzian function to qubit spectroscopy data and finds the 0-1 transition frequency.

process_data() None[source]#

Populate the .dataset_processed.

run_fitting() None[source]#

Fit a Lorentzian function to the data.

analyze_fit_results() None[source]#

Check fit success and populates .quantities_of_interest.

create_figures() None[source]#

Create qubit spectroscopy figure.

class ResonatorSpectroscopyAnalysis(dataset: xarray.Dataset | None = None, tuid: quantify_core.data.types.TUID | str | None = None, label: str = '', settings_overwrite: dict | None = None, plot_figures: bool = True)[source]#

Bases: qblox_scheduler.analysis.base_analysis.BaseAnalysis

Analysis for a spectroscopy experiment of a hanger resonator.

process_data()[source]#

Verifies that the data is measured as magnitude and phase and casts it to a dataset of complex valued transmission \(S_{21}\).

run_fitting()[source]#

Fits a ResonatorModel to the data.

analyze_fit_results()[source]#

Checks fit success and populates .quantities_of_interest.

create_figures()[source]#

Plots the measured and fitted transmission \(S_{21}\) as the I and Q component vs frequency, the magnitude and phase vs frequency, and on the complex I,Q plane.

_create_fig_s21_real_imag()[source]#
_create_fig_s21_magn_phase()[source]#
_create_fig_s21_complex()[source]#
class ResonatorFluxSpectroscopyAnalysis(dataset: xarray.Dataset | None = None, tuid: quantify_core.data.types.TUID | str | None = None, label: str = '', settings_overwrite: dict | None = None, plot_figures: bool = True)[source]#

Bases: qblox_scheduler.analysis.base_analysis.BaseAnalysis

Analysis class for resonator flux spectroscopy.

Example

import warnings

from qblox_scheduler.analysis.spectroscopy_analysis import (
    ResonatorFluxSpectroscopyAnalysis
)
with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    from qblox_scheduler.analysis.data_handling import OutputDirectoryManager as mng

# load example data
test_data_dir = "../tests/test_data"
mng.set_datadir(test_data_dir)

# run analysis and plot results
analysis = (
    ResonatorFluxSpectroscopyAnalysis(tuid="20230308-235659-059-cf471e")
    .run()
    .display_figs_mpl()
)
../../../../_images/index_1_0.png
process_data() None[source]#

Process the data so that the analysis can make assumptions on the format.

run_fitting() None[source]#

Fits a sinusoidal model to the frequency response vs. flux offset.

analyze_fit_results() None[source]#

Check the fit success and populate .quantities_of_interest.

create_figures() None[source]#

Generate plot of magnitude and phase images, with superposed model fit.