#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Tue Mar 26 17:44:44 2019 @author: kantundpeterpan """ from matplotlib.widgets import Cursor import matplotlib.pyplot as plt from PyQt5 import QtGui, QtWidgets class EasyCursor(Cursor): def select_integration_range(self): data_from_input = plt.ginput(n=2, show_clicks = True) integration_range = [x for (x,y) in data_from_input] print(integration_range) return integration_range def integrate_scans(self): integration_range = self.select_integration_range() tmin = integration_range[0] tmax = integration_range[1] self.msanalyzer.mzml_parser.combine_spectra(tmin, tmax) self.msanalyzer.analysis.plot_spectrum() def open_pop_menu(self, event): if event.button == 2 and event.inaxes == self.msanalyzer.analysis.tic_ax: self.pop_menu.popup(self.qcursor.pos()) def __init__(self, ax, useblit=True, color = 'darkgrey', linewidth=1, msanalyzer = None): Cursor.__init__(self,ax, useblit=useblit, color = color, linewidth=linewidth) if msanalyzer != None: self.msanalyzer = msanalyzer self.qcursor = QtGui.QCursor() self.pop_menu = QtWidgets.QMenu() action = self.pop_menu.addAction('Select integration interval') action.triggered.connect(self.integrate_scans)