def new_plot(sensor, x, y, z):
	cur_time = int(round(time.time() * 1000))
	if sensor not in sensors_data:
		sensors_data[sensor] = dict()
		for direction in directions:
			sensors_data[sensor][direction] = dict()
			sensors_data[sensor][direction]['data'] = period * [10]
			sensors_data[sensor][direction]['k_filtering_data'] = period * [10]
			sensors_data[sensor][direction]['figure'] = plt.figure()
			sensors_data[sensor][direction]['axis'] = sensors_data[sensor][direction]['figure'].add_subplot(111)
			sensors_data[sensor]['time'] = list()
			sensors_data[sensor][direction]['temp_data'] = list()
			sensors_data[sensor][direction]['k_filtering_temp_data'] = list()
			li, = sensors_data[sensor][direction]['axis'].plot(time1, sensors_data[sensor][direction]['data'], 'r')
			sensors_data[sensor][direction]['list'] = li
			li, = sensors_data[sensor][direction]['axis'].plot(time1, sensors_data[sensor][direction]['k_filtering_data'], 'b')
			sensors_data[sensor][direction]['k_filtering_list'] = li
			sensors_data[sensor][direction]['figure'].canvas.set_window_title(sensor+"_"+direction)
			sensors_data[sensor][direction]['figure'].canvas.draw()
			plt.show(block=False)
			plt.ylim(-5,5)
	sensors_data[sensor]['time'].append(cur_time)
	#sensors_data[sensor]['x']['temp_data'].append(magnitude(x,y,z))
	if sensor == 'ori':
		sensors_data[sensor]['x']['temp_data'].append(y/36.0)
	elif sensor == 'lin':
		sensors_data[sensor]['x']['temp_data'].append(z/2)

	if len(sensors_data[sensor]['x']['k_filtering_temp_data'])==0:
		for direction in directions:
			sensors_data[sensor][direction]['k_filtering_temp_data'].append(sensors_data[sensor][direction]['temp_data'][-1])
	else:
		for direction in directions:
			sensors_data[sensor][direction]['k_filtering_temp_data'].append(filter.k_filtering(sensors_data[sensor][direction]['k_filtering_temp_data'][-1], sensors_data[sensor][direction]['temp_data'][-1]))

	if len(sensors_data[sensor]['x']['temp_data']) == 10:
		for direction in directions:
			sensors_data[sensor][direction]['data'][:-10] = sensors_data[sensor][direction]['data'][10:]
			sensors_data[sensor][direction]['data'][-10:] = sensors_data[sensor][direction]['temp_data']
			sensors_data[sensor][direction]['list'].set_ydata(sensors_data[sensor][direction]['data'])
			
			sensors_data[sensor][direction]['k_filtering_data'][:-10] = sensors_data[sensor][direction]['k_filtering_data'][10:]
			sensors_data[sensor][direction]['k_filtering_data'][-10:] = sensors_data[sensor][direction]['k_filtering_temp_data']
			sensors_data[sensor][direction]['k_filtering_list'].set_ydata(sensors_data[sensor][direction]['k_filtering_data'])
#            print len(sensors_data[sensor][direction]['k_filtering_temp_data']), len(sensors_data[sensor][direction]['k_filtering_data']), len(sensors_data[sensor][direction]['data']), len(time1)
			print "redrawn"
			sensors_data[sensor][direction]['figure'].canvas.draw()
			sensors_data[sensor][direction]['temp_data'] = list()
			sensors_data[sensor][direction]['k_filtering_temp_data'] = list() 
Exemple #2
0
	def filter_data(self):
		for direction in directions:
			for i in range(1, len(self.Acc[direction])):
				self.Acc[direction][i] = filter.k_filtering(self.Acc[direction][i-1], self.Acc[direction][i], const_k)
				self.Ori[direction][i] = filter.k_filtering(self.Ori[direction][i-1], self.Ori[direction][i], const_k)
				self.Gyr[direction][i] = filter.k_filtering(self.Gyr[direction][i-1], self.Gyr[direction][i], const_k)
Exemple #3
0
    list_max = +5
    pltAccx = Plot(timeList,"AccX",(-1,1))
    cmap = get_cmap(30)
    i = 0
    for exercise in trimmedDown:
        # if int(exercise.exNo) in [3,16,17,1,13,2,18]:
        #     continue
        i = i+1
        print "Key ",exercise.exNo ,len(exercise.accx)
        accxList = exercise.orix
        print "max",max(accxList),"min",min(accxList)
        col = cmap(int(exercise.exNo))
        newList = list()
        newList.append(accxList[0])
        for i in range(1, len(accxList)):
            newList.append(filter.k_filtering(previous=newList[i-1], current=accxList[i], k_filtering_factor=0.5))
        c = str()
        pltAccx.add_curve(y = newList,color=np.random.rand(3,1),label=str(exercise.exNo))


    pltAccx.save_fig()
    pltAccx.show_fig()

    # plt.show(block=False)
    #
    # time = range(0,1000)
    # y = range(0,1000)
    # y2 = []
    # for i in range(10,1010):
    #         y2.append(i)
    # first = Plot(time, "demo", (-1, 1001))