Пример #1
0
    def onRunClicked(self):
        tr = self.tr
        self._mcmcSettings = None
        self.coordinates = []
        self.mcmcHistory =None

        self.leAcceptRate.clear()
        pDict = self.loadData()
        if pDict is not None:
            self._mcmcSettings = MCMCSettings( pDict[ 'data'  ], pDict[ 'nbit' ],
                                               pDict['nburnin'], pDict[ 'nkeep'],
                                               pDict[ 'nskip' ], pDict[ 'seed' ],
                                               pDict['logstep'], pDict['factor'])

            _mcmcDriver = MCMCDriver(self._mcmcSettings)
            if not isinstance(_mcmcDriver, MCMCDriver): raise ValueError

            self.mcmcHistory, self.bestFit, acceptRate = _mcmcDriver.run()

            palette = QPalette()
            if acceptRate >= 0.1 and acceptRate <= 0.4:
                palette.setColor(QPalette.Text,Qt.darkGreen)
            else:
                palette.setColor(QPalette.Text,Qt.red)
            self.leAcceptRate.setPalette(palette)
            self.leAcceptRate.setText(str(acceptRate))

            _convergDlg = DlgConvergence( self.mcmcHistory, self)
            _convergDlg.show()

            self.emit(SIGNAL('runStateChanged'))
        elif False == self.msgboxState:
            msg = tr("Sufficient to obtain the required datas or MCMCParams first.")
            QMessageBox.information(self, tr('information'), msg)
Пример #2
0
 def onConvergClicked(self):
     _convergDlg = DlgConvergence(self.mcmcHistory, self)
     _convergDlg.show()