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 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_())