9.3.4. qumada.measurement.scripts

qumada.measurement.scripts.generic_measurement

qumada.measurement.scripts.spectrometer

class qumada.measurement.scripts.Generic_1D_Hysteresis_buffered[source]

Bases: MeasurementScript

Performs a buffered 1D hysteresis measurement (back and foresweeps). Each iteration corresponds to one fore- and one backsweep.

This measurement supports dynamic and static parameters and handles multiple triggering methods:

  • “software”: Sends a software command to each buffer and dynamic parameters

    to start data acquisition and ramping. Timing might be slightly off.

  • “hardware”: Runs trigger_start to start the measurement.. Can be preconfigured

    or manually adjusted (requires trigger_start callable).

  • “manual”: Trigger setup is user-defined, useful for synchronized trigger outputs.

Parameters:
  • iterations (int) – Defines how many sweeps are done. Each iteration corresponds to one fore- and one backsweep.

  • trigger_start (str or callable, optional) – A callable to start the measurement or “manual” for user-triggered setup. Default is “manual”.

  • trigger_reset (callable, optional) – A callable to reset the trigger after measurement. Default is None.

  • trigger_type (str, optional) – Type of trigger to use (“software”, “hardware”, “manual”). Default is “software”.

  • sync_trigger (int, optional) – Number of the used sync trigger (QDacs only). Default is None.

  • include_gate_name (bool, optional) – If True, appends the name of the ramped gates to the measurement name. Default is True.

Returns:

datasets – A list of datasets containing the measurement results.

Return type:

list of qcodes.dataset.data_set.DataSet

Raises:
  • AttributeError – If a required method (e.g., for ramping) is missing.

  • TypeError – If no reset method for the trigger is defined.

  • Exception – If static or dynamic parameters have invalid configurations.

Notes

  • This script performs back-and-forth sweeps (hysteresis) for dynamic parameters.

  • Proper configuration of buffers and triggers is required for accurate results.

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Generic_1D_Sweep[source]

Bases: MeasurementScript

run(**dond_kwargs)[source]

Perform 1D sweeps for all dynamic parameters, one after another.

Dynamic parameters that are not currently active are kept at their “value” value.

