def process(self):
     params = {}
     print(self.tableWidget.rowCount())
     for i in range(self.tableWidget.rowCount()):
         a = self.tableWidget.item(i, 0)
         b = self.tableWidget.item(i, 1)
         params[str(a.text())] = int(b.text())
    # print "params",params
     outpN = self.tableWidget.item(0, 0)
     #params = {"none": "none", "output_length": outpN}
     '''
     if self.currentdata==[]:
         data = self.prc.preprocData(self.flowData, params)
     else:
         data = self.prc.preprocData(self.currentdata, params)
     '''
     #self.dc.setCurrentDataFlowObject(data)
     #print data
     if params==[]:
         data = self.prc.preprocData(self.flowData, params)
     elif params!=[]:
         data = self.prc.preprocData(self.flowData, params)
     self.plot.del_all_items()
     print data
     print type(data)
     self.plot.add_item(make.curve(range(0, len(data)), data))
     self.rangeSelection = make.range(-2, 2)
     disp0 = make.range_info_label(self.rangeSelection, 'BR', u"x = %.1f +- %.1f cm",
                                   title="Range infos")
     #self.plot.add_item(self.rangeSelection)
     #self.plot.add_item(disp0)
     self.plot.replot()
     #self.dc.setCurrentDataFlowObject(data)
     self.dc.preprocData = data
     self.currentdata = np.reshape(data, (-1, 1))
Example #2
0
def test():
    """Test"""
    # -- Create QApplication
    import guidata

    _app = guidata.qapplication()
    # --
    from numpy import linspace, sin, trapz

    x = linspace(-10, 10, 1000)
    y = sin(sin(sin(x)))

    curve = make.curve(x, y, "ab", "b")
    range = make.range(-2, 2)
    disp0 = make.range_info_label(range, "BR", "x = %.1f ± %.1f cm", title="Range infos")

    disp1 = make.computation(range, "BL", "trapz=%g", curve, lambda x, y: trapz(y, x))

    disp2 = make.computations(
        range,
        "TL",
        [
            (curve, "min=%.5f", lambda x, y: y.min()),
            (curve, "max=%.5f", lambda x, y: y.max()),
            (curve, "avg=%.5f", lambda x, y: y.mean()),
        ],
    )
    legend = make.legend("TR")
    plot(curve, range, disp0, disp1, disp2, legend)
Example #3
0
def test():
    """Test"""
    # -- Create QApplication
    import guidata

    _app = guidata.qapplication()
    # --
    from numpy import linspace, sin, trapz

    x = linspace(-10, 10, 1000)
    y = sin(sin(sin(x)))

    curve = make.curve(x, y, "ab", "b")
    range = make.range(-2, 2)
    disp0 = make.range_info_label(range,
                                  "BR",
                                  "x = %.1f ± %.1f cm",
                                  title="Range infos")

    disp1 = make.computation(range, "BL", "trapz=%g", curve,
                             lambda x, y: trapz(y, x))

    disp2 = make.computations(
        range,
        "TL",
        [
            (curve, "min=%.5f", lambda x, y: y.min()),
            (curve, "max=%.5f", lambda x, y: y.max()),
            (curve, "avg=%.5f", lambda x, y: y.mean()),
        ],
    )
    legend = make.legend("TR")
    plot(curve, range, disp0, disp1, disp2, legend)
 def loadData(self):
     self.trainingData = self.dataController.loadSampleData()
     self.plot.add_item(make.curve(range(0, self.trainingData.shape[0]), self.trainingData["PIR"][:]))
     self.rangeSelection = make.range(-2, 2)
     disp0 = make.range_info_label(self.rangeSelection, 'BR', u"x = %.1f +- %.1f cm",
                                   title="Range infos")
     self.plot.add_item(self.rangeSelection)
     self.plot.add_item(disp0)
     self.plot.replot()
 def loadData(self):
     self.trainingData = self.dataController.loadSampleData()
     import logic.DimensionalityReduceControl as controller
     c = controller.DimensionalityReduceControl()
     c.selectAlgorithm(2)
     outpN = 100
     params = {"none": "none", "output_length": outpN}
     data = c.reduceData(self.trainingData["PIR"][:],params)
     print data
     self.plot.add_item(make.curve(range(0, len(data)), data))
     self.rangeSelection = make.range(-2, 2)
     disp0 = make.range_info_label(self.rangeSelection, 'BR', u"x = %.1f +- %.1f cm",
                                   title="Range infos")
     self.plot.add_item(self.rangeSelection)
     self.plot.add_item(disp0)
     self.plot.replot()
    def process(self):
        params = {}
        for i in range(self.tableWidget.rowCount()):
            a = self.tableWidget.item(i, 0)
            b = self.tableWidget.item(i, 1)
            params[str(a.text())] = int(b.text())
        print "params", params
        outpN = self.tableWidget.item(0, 0)
        #params = {"none": "none", "output_length": outpN}


        r = np.array(range(len(self.dc.dimrecprocData))).reshape(len(self.dc.dimrecprocData), 1)
        s = np.array(self.dc.dimrecprocData).reshape(len(self.dc.dimrecprocData), 1)
        rs = np.hstack((s, s))

        labels = self.fec.extractFeature(rs, params)
        print labels
        self.plot.del_all_items()
        self.plot.replot()
        self.plot.add_item(
            make.curve(range(0, len(self.dc.dimrecprocData)), self.dc.dimrecprocData))

        from guiqwt.styles import AnnotationParam

        i = 0
        i_beg = 0
        i_end = 0
        while i < len(labels):
            cur = labels[i_end]

            if i < len(labels) - 1:
                if labels[i_end + 1] != cur:
                    i_end = i
                    from guiqwt.annotations import AnnotatedRectangle

                    param = AnnotationParam()
                    param.title = str(labels[int(i_beg)])
                    param.show_computations = False

                    anno = AnnotatedRectangle(r[int(i_beg)], self.dc.dimrecprocData[int(i_beg)], int(i_end), self.dc.dimrecprocData[r[int(i_end)]], param) #TODO: y axis scaling
                    self.plot.add_item(anno)
                    i_beg = i_end
                    print "s1"
                else:
                    i_end = i
                    print "s2"
                print "s3"
            print "s4", i_end, len(labels)
            i += 1

        self.rangeSelection = make.range(-2, 2)
        disp0 = make.range_info_label(self.rangeSelection, 'BR', u"x = %.1f +- %.1f cm",
                                      title="Range infos")
        #self.plot.add_item(self.rangeSelection)
        #self.plot.add_item(disp0)
        #self.dc.setCurrentDataFlowObject(self.flowData)
        self.dc.featureexData = self.flowData
        self.dc.setCurrentLabels(labels)
        print(self.dc.setCurrentLabels)
        #ToDo: Check that following line, make property in data controller
        self.dc.dimrecprocData = rs
        self.plot.replot()
        self.currentdata = np.reshape(labels, (-1, 1))