def extract0to1Gestures(data): gestures = {0: []} #only create gesture 0 gestureLength = l1 #5 samples / 20Hz = 0.25 seconds postGestureLength = l2 #time allowed after the gesture was caught in output for i in range(len(data) - gestureLength - postGestureLength): #print data[i+gestureLength-1][1][0], data[i + gestureLength][1][0] if data[i+gestureLength-2][1][0] == 0 and data[i + gestureLength-1][1][0] == 1: gestureData = [d[0] for d in data[i:i+gestureLength + postGestureLength]] #remove the outputs since we've already associated it with a gesture normalized = gestureDistanceCalculator.normalizeData(gestureData) gestures[0].append(normalized) return gestures
gr = gestureDistanceCalculator.GestureDistanceCalculator(training) print '\n\n' fout = open('grOutput.txt', 'w') allDistances = [] start = time.time() for i in range(l1 + l2, 30000): if i >= len(data): break input = [d[0] for d in data[i-l1-l2:i]] distance, closest, systemOutput = gr.getOutput(input) s = '\t'.join([str(i), str([round(i[0], 2) for i in gestureDistanceCalculator.normalizeData(input)]), str(round(distance, 2))]) if distance < DISTANCE_TO_PRINT: print s fout.write(s + '\n') allDistances.append(distance) #elapsed = time.time() - start #numPoints = len(data) - l1 - l2 #print 'took %s for %s points' % (elapsed, numPoints) avDistance = stats.mean(allDistances) stdDevDistance = stats.stdDev(allDistances)