Parameters:
  • **dond_kwargs (dict) – Additional keyword arguments passed to the dond method.

  • settings) (Attributes (via) –

  • -------------------------

  • wait_time (float, optional) – Wait time (in seconds) between initialization and each measurement. Default is 5.

  • include_gate_name (bool, optional) – If True, append the name of the ramped gate to the measurement name. Default is True.

  • ramp_speed (float, optional) – Speed at which parameters are ramped during initialization. Default is 0.3.

  • ramp_time (float, optional) – Maximum time (in seconds) allowed for ramping each parameter during initialization. Default is 10.

  • log_idle_params (bool, optional) – If True, record dynamic parameters kept constant during sweeps. Default is True.

Returns:

A list of QCoDeS datasets for each sweep.

Return type:

list

class qumada.measurement.scripts.Generic_1D_Sweep_buffered[source]

Bases: MeasurementScript

Executes a buffered 1D sweep measurement. Works only with ramps (no pulses). Supports compensation.

  • “software”: Sends a software command to each buffer and dynamic parameter to start data acquisition.

    Timing might have slight offsets.

  • “hardware”: Runs trigger_start to start the measurement., either preconfigured or started manually.

  • “manual” : User-controlled trigger setup, useful for synchronized trigger outputs (e.g., with QDac).

Parameters:
  • trigger_start (str or callable, optional) – A callable to start the measurement or the keyword “manual” for user-triggered setup. Default is “manual”.

  • trigger_reset (callable, optional) – A callable to reset the trigger after measurement. Default is None.

  • trigger_type (str, optional) – Type of trigger to use (“software”, “hardware”, “manual”). Default is “software”.

  • include_gate_name (bool, optional) – If True, appends the name of the ramped gates to the measurement name. Default is True.

  • sync_trigger (int, optional) – Number of the used sync trigger (QDacs only). Default is None.

Returns:

datasets – A list of datasets containing the measurement results.

Return type:

list of qcodes.dataset.data_set.DataSet

Raises:
  • AttributeError – If a required method (e.g., for ramping) is missing.

  • TypeError – If no reset method for the trigger is defined.

  • Exception – If setpoints of a parameter exceed defined limits.

Notes

  • This script supports buffered measurements, with dynamic and static parameters.

  • It ensures that all setpoints and compensating channels remain within their defined limits.

  • Proper configuration of buffers and triggers is essential for accurate results.

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Generic_1D_parallel_Sweep[source]

Bases: MeasurementScript

Sweeps all dynamic parameters in parallel.

Supports different sweep rates and setpoints for different parameters. All parameters must have the same length.

Parameters:

**kwargs (dict) –

Additional keyword arguments: - backsweep_after_break (bool): Sweeps backwards after a break condition

is triggered. Default is False.

  • wait_time (float): Wait time in seconds before starting the sweep. Default is 5.

Returns:

data – The collected data from the parallel sweep.

Return type:

Any

run(**do1d_kwargs)[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Generic_1D_parallel_asymm_Sweep[source]

Bases: MeasurementScript

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Generic_2D_Sweep_buffered[source]

Bases: MeasurementScript

Executes a buffered 2D sweep measurement. Supports compensation. By default fist dynamic parameter is stepped (unbuffered) and the second one ramped.

This script supports two dynamic parameters and multiple triggering methods:

  • “software”: Sends a software command to each buffer and dynamic parameters

    to start data acquisition and ramping. Timing might be slightly off.

  • “hardware”: Runs trigger_start to start the measurement.. Can be preconfigured

    or manually adjusted (requires trigger_start callable).

  • “manual”: Trigger setup is user-defined, useful for synchronized trigger outputs.

Parameters:
  • trigger_start (str or callable, optional) – A callable to start the measurement.

  • trigger_reset (callable, optional) – A callable to reset the trigger after measurement. Default is None.

  • trigger_type (str, optional) – Type of trigger to use (“software”, “hardware”, “manual”). Default is “software”.

  • include_gate_name (bool, optional) – If True, appends the names of the ramped gates to the measurement name. Default is True.

  • reset_time (float, optional) – Time to ramp the fast parameter back to the start value. Default is 0.

  • reverse_param_order (bool, optional) – If True, switches the order of slow and fast parameters. Default is False.

  • buffer_timeout_multiplier (int, optional) – Multiplier for buffer timeout duration relative to burst duration. Default is 20.

Returns:

datasets – A list of datasets containing the measurement results.

Return type:

list of qcodes.dataset.data_set.DataSet

Raises:
  • AttributeError – If a required method (e.g., for ramping) is missing.

  • TimeoutError – If buffers fail to finish within the timeout duration.

  • Exception – If static or dynamic parameters have invalid configurations.

Notes

  • Proper configuration of buffers and triggers is required for accurate results.

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Generic_Pulsed_Measurement[source]

Bases: MeasurementScript

Executes a buffered pulsed measurement with arbitrary setpoints. All setpoint arrays have to have the same length!

Triggering methods:

  • “software”: Sends a software command to each buffer and dynamic parameters

    to start data acquisition and ramping. Timing might be slightly off.

  • “hardware”: Runs trigger_start to start the measurement.. Can be preconfigured

    or manually adjusted (requires trigger_start callable).

  • “manual”: Trigger setup is user-defined, useful for synchronized trigger outputs.

Parameters:
  • trigger_start (str or callable, optional) – A callable to start the measurement or “manual” for user-triggered setup. Default is “manual”.

  • trigger_reset (callable, optional) – A callable to reset the trigger after measurement. Default is None.

  • trigger_type (str, optional) – Type of trigger to use (“software”, “hardware”, “manual”). Default is “software”.

  • include_gate_name (bool, optional) – If True, appends the name of the ramped gates to the measurement name. Default is True.

  • buffer_timeout_multiplier (int, optional) – Multiplier for buffer timeout duration relative to burst duration. Default is 20.

  • sync_trigger (callable, optional) – Method for synchronized triggering. Default is None.

Returns:

datasets – A list of datasets containing the measurement results.

Return type:

list of qcodes.dataset.data_set.DataSet

Raises:
  • AttributeError – If a required method (e.g., for pulsing) is missing.

  • TimeoutError – If buffers fail to finish within the timeout duration.

  • Exception – If static or dynamic parameters have invalid configurations.

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Generic_Pulsed_Repeated_Measurement[source]

Bases: MeasurementScript

Executes a buffered pulsed measurement with repeated acquisitions. Results of the acquisitions are averaged. All setpoint arrays need to have the same length.

Triggering methods:

  • “software”: Sends a software command to each buffer and dynamic parameters

    to start data acquisition and ramping. Timing might be slightly off.

  • “hardware”: Runs trigger_start to start the measurement. Can be preconfigured

    or manually adjusted (requires trigger_start callable).

  • “manual”: Trigger setup is user-defined, useful for synchronized trigger outputs.

Parameters:
  • trigger_start (str or callable, optional) – A callable to start the measurement or “manual” for user-triggered setup. Default is “manual”.

  • trigger_reset (callable, optional) – A callable to reset the trigger after measurement. Default is None.

  • trigger_type (str, optional) – Type of trigger to use (“software”, “hardware”, “manual”). Default is “software”.

  • include_gate_name (bool, optional) – If True, appends the name of the ramped gates to the measurement name. Default is True.

  • repetitions (int, optional) – Number of repeated measurements to perform. Default is 1.

  • sync_trigger (callable, optional) – Method for synchronized triggering. Default is None.

Returns:

datasets – A list of datasets containing the measurement results.

Return type:

list of qcodes.dataset.data_set.DataSet

Raises:
  • AttributeError – If a required method (e.g., for pulsing) is missing.

  • Exception – If static or dynamic parameters have invalid configurations.

Notes

  • Results are averaged across repetitions.s<

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Generic_nD_Sweep[source]

Bases: MeasurementScript

run(**dond_kwargs)[source]

Perform an n-dimensional sweep for n dynamic parameters.

Parameters:
  • **dond_kwargs (dict) – Additional keyword arguments passed to the dond method.

  • settings) (Attributes (via) –

  • -------------------------

  • wait_time (float, optional) – Wait time (in seconds) between initialization and each measurement. Default is 5.

  • include_gate_name (bool, optional) – If True, append the names of the ramped gates to the measurement name. Default is True.

  • ramp_speed (float, optional) – Speed at which parameters are ramped during initialization. Default is 0.3.

  • ramp_time (float, optional) – Maximum time (in seconds) allowed for ramping each parameter during initialization. Default is 10.

Returns:

Dataset containing measurement data.

Return type:

QCoDeS dataset

class qumada.measurement.scripts.Measure_Spectrum[source]

Bases: MeasurementScript

kwargs:

store_timetrace: Bool|True. Stores timetrace as QCoDeS measurement store_spectrum: Bool|True:. Stores spectrum as QCoDes measurement

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

Return type:

list

class qumada.measurement.scripts.Timetrace[source]

Bases: MeasurementScript

Timetrace measurement.

Records data over a specified duration with a given timestep. Note that the actual timesteps can vary as the recording time for each datapoint is not constant. However, the elapsed time recorded is accurate.

Parameters:

**kwargs (dict) – Additional keyword arguments: - duration (float): Duration of the measurement in seconds. Default is 300. - timestep (float): Time interval between measurements in seconds. Default is 1. - auto_naming (bool): If True, renames the measurement automatically to “Timetrace”. Default is False.

Returns:

dataset – The collected dataset containing the recorded measurements.

Return type:

qcodes.dataset.measurements.Measurement

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Timetrace_buffered[source]

Bases: MeasurementScript

Performs a buffered timetrace measurement.

The measurement duration and timestep are determined via the buffer settings. Dynamic parameters are currently not supported. The method does not support “manual” triggering mode, as no ramp is started. Using “software” triggering is fine if only one buffered instrument is used; otherwise, “hardware” triggering is recommended. TODO: Add duration arg

Parameters:
  • dyn_ramp_to_val (bool, optional) – If True, dynamic parameters are ramped to their respective values during initialization.

  • trigger_start (str, optional) – Specifies the trigger start method. Default is “software”.

  • trigger_reset (callable, optional) – Function to reset the trigger after measurement. Default is None.

  • trigger_type (str, optional) – Specifies the type of trigger to use. Can be “software” or “hardware”. Default is “software”.

  • auto_naming (bool, optional) – Renames measurement automatically to “Timetrace” if True.

Returns:

datasets – A list of QCoDeS datasets containing the measurement results.

Return type:

list

Raises:

Exception – If unsupported triggering mode is selected or if a channel cannot be buffered and is not static gettable.

Notes

  • Ensure that the buffer settings are properly configured before running the measurement.

  • For “hardware” triggering, the trigger_start method must be defined.

  • Dynamic parameters are treated as “static gettable”

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Timetrace_with_Sweeps_buffered[source]

Bases: MeasurementScript

Performs a buffered timetrace measurement with dynamic sweeps.

Duration and timestep are determined via buffer settings. This method does not support dynamic parameters and cannot use “manual” triggering mode. Use “software” or “hardware” triggers.

Parameters:
  • duration (int, optional) – Total duration of the measurement in seconds. Default is 300.

  • trigger_start (str, optional) – Trigger start method. Default is “software”.

  • trigger_reset (callable, optional) – Function to reset the trigger after measurement. Default is None.

  • sync_trigger (int, optional) – Number of the used sync trigger (QDacs only). Default is None.

  • trigger_type (str, optional) – Type of trigger to use (“software”, “hardware”, “manual”). Default is “software”.

Returns:

datasets – A list of QCoDeS datasets containing the measurement results.

Return type:

list

Raises:
  • AttributeError – If the required methods for triggering or ramping are not defined.

  • TypeError – If no reset method for the trigger is defined.

Notes

  • Dynamic sweeps are executed at each timestep during the measurement.

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.

class qumada.measurement.scripts.Timetrace_with_sweeps[source]

Bases: MeasurementScript

Performs a timetrace measurement with dynamic sweeps.

Duration and timestep can be set as keyword arguments, both in seconds. Note that the timesteps may vary due to variable recording times per data point. The elapsed time recorded is accurate.

Parameters:
  • duration (int, optional) – Total duration of the measurement in seconds. Default is 300.

  • timestep (int, optional) – Time between sweeps in seconds. Default is 1.

Returns:

dataset – A QCoDeS dataset containing the measurement results.

Return type:

qcodes.dataset.data_set.DataSet

Notes

  • Dynamic sweeps are executed at each timestep during the measurement.

run()[source]

Runs the already setup measurement. you can call self.initialize in here. Abstract method.