def save_data(self): """ save the data """ if self.tab_id == 0: # 1D label = self._1D__gate_name elif self.tab_id == 1: # 2D label = self._2D__gate1_name + '_vs_' + self._2D__gate2_name is_ds_configured = False try: is_ds_configured = isinstance(sample_info.project, str) except: pass try: if is_ds_configured: logging.info('Save') job = do0D(self.vm_data_param, name=label) ds = job.run() return ds else: # use qcodes measurement measure = Measure(self.vm_data_param) data = measure.get_data_set(location=None, loc_record={ 'name': 'vm_data', 'label': label}) data = measure.run(quiet=True) data.finalize() except: logging.error(f'Error during save data', exc_info=True)
def _do_measurement_single(measurement: Measure, meas_params: tuple, do_plots: Optional[bool]=True, use_threads: bool=True) -> Tuple[QtPlot, DataSet]: try: parameters = list(meas_params) _flush_buffers(*parameters) interrupted = False try: data = measurement.run(use_threads=use_threads) except KeyboardInterrupt: interrupted = True print("Measurement Interrupted") if do_plots: plot, _ = _plot_setup(data, meas_params) # Ensure the correct scaling before saving plot.autorange() plot.save() if 'pdf_subfolder' in CURRENT_EXPERIMENT or 'png_subfolder' in CURRENT_EXPERIMENT: _do_MatPlot(data,meas_params) else: plot = None log.info("#[QCoDeS]# Saved dataset to: {}".format(data.location)) if interrupted: raise KeyboardInterrupt except: log.exception("Exception in doO") raise return plot, data
def qc_run(name, seq, *params): loop = None for sp in seq.params: if loop is None: loop = Loop(sp[sp.values]) else: loop = loop.loop((sp[sp.values])) play_task = Task(upload_play, seq) if loop is not None: m = loop.each(play_task, *params) else: m = Measure(play_task, *params) ds = m.run(loc_record={'name':name}) return ds