summaryrefslogtreecommitdiffstats
path: root/data/filter.py
diff options
context:
space:
mode:
authorJon Whiteaker <jbw@berkeley.edu>2012-02-15 11:42:35 -0800
committerJon Whiteaker <jbw@berkeley.edu>2012-02-15 11:42:35 -0800
commit87dcc50bc1f777b63f5956286d94d3ea8b9592a6 (patch)
tree5fb996b780e7dba3cfc51db3f50252ebb5697a93 /data/filter.py
parentc58338dad01019cfa753c446c22dd6aa0e479838 (diff)
downloadkinect-87dcc50bc1f777b63f5956286d94d3ea8b9592a6.tar.gz
adding data+code to git repo
Diffstat (limited to 'data/filter.py')
-rwxr-xr-xdata/filter.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/data/filter.py b/data/filter.py
new file mode 100755
index 0000000..4cf124c
--- /dev/null
+++ b/data/filter.py
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+
+import time
+import sys
+import math
+import copy
+
+frames = [0,0,0,0,0,0,0,0,0,0]
+pframes = [0,0,0,0,0,0,0,0,0,0]
+zvalue = [[],[],[],[],[],[],[],[],[],[]]
+pframe = 0
+lines = [[],[],[],[],[],[],[],[],[],[]]
+num = 1
+
+for arg in sys.argv[1:]:
+ sk_file = open(arg)
+ for line in sk_file:
+ run, frame, id, joint, state, x, y, z, dx, dy = line.strip().split(',')
+ if frame != 'Frame':
+ id = int(id)
+ frame = int(frame)
+ if frame != pframe:
+ for i in range(len(frames)):
+ if frames[i] > 0 and pframe > pframes[i]+1:
+ #print str(frames[i])
+ #if frames[i] >= 50 and frames[i] <= 100:
+ #qt = int(frames[i]/4)
+ #if zvalue[i][frames[i]-qt] - zvalue[i][qt] < 0:
+ zdelta = []
+ for j in range(1,len(zvalue[i])):
+ zdelta += [zvalue[i][j]-zvalue[i][j-1]]
+ #print zdelta
+ zdelta.sort()
+ median = int(math.floor((len(zdelta)-1)/2))
+ #print median,len(zdelta)-1
+ #zdelta[100000] = 5
+ qt = int(frames[i]/4)
+ #if zdelta[median] < 0:
+ if zdelta[frames[i]-qt]< 0 and zdelta[qt] < 0:
+ for l in lines[i]:
+ print l
+ num += 1
+ frames[i] = 0
+ lines[i] = []
+ zvalue[i] = []
+ pframe = frame
+ if pframes[id] != frame:
+ frames[id] += 1
+ pframes[id] = frame
+ if joint == 'Head':
+ zvalue[id] += [float(z)]
+ lines[id] += [line.strip()]
+