Пример #1
0
 def __init__(self, parent=None):
     """
     Constructor
     """
     super(PlotsGUI, self).__init__(parent)
     self.ui = Ui_TabWidget_Plots()
     self.ui.setupUi(self)
Пример #2
0
 def __init__(self, parent=None):
     """
     Constructor
     """
     super(PlotsGUI, self).__init__(parent)
     self.ui = Ui_TabWidget_Plots()
     self.ui.setupUi(self)
Пример #3
0
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)
Пример #4
0
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()
Пример #5
0
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)