Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def load_info(self):
try:
for row in range(self._treemodel.rowCount()):
index = self._treemodel.index(row, 0)
i = 0
while (index.child(i, 0).data() is not None):
filename = index.child(i, 3).data()
loc = '\\'.join(filename.split('\\')[:-1])
tempdata = DataSet(loc)
tempdata.read_metadata()
infotxt = DataViewer.get_data_info(tempdata.metadata)
self._treemodel.setData(index.child(i, 1), infotxt)
if 'comment' in tempdata.metadata.keys():
self._treemodel.setData(index.child(
i, 4), tempdata.metadata['comment'])
i = i + 1
except Exception as e:
print(e)
subtitlebox.Name = 'subtitle box'
subtitlebox.TextFrame.TextRange.Text = subtitle
if notes is None:
warnings.warn(
'please set notes for the powerpoint slide. e.g. use the station or reshape_metadata')
if isinstance(notes, qcodes.Station):
station = notes
gates = getattr(station, 'gates', None)
notes = reshape_metadata(station, printformat='s', add_scanjob=True)
if extranotes is not None:
notes = '\n' + extranotes + '\n' + notes
if gates is not None:
notes = 'gates: ' + str(gates.allvalues()) + '\n\n' + notes
elif isinstance(notes, DataSet):
notes = reshape_metadata(notes, printformat='s', add_gates=True)
if not isinstance(notes, str):
warnings.warn(f'type of notes argument is {type(notes)}, converting to string')
notes = str(notes)
if notes is not None:
if notes == '':
notes = ' '
slide.notespage.shapes.placeholders[
2].textframe.textrange.insertafter(notes)
if activate_slide:
idx = int(slide.SlideIndex)
if verbose >= 2:
print('addPPTslide: goto slide %d' % idx)
def set_location_name(name, verbose=1):
if verbose:
print('setting location name tag to %s' % name)
qcodes.data.data_set.DataSet.location_provider.base_record['name'] = name
# %%
def __init__(self):
super().__init__()
self.register(qcodes.Instrument, encode_qcodes_instrument, '__qcodes_instrument__',
decode_qcodes_instrument)
self.register(DataSet, encode_qcodes_dataset, '__qcodes_dataset__', decode_qcodes_dataset)
self.register(np.ndarray, encode_numpy_array, np.array.__name__, decode_numpy_array)
for numpy_integer_type in [np.int16, np.int32, np.int64, np.float16, np.float32, np.float64, np.bool_]:
self.register(numpy_integer_type, encode_numpy_number, '__npnumber__', decode_numpy_number)
Args:
data_directory (string or None): The directory to scan for experiments.
default_parameter (string): A name of default parameter to plot.
extensions (list): A list with the data file extensions to filter.
verbose (int): The logging verbosity level.
"""
super(DataViewer, self).__init__()
if extensions is None:
extensions = ['dat', 'hdf5']
self.verbose = verbose
self.default_parameter = default_parameter
self.data_directories = [None] * 2
self.directory_index = 0
if data_directory is None:
data_directory = DataSet.default_io.base_location
self.extensions = extensions
# setup GUI
self.dataset = None
self.text = QtWidgets.QLabel()
# logtree
self.logtree = QtWidgets.QTreeView()
self.logtree.setSelectionBehavior(
QtWidgets.QAbstractItemView.SelectRows)
self._treemodel = QtGui.QStandardItemModel()
self.logtree.setModel(self._treemodel)
# metatabs
self.meta_tabs = QtWidgets.QTabWidget()
""" Get a dataset from a results dictionary, a string or a dataset.
Args:
dataset_handle (str, dict or DataSet): either location of dataset,
the dataset itself or a calibration structure.
Returns:
DataSet: The dataset from the handle.
"""
if isinstance(dataset_handle, dict):
dataset_handle = dataset_handle.get('dataset', None)
if isinstance(dataset_handle, str):
return qtt.data.load_dataset(dataset_handle)
if isinstance(dataset_handle, DataSet):
return dataset_handle
raise ValueError('Invalid dataset argument type ({})!'.format(type(dataset_handle)))
verbose (int): prints info to the console when > 0
Returns:
tunnelrate_dn (numpy.float64): tunneling rate of the down level to the up level (kHz) or None in case of
not enough datapoints
tunnelrate_up (numpy.float64): tunneling rate of the up level to the down level (kHz) or None in case of
not enough datapoints
parameters (dict): dictionary with relevent (fit) parameters. this includes:
tunnelrate_down (float): tunnel rate in Hz
tunnelrate_up (float): tunnel rate up in Hz
"""
if plungers is not None:
raise Exception('argument plungers is not used any more')
if isinstance(data, qcodes.data.data_set.DataSet):
if samplerate is None:
samplerate = data.metadata.get('samplerate', None)
data = np.array(data.default_parameter_array())
if samplerate is None:
raise ValueError('samplerate should be set to the data samplerate in Hz')
# plotting a 2d histogram of the RTS
if fig:
xdata = np.array(range(0, len(data))) / samplerate * 1000
Z, xedges, yedges = np.histogram2d(xdata, data, bins=[int(
np.sqrt(len(xdata)) / 2), int(np.sqrt(len(data)) / 2)])
title = '2d histogram RTS'
Fig = plt.figure(fig)
plt.clf()