Source code for gui.core.EndmemberIdentify

from PyQt5 import QtWidgets

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


[docs] class EndmemberIdentify(Ui_Form, Modules):
[docs] def setupUi(self, Form): self.Form = Form super().setupUi(Form) Modules.setupUi(self, Form)
[docs] def get_widget(self): return self.groupLayout
[docs] def connectWidgets(self, setup=False): self.algorithm_list = ['Choose an algorithm', 'PPI', 'N-FINDR', 'ATGP', 'FIPPI', 'SMACC' ] self.setComboBox(self.chooseDataComboBox, self.datakeys) self.setComboBox(self.chooseAlgorithmComboBox, self.algorithm_list) self.changeComboListVars(self.xVariableList, self.xvar_choices()) self.chooseDataComboBox.currentIndexChanged.connect( lambda: self.changeComboListVars( self.xVariableList, self.xvar_choices() ) )
[docs] def run(self): method = self.chooseAlgorithmComboBox.currentText() datakey = self.chooseDataComboBox.currentText() xvars = [str(x.text()) for x in self.xVariableList.selectedItems()] n_endmembers = self.n_endmembers_spinBox.value() if method == 'FIPPI': n_endmembers = n_endmembers - 1 self.data[datakey].endmember_identify(xvars, method, n_endmembers)
[docs] def xvar_choices(self): try: xvarchoices = \ self.data[ self.chooseDataComboBox.currentText()].df.columns.levels[ 0].values xvarchoices = [i for i in xvarchoices if 'Unnamed' not in i] # remove unnamed columns # from choices except: xvarchoices = ['No valid choices!'] return xvarchoices
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Form = QtWidgets.QWidget() ui = EndmemberIdentify() ui.setupUi(Form) Form.show() sys.exit(app.exec_())