def open(self, filename=None, *args): if filename is None or isinstance(filename, (int, bool)): # catch Qt signal-slot connection which may # sends boolean from QAction signal filename = QFileDialog.getOpenFileNames(None, _('Open file'), '.') if filename is None: return else: filename = [unicode(fname) for fname in filename] self.open(filename) return elif not isinstance(filename, (list, tuple)): filename = [ filename, ] if len(args) != 0: filename.extend(args) for fname in filename: if re.match('.*flat$', fname): self.ffp.open(fname) measurements = self.ffp.get_measurements() elif re.match('.*\.sxm$', fname): self.nfp.open(fname) measurements = self.nfp.get_measurements() else: measurements = [] print "Unknown file type" for i in range(len(measurements)): self.register_measurement(measurements.pop())
def open(self, filename=None, *args): if filename is None or isinstance(filename, (int, bool)): # catch Qt signal-slot connection which may # sends boolean from QAction signal filename = QFileDialog.getOpenFileNames(None, _('Open file'), '.') if filename is None: return else: filename = [unicode(fname) for fname in filename] self.open(filename) return elif not isinstance(filename, (list,tuple)): filename = [filename,] if len(args) != 0: filename.extend(args) for fname in filename: if re.match('.*flat$', fname): self.ffp.open(fname) measurements = self.ffp.get_measurements() elif re.match('.*\.sxm$', fname): self.nfp.open(fname) measurements = self.nfp.get_measurements() else: measurements = [] print "Unknown file type" for i in range(len(measurements)): self.register_measurement(measurements.pop())
def load_VNASeparateFieldsMeasurement(self): """ Load a VNA measurement from a TDMS file with two magnetic field channels (field_before, field_after). Apply certain standard operations and plot data. Allow to select used channels. """ fnames = QFileDialog.getOpenFileNames( caption="Open Tdms file(s)", filter=u"TDMS (*.tdms);;All files (*.*)") for fname in fnames: tdms_file = TdmsFile(fname) channel_labels = [ "Field_before", "Field_after", "Frequency", "Re(signal)", "Im(signal)" ] paths, accepted = TdmsChannelSelectDialog.get_group_channels( tdms_file=tdms_file, channel_labels=channel_labels) m = VNASeparateFieldsMeasurement(fname=fname, tdms_file=tdms_file, path_field_before=paths[0], path_field_after=paths[1], path_frequency=paths[2], path_real_signal=paths[3], path_imag_signal=paths[4]) m.add_operation(bp.derivative_divide, modulation_amp=4) m.add_operation(bp.mag) self.add_measurement(m, cmap="RdYlGn") return fnames
def load_VNAMeasurement_select_channels(self): """ Load a VNA measurement from a TDMS file. Apply certain standard operations and plot data. Allow to select used channels. """ fnames = QFileDialog.getOpenFileNames( caption="Open Tdms file(s)", filter=u"TDMS (*.tdms);;All files (*.*)") for fname in fnames: tdms_file = TdmsFile(fname) channel_labels = [ "Field channel", "Frequency channel", "Re(signal) channel", "Im(signal) channel" ] paths, accepted = TdmsChannelSelectDialog.get_group_channels( tdms_file=tdms_file, channel_labels=channel_labels) m = VNAMeasurement(fname=fname, tdms_file=tdms_file, group=paths[2][0], field_channel=paths[0][1], freq_channel=paths[1][1], signal_channel=paths[2][1], imag_channel=paths[3][1]) m.add_operation(bp.derivative_divide, modulation_amp=4) m.add_operation(bp.mag) self.add_measurement(m, cmap="RdYlGn") return fnames
def load_measurement(self): """ Load measurements according to .measurement.json file(s) """ fnames = QFileDialog.getOpenFileNames( caption="Open Tdms file(s)", filter= u"Measurements Object Descriptions (*.measurement.json);;All files (*.*)" ) for fname in fnames: with open(fname, "r") as f: m = jsonpickle.loads(f.read()) self.add_measurement(m, cmap="RdYlGn") return fnames
def load_VNAMeasurement(self): """ Load a VNA measurement from a TDMS file. Apply certain standard operations and plot data. """ fnames = QFileDialog.getOpenFileNames( caption="Open Tdms file(s)", filter=u"TDMS (*.tdms);;All files (*.*)") for fname in fnames: m = VNAMeasurement(fname) m.add_operation(bp.derivative_divide, modulation_amp=4) m.add_operation(bp.mag) self.add_measurement(m, cmap="RdYlGn") return fnames