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