示例#1
0
    def accept(self):

        hdf = guessHdfType(self._file)
        dmodel = ClfDataModel(self.classifier_name.currentText())

        try:
            name = hdf[dmodel.path].attrs[dmodel.NAME]
        except KeyError:
            return
        lib = hdf[dmodel.path].attrs[dmodel.LIB]

        # switch classifier before loading
        idx = self.parent().classifiers.findText(name)
        if idx < 0:
            QMessageBox.critical(self, "Error", "Classifier %s not supported" % name)
            return

        self.parent().classifiers.setCurrentIndex(idx)
        clf = self.parent().currentClassifier()
        model = self.parent().model

        self.parent().removeAll()
        self.parent().clearItems()
        if lib in (dmodel.OneClassSvm,):
            self._loadSingle(model, hdf, dmodel)
        elif lib in (dmodel.SupportVectorClassifier,):
            self._loadMultiClass(model, hdf, dmodel)
        elif lib in (dmodel.ManualClassifier,):
            self._loadMultiClass(model, hdf, dmodel)
            self.parent().setClassifierState(True, True)
            self.parent().onPredict()
        else:
            msg = "Classifier %s not supported" % lib
            QMessageBox.critical(self, "Error", msg)

        params = dict(hdf[dmodel.classdef].attrs)
        for k, v in params.items():
            if v == "None":
                params[k] = None

        self.parent().setClassifierParameters(params)

        hdf.close()
        super(LoadClassifierDialog, self).accept()
示例#2
0
    def accept(self):

        hdf = guessHdfType(self._file)
        dmodel = ClfDataModel(self.classifier_name.currentText())

        try:
            name = hdf[dmodel.path].attrs[dmodel.NAME]
        except KeyError:
            return
        lib = hdf[dmodel.path].attrs[dmodel.LIB]

        # switch classifier before loading
        idx = self.parent().classifiers.findText(name)
        if idx < 0:
            QMessageBox.critical(self, "Error",
                                 "Classifier %s not supported" % name)
            return
        self.parent().classifiers.setCurrentIndex(idx)

        clf = self.parent().currentClassifier()
        model = self.parent().model

        self.parent().removeAll()
        self.parent().clearItems()
        if lib in (dmodel.OneClassSvm, ):
            self._loadSingle(model, hdf, dmodel)
        elif lib in (dmodel.SupportVectorClassifier, ):
            self._loadMultiClass(model, hdf, dmodel)
        else:
            msg = "Classifier %s not supported" % lib
            QMessageBox.critical(self, "Error", msg)

        params = dict(hdf[dmodel.classdef].attrs)
        for k, v in params.items():
            if v == 'None':
                params[k] = None

        self.parent().setClassifierParameters(params)

        hdf.close()
        super(LoadClassifierDialog, self).accept()
示例#3
0
文件: loader.py 项目: rhoef/afw
 def openFile(self, file_):
     self.close()
     self._h5f = guessHdfType(file_)
     self.fileOpened.emit(self._h5f.fileinfo)
示例#4
0
 def openFile(self, file_):
     self.close()
     self._h5f = guessHdfType(file_)
     self.fileOpened.emit(self._h5f.fileinfo)