Ejemplo n.º 1
0
    def filterByTime(self):
        """ Filter by time
        """
        # Generate event filters
        kwargs = {}
        if self.ui.lineEdit_3.text() != "":
            rel_starttime = float(self.ui.lineEdit_3.text())
            kwargs["StartTime"] = str(rel_starttime)
        if self.ui.lineEdit_4.text() != "":
            rel_stoptime = float(self.ui.lineEdit_4.text())
            kwargs["StopTime"] = str(rel_stoptime)
        if self.ui.lineEdit_timeInterval.text() != "":
            interval = float(self.ui.lineEdit_timeInterval.text())
            kwargs["TimeInterval"] = interval

        splitwsname = str(self._dataWS) + "_splitters"
        splitinfowsname = str(self._dataWS) + "_info"

        title = str(self.ui.lineEdit_title.text())
        fastLog = self.ui.checkBox_fastLog.isChecked()

        splitws, infows = api.GenerateEventsFilter(
            InputWorkspace=self._dataWS,
            UnitOfTime="Seconds",
            TitleOfSplitters=title,
            OutputWorkspace=splitwsname,
            FastLog=fastLog,
            InformationWorkspace=splitinfowsname,
            **kwargs)

        self.splitWksp(splitws, infows)

        return
Ejemplo n.º 2
0
    def filterByLogValue(self):
        """ Filter by log value
        """
        # Generate event filter
        kwargs = {}
        samplelog = str(self.ui.comboBox_2.currentText())
        if len(samplelog) == 0:
            error_msg = "No sample log is selected!"
            Logger("Filter_Events").error(error_msg)
            return

        if self.ui.lineEdit_3.text() != "":
            rel_starttime = float(self.ui.lineEdit_3.text())
            kwargs["StartTime"] = str(rel_starttime)

        if self.ui.lineEdit_4.text() != "":
            rel_stoptime = float(self.ui.lineEdit_4.text())
            kwargs["StopTime"] = str(rel_stoptime)

        if self.ui.lineEdit_5.text() != "":
            minlogvalue = float(self.ui.lineEdit_5.text())
            kwargs["MinimumLogValue"] = minlogvalue

        if self.ui.lineEdit_6.text() != "":
            maxlogvalue = float(self.ui.lineEdit_6.text())
            kwargs["MaximumLogValue"] = maxlogvalue

        if self.ui.lineEdit_7.text() != "":
            logvalueintv = float(self.ui.lineEdit_7.text())
            kwargs["LogValueInterval"] = logvalueintv
        logvalchangedir = str(self.ui.comboBox_4.currentText())
        kwargs["FilterLogValueByChangingDirection"] = logvalchangedir

        if self.ui.lineEdit_9.text() != "":
            logvalueintv = float(self.ui.lineEdit_9.text())
            kwargs["TimeTolerance"] = logvalueintv
        logboundtype = str(self.ui.comboBox_5.currentText())
        kwargs["LogBoundary"] = logboundtype

        if self.ui.lineEdit_8.text() != "":
            logvaluetol = float(self.ui.lineEdit_8.text())
            kwargs["LogValueTolerance"] = logvaluetol

        splitwsname = str(self._dataWS) + "_splitters"
        splitinfowsname = str(self._dataWS) + "_info"
        fastLog = self.ui.checkBox_fastLog.isChecked()

        title = str(self.ui.lineEdit_title.text())
        try:
            splitws, infows = api.GenerateEventsFilter(InputWorkspace=self._dataWS,
                                                       UnitOfTime="Seconds",
                                                       TitleOfSplitters=title,
                                                       OutputWorkspace=splitwsname,
                                                       LogName=samplelog,
                                                       FastLog=fastLog,
                                                       InformationWorkspace=splitinfowsname,
                                                       **kwargs)
            self.splitWksp(splitws, infows)
        except RuntimeError as e:
            self._setErrorMsg("Splitting Failed!\n %s" % (str(e)))
Ejemplo n.º 3
0
    def filterByTime(self):
        """ Filter by time
        """
        # Generate event filters
        if not self._dataWS:
            error_msg = "No workspace has been loaded for use!"
            Logger("Filter_Events").error(error_msg)
            return

        kwargs = {}

        xlim = self.ui.mainplot.get_xlim()
        kwargs["StartTime"] = self.ui.lineEdit_3.text(
        ) if self.ui.lineEdit_3.text() != "" else str(xlim[0])
        kwargs["StopTime"] = self.ui.lineEdit_4.text(
        ) if self.ui.lineEdit_4.text() != "" else str(xlim[1])

        if self.ui.lineEdit_timeInterval.text() != "":
            kwargs["TimeInterval"] = self.ui.lineEdit_timeInterval.text()
        kwargs[
            "useReverseLogarithmic"] = self.ui.useReverseLogarithmic.isChecked(
            )

        splitwsname = str(self._dataWS) + "_splitters"
        splitinfowsname = str(self._dataWS) + "_info"

        title = str(self.ui.lineEdit_title.text())
        fastLog = self.ui.checkBox_fastLog.isChecked()

        try:
            splitws, infows = api.GenerateEventsFilter(
                InputWorkspace=self._dataWS,
                UnitOfTime="Seconds",
                TitleOfSplitters=title,
                OutputWorkspace=splitwsname,
                FastLog=fastLog,
                InformationWorkspace=splitinfowsname,
                **kwargs)
        except (RuntimeError, ValueError) as e:
            Logger("Filter_Events").error(
                "Splitting failed ! \n {0}".format(e))
            return

        self.splitWksp(splitws, infows)
Ejemplo n.º 4
0
    def filterByTime(self):
        """ Filter by time
        """
        # Generate event filters
        kwargs = {}
        if self.ui.lineEdit_3.text() != "":
            rel_starttime = float(self.ui.lineEdit_3.text())
            kwargs["StartTime"] = str(rel_starttime)
        if self.ui.lineEdit_4.text() != "":
            rel_stoptime = float(self.ui.lineEdit_4.text())
            kwargs["StopTime"] = str(rel_stoptime)
        if self.ui.lineEdit_timeInterval.text() != "":
            interval = float(self.ui.lineEdit_timeInterval.text())
            kwargs["TimeInterval"] = interval

        splitwsname = str(self._dataWS) + "_splitters"
        splitinfowsname = str(self._dataWS) + "_info"

        title = str(self.ui.lineEdit_title.text())
        """ Debug 
        for k in kwargs.keys():
            print k, kwargs[k], type(kwargs[k])
        print "Input workspace = ", str(self._dataWS)
         END DB """

        splitws, infows = api.GenerateEventsFilter(
            InputWorkspace=self._dataWS,
            UnitOfTime="Seconds",
            TitleOfSplitters=title,
            OutputWorkspace=splitwsname,
            InformationWorkspace=splitinfowsname,
            **kwargs)

        self.splitWksp(splitws, infows)

        return