def __init__(self, parent=None): """ Constructor """ super(PlotsGUI, self).__init__(parent) self.ui = Ui_TabWidget_Plots() self.ui.setupUi(self)
class PlotsGUI(QTabWidget): """ classdocs """ def __init__(self, parent=None): """ Constructor """ super(PlotsGUI, self).__init__(parent) self.ui = Ui_TabWidget_Plots() self.ui.setupUi(self) def setup(self, analysis): self.ana = analysis self.__connect_events() self.__setup_plots() def __setup_plots(self): # Signal self.mpl_sig = MatplotlibWidget(title='Signal', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_sig.setObjectName("matplotlibwidget_Signal") self.ui.verticalLayout.addWidget(self.mpl_sig) navigation = NavigationToolbar(self.mpl_sig, self) self.ui.verticalLayout.addWidget(navigation) # Frequency spectrum self.mpl_spec = MatplotlibWidget(title='Spectrum', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_spec.setObjectName("matplotlibwidget_Spectrum") self.ui.verticalLayout_2.addWidget(self.mpl_spec) navigation = NavigationToolbar(self.mpl_spec, self) self.ui.verticalLayout_2.addWidget(navigation) # Mass spectrum self.mpl_mass = MatplotlibWidget(title='Mass', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_mass.setObjectName("matplotlibwidget_Mass") self.ui.verticalLayout_3.addWidget(self.mpl_mass) navigation = NavigationToolbar(self.mpl_mass, self) self.ui.verticalLayout_3.addWidget(navigation) # Mass spectrum self.mpl_peaks = MatplotlibWidget(title='Peaks', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_peaks.setObjectName("matplotlibwidget_Peaks") self.ui.verticalLayout_4.addWidget(self.mpl_peaks) navigation = NavigationToolbar(self.mpl_peaks, self) self.ui.verticalLayout_4.addWidget(navigation) # default tab = signal self.setCurrentIndex(0) def __connect_events(self): self.ana.plotSigRaisedSignal.connect(self.update_signal) self.ana.plotSpecRaisedSignal.connect(self.update_spectrum) self.ana.plotMassRaisedSignal.connect(self.update_mass) self.ana.plotPeaksRaisedSignal.connect(self.update_peaks) self.currentChanged.connect(self.change_tab) def change_tab(self): if self.currentIndex() == 3: self.ana.ui.pushButton_SaveToAscii.setVisible(True) self.ana.ui.pushButton_ChangeAsciiDir.setVisible(True) else: self.ana.ui.pushButton_SaveToAscii.setVisible(False) self.ana.ui.pushButton_ChangeAsciiDir.setVisible(False) def update_signal(self, shortname, y, step, start, end): title = shortname + " - signal - " + \ "(" + str(start) + ", " + str(end) + ")" x = np.arange(len(y)) * step * 1e3 # in ms self.mpl_sig.plot_data(x, y, title, "time (ms)", "a.u.") def update_spectrum(self, shortname, y, freq): title = shortname + " - frequency spectrum" x = freq / 1e3 # in kHz self.mpl_spec.plot_data(x, y, title, "Freq. (kHz)", "a.u.") def update_mass(self, shortname, y, mass, ref, cyclo, mag, hold): title = shortname + " - mass spectrum - " + \ "(" + str(ref) + ", " + str(cyclo) + ", " + str(mag) + ")" x = mass self.mpl_mass.plot_mass(x, y, title, "Mass (u)", "a.u.", hold) def update_peaks(self, shortname, y, mass, ind, mph, mpd, x1, x2): title = shortname + " - mass spectrum - " + \ "(mph=" + str(mph) + ", mpd=" + str(mpd) + ")" x = mass self.mpl_peaks.plot_peaks(x, y, ind, title, "Mass (u)", "a.u.", x1, x2)
class PlotsGUI(QTabWidget): """ classdocs """ def __init__(self, parent=None): """ Constructor """ super(PlotsGUI, self).__init__(parent) self.ui = Ui_TabWidget_Plots() self.ui.setupUi(self) def setup(self, analysis): self.ana = analysis self.__connect_events() self.__setup_plots() def __setup_plots(self): # Time spectrum self.mpl_time = MatplotlibWidget( title='Time', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_time.setObjectName("matplotlibwidget_Time") self.ui.verticalLayout_1.addWidget(self.mpl_time) navigation = NavigationToolbar(self.mpl_time, self) self.ui.verticalLayout_1.addWidget(navigation) # Mass spectrum self.mpl_mass = MatplotlibWidget( title='Mass', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_mass.setObjectName("matplotlibwidget_Mass") self.ui.verticalLayout_2.addWidget(self.mpl_mass) navigation = NavigationToolbar(self.mpl_mass, self) self.ui.verticalLayout_2.addWidget(navigation) # Peaks self.mpl_peaks = MatplotlibWidget( title='Peaks', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_peaks.setObjectName("matplotlibwidget_Peaks") self.ui.verticalLayout_3.addWidget(self.mpl_peaks) navigation = NavigationToolbar(self.mpl_peaks, self) self.ui.verticalLayout_3.addWidget(navigation) # Calib self.mpl_calib = MatplotlibWidget( title='Calibration', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_calib.setObjectName("matplotlibwidget_Calib") self.ui.verticalLayout_4.addWidget(self.mpl_calib) navigation = NavigationToolbar(self.mpl_calib, self) self.ui.verticalLayout_4.addWidget(navigation) # default tab = signal self.setCurrentIndex(0) def __connect_events(self): self.ana.plotTimeRaisedSignal.connect(self.update_time) self.ana.plotMassRaisedSignal.connect(self.update_mass) self.ana.plotPeaksRaisedSignal.connect(self.update_peaks) self.ana.plotCalibRaisedSignal.connect(self.update_calib) self.ana.plotClearRaisedSignal.connect(self.clear_plots) def update_time(self, shortname, x, y): log.debug("event from %s", self.sender()) title = shortname + " - time spectrum" self.mpl_time.plot_data(x, y, title, "Time (ns)", "Intensity (a.u.)") def update_mass(self, shortname, mass, y, hold): log.debug("event from %s", self.sender()) title = shortname + " - mass spectrum" x = mass self.mpl_mass.plot_mass(x, y, title, "m/z", "Intensity (a.u.)", hold) def update_peaks(self, shortname, mass, y, xind, yind, mph, mpd, x1, x2): log.debug("event from %s", self.sender()) title = shortname + " - mass spectrum - " + \ "(mph=" + str(mph) + ", mpd=" + str(mpd) + ")" x = mass self.mpl_peaks.plot_peaks( x, y, xind, yind, title, "m/z", "Intensity (a.u.)", x1, x2) def update_calib(self, shortname, mass_list, time_list, calib_mass, time): log.debug("event from %s", self.sender()) title = shortname + "Calibration curve" self.mpl_calib.plot_calib(mass_list, time_list, calib_mass, time, title, "m/z", "Time (ns)") def clear_plots(self, mass, peaks, calib): if mass: self.mpl_mass.hide() else: self.mpl_mass.show() if peaks: self.mpl_peaks.hide() else: self.mpl_peaks.show() if calib: self.mpl_calib.hide() else: self.mpl_calib.show()
class PlotsGUI(QTabWidget): """ classdocs """ def __init__(self, parent=None): """ Constructor """ super(PlotsGUI, self).__init__(parent) self.ui = Ui_TabWidget_Plots() self.ui.setupUi(self) def setup(self, analysis): self.ana = analysis self.__connect_events() self.__setup_plots() def __setup_plots(self): # Signal self.mpl_sig = MatplotlibWidget( title='Signal', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_sig.setObjectName("matplotlibwidget_Signal") self.ui.verticalLayout.addWidget(self.mpl_sig) navigation = NavigationToolbar(self.mpl_sig, self) self.ui.verticalLayout.addWidget(navigation) # Frequency spectrum self.mpl_spec = MatplotlibWidget( title='Spectrum', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_spec.setObjectName("matplotlibwidget_Spectrum") self.ui.verticalLayout_2.addWidget(self.mpl_spec) navigation = NavigationToolbar(self.mpl_spec, self) self.ui.verticalLayout_2.addWidget(navigation) # Mass spectrum self.mpl_mass = MatplotlibWidget( title='Mass', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_mass.setObjectName("matplotlibwidget_Mass") self.ui.verticalLayout_3.addWidget(self.mpl_mass) navigation = NavigationToolbar(self.mpl_mass, self) self.ui.verticalLayout_3.addWidget(navigation) # Mass spectrum self.mpl_peaks = MatplotlibWidget( title='Peaks', xlabel='n/a', ylabel='n/a', dpi=70) self.mpl_peaks.setObjectName("matplotlibwidget_Peaks") self.ui.verticalLayout_4.addWidget(self.mpl_peaks) navigation = NavigationToolbar(self.mpl_peaks, self) self.ui.verticalLayout_4.addWidget(navigation) # default tab = signal self.setCurrentIndex(0) def __connect_events(self): self.ana.plotSigRaisedSignal.connect(self.update_signal) self.ana.plotSpecRaisedSignal.connect(self.update_spectrum) self.ana.plotMassRaisedSignal.connect(self.update_mass) self.ana.plotPeaksRaisedSignal.connect(self.update_peaks) def update_signal(self, shortname, y, step, start, end): title = shortname + " - signal - " + \ "(" + str(start) + ", " + str(end) + ")" x = np.arange(len(y)) * step * 1e3 # in ms self.mpl_sig.plot_data(x, y, title, "time (ms)", "a.u.") def update_spectrum(self, shortname, y, freq): title = shortname + " - frequency spectrum" x = freq / 1e3 # in kHz self.mpl_spec.plot_data(x, y, title, "Freq. (kHz)", "a.u.") def update_mass(self, shortname, y, mass, ref, cyclo, mag, hold): title = shortname + " - mass spectrum - " + \ "(" + str(ref) + ", " + str(cyclo) + ", " + str(mag) + ")" x = mass self.mpl_mass.plot_mass(x, y, title, "Mass (u)", "a.u.", hold) def update_peaks(self, shortname, y, mass, ind, mph, mpd, x1, x2): title = shortname + " - mass spectrum - " + \ "(mph=" + str(mph) + ", mpd=" + str(mpd) + ")" x = mass self.mpl_peaks.plot_peaks( x, y, ind, title, "Mass (u)", "a.u.", x1, x2)