diff --git a/qdev_wrappers/dataset/doNd.py b/qdev_wrappers/dataset/doNd.py index aadde4e9..dae5c4c4 100644 --- a/qdev_wrappers/dataset/doNd.py +++ b/qdev_wrappers/dataset/doNd.py @@ -120,6 +120,7 @@ def do1d( enter_actions: ActionsT = (), exit_actions: ActionsT = (), write_period: Optional[float] = None, + register_params: Optional[_BaseParameter] = None, do_plot: bool = True ) -> AxesTupleListWithRunId: """ @@ -141,6 +142,8 @@ def do1d( called before the measurements start exit_actions: A list of functions taking no arguments that will be called after the measurements ends + register_params: A list of setpoint parameters to be registered in the + measurement but not scanned. do_plot: should png and pdf versions of the images be saved after the run. @@ -148,8 +151,12 @@ def do1d( The run_id of the DataSet created """ meas = Measurement() - _register_parameters(meas, (param_set,)) - _register_parameters(meas, param_meas, setpoints=(param_set,)) + if register_params is None: + register_params = tuple() + setpoint_params = (param_set,) + tuple(register_params) + _register_parameters(meas, setpoint_params) + _register_parameters(meas, param_meas, setpoints=setpoint_params) + params_to_measure = param_meas + tuple(register_params) _set_write_period(meas, write_period) _register_actions(meas, enter_actions, exit_actions) param_set.post_delay = delay @@ -161,7 +168,7 @@ def do1d( for set_point in np.linspace(start, stop, num_points): param_set.set(set_point) datasaver.add_result((param_set, set_point), - *_process_params_meas(param_meas)) + *_process_params_meas(params_to_measure)) return _handle_plotting(datasaver, do_plot, interrupted()) @@ -178,6 +185,7 @@ def do2d( after_inner_actions: ActionsT = (), write_period: Optional[float] = None, flush_columns: bool = False, + register_params: Optional[_BaseParameter] = None, do_plot: bool=True ) -> AxesTupleListWithRunId: @@ -209,6 +217,8 @@ def do2d( called after the measurements ends before_inner_actions: Actions executed before each run of the inner loop after_inner_actions: Actions executed after each run of the inner loop + register_params: A list of setpoint parameters to be registered in the + measurement but not scanned. do_plot: should png and pdf versions of the images be saved after the run. @@ -217,8 +227,12 @@ def do2d( """ meas = Measurement() - _register_parameters(meas, (param_set1, param_set2)) - _register_parameters(meas, param_meas, setpoints=(param_set1, param_set2)) + if register_params is None: + register_params = tuple() + setpoint_params = (param_set1, param_set2,) + tuple(register_params) + _register_parameters(meas, setpoint_params) + _register_parameters(meas, param_meas, setpoints=setpoint_params) + params_to_measure = param_meas + tuple(register_params) _set_write_period(meas, write_period) _register_actions(meas, enter_actions, exit_actions) @@ -242,7 +256,7 @@ def do2d( datasaver.add_result((param_set1, set_point1), (param_set2, set_point2), - *_process_params_meas(param_meas)) + *_process_params_meas(params_to_measure)) for action in after_inner_actions: action() if flush_columns: