laboneq_applications.contrib.analysis.signal_propagation_delay
¶
    This module defines the analysis for a signal propagation delay experiment.
The experiment is defined in laboneq_applications.experiments.
In this analysis, we extract the optimum integration delay defined by the maximum of the integrated signal. Finally, we plot the data and mark the optimal delay.
            PlotDataOption
¶
    
              Bases: DoFittingOption, BasePlottingOptions
Option class for the plot_data task.
Attributes from DoFittingOption:
    do_fitting:
        Whether to perform the fit.
        Default: True.
Attributes from BasePlottingOptions:
    save_figures:
        Whether to save the figures.
        Default: True.
    close_figures:
        Whether to close the figures.
        Default: True.
            analysis_workflow(result, qubit, delays, options=None)
¶
    The Amplitude Rabi analysis Workflow.
The workflow consists of the following steps:
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
                result
             | 
            
                  RunExperimentResults
             | 
            
               The experiment results returned by the run_experiment task.  | 
            required | 
                qubit
             | 
            
                  Qubit
             | 
            
               The qubits on which to run the analysis. May be either a single qubit or a list of qubits. The UIDs of these qubits must exist in the result.  | 
            required | 
                delays
             | 
            
                  QubitSweepPoints
             | 
            
               The delays that were swept over in the signal propagation delay experiment.
  | 
            required | 
                options
             | 
            
                  TuneUpAnalysisWorkflowOptions | None
             | 
            
               The options for building the workflow, passed as an instance of [TuneUpAnalysisWorkflowOptions]. See the docstring of this class for more details.  | 
            
                  None
             | 
          
Returns:
| Name | Type | Description | 
|---|---|---|
WorkflowBuilder |             
                  None
             | 
            
               The builder for the analysis workflow.  | 
          
Example
options = TuneUpAnalysisWorkflowOptions()
result = analysis_workflow(
    results=results
    qubits=q0,
    delays=np.linspace(0e-9, 200e-9, 21),
    ],
    options=options,
).run()
            extract_qubit_parameters(qubit, result, options=None)
¶
    Extract the optimal integration delay.
The optimal integration delay is defined by the port_delay which results in a maximum of the integrated signal.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
                qubit
             | 
            
                  Qubit
             | 
            
               The qubit on which to run the analysis.  | 
            required | 
                result
             | 
            
                  RunExperimentResults
             | 
            
               The experiment results returned by the run_experiment task.  | 
            required | 
                options
             | 
            
                  DoFittingOption | None
             | 
            
               The options for extracting the qubit parameters. See [DoFittingOption] for accepted options.  | 
            
                  None
             | 
          
Returns:
| Type | Description | 
|---|---|
                  dict[str, dict[str, dict[str, int | float | None]]]
             | 
            
               dict with extracted qubit parameters and the previous values for those qubit  | 
          
                  dict[str, dict[str, dict[str, int | float | None]]]
             | 
            
               parameters. The dictionary has the following form:  | 
          
                  dict[str, dict[str, dict[str, int | float | None]]]
             | 
            
               ```python  | 
          
                  dict[str, dict[str, dict[str, int | float | None]]]
             | 
            
               { "new_parameter_values": { q.uid: { qb_param_name: qb_param_value }, } "old_parameter_values": { q.uid: { qb_param_name: qb_param_value }, }  | 
          
                  dict[str, dict[str, dict[str, int | float | None]]]
             | 
            
               }  | 
          
                  dict[str, dict[str, dict[str, int | float | None]]]
             | 
            
               ```  | 
          
                  dict[str, dict[str, dict[str, int | float | None]]]
             | 
            
               If the do_fitting option is False, the new_parameter_values are not extracted  | 
          
                  dict[str, dict[str, dict[str, int | float | None]]]
             | 
            
               and the function only returns the old_parameter_values.  | 
          
            plot_data(qubit, result, qubit_parameters, options=None)
¶
    Create the signal propagation delay plot.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
                qubit
             | 
            
                  Qubit
             | 
            
               The qubit on which to run the analysis. The UID of this qubit must exist in qubit_parameters.  | 
            required | 
                result
             | 
            
                  RunExperimentResults
             | 
            
               The experiment results returned by the run_experiment task.  | 
            required | 
                qubit_parameters
             | 
            
                  dict[str, dict[str, dict[str, int | float | None]]] | None
             | 
            
               the qubit-parameters dictionary returned by extract_qubit_parameters  | 
            required | 
                options
             | 
            
                  PlotDataOption | None
             | 
            
               The options for this task as an instance of [PlotDataOption]. See the docstring of this class for more details.  | 
            
                  None
             | 
          
Returns:
| Type | Description | 
|---|---|
                  dict[str, Figure]
             | 
            
               dict with qubit UID as key and the figure as values.  |