Source code for gui.core.PeakAreas

import numpy as np
import pandas as pd
from PyQt5 import QtWidgets

from gui.ui.PeakAreas import Ui_Form
from gui.util.Modules import Modules


[docs] class PeakAreas(Ui_Form, Modules):
[docs] def setupUi(self, Form): super().setupUi(Form) Modules.setupUi(self, Form)
[docs] def get_widget(self): return self.groupBox
[docs] def connectWidgets(self): self.peakMinimaLineEdit.setText( "None (calculate from average spectrum)" ) self.setComboBox(self.chooseDataComboBox, self.datakeys) self.pushButton.clicked.connect( lambda: self.on_getDataButton_clicked(self.peakMinimaLineEdit) )
[docs] def run(self): datakey = self.chooseDataComboBox.currentText() peaks_mins_file = self.peakMinimaLineEdit.text() if peaks_mins_file == "None (calculate from average spectrum)": peaks_mins_file = None try: self.data[datakey].peak_area(peaks_mins_file) spect_label = self.data[datakey].spect_label print("Peak Areas Calculated") output = pd.DataFrame(columns=['type', spect_label]) types = np.hstack( (np.repeat('peak', len(self.data[datakey].peaks)), np.repeat('min', len(self.data[datakey].mins))) ) wvls = np.hstack( (self.data[datakey].peaks, self.data[datakey].mins) ) output['type'] = types output[spect_label] = wvls output.sort_values(spect_label, axis=0, inplace=True) output.reset_index(inplace=True, drop=True) output.to_csv(self.outpath + r'/peaks_mins.csv') print( 'Peaks and mins saved to ' + self.outpath + '/peaks_mins.csv' ) except Exception as e: print(e)
[docs] def on_getDataButton_clicked(self, lineEdit): filename, _filter = QtWidgets.QFileDialog.getOpenFileName( None, "Open " "peaks and " "minima " "File", '.', "(*.csv)" ) lineEdit.setText(filename) if lineEdit.text() == "": lineEdit.setText("None (calculate from average spectrum)")
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Form = QtWidgets.QWidget() ui = PeakAreas() ui.setupUi(Form) Form.show() sys.exit(app.exec_())