summaryrefslogtreecommitdiffstats
path: root/data/limbs-avg.py
diff options
context:
space:
mode:
authorJon Whiteaker <jbw@berkeley.edu>2012-02-22 16:10:15 -0800
committerJon Whiteaker <jbw@berkeley.edu>2012-02-22 16:10:15 -0800
commitd9c41d3c4ad0e006e719892a00bdb40874830ae2 (patch)
treec952f5fb76e8a874e62fad1994e7e53489c9db79 /data/limbs-avg.py
parentfb534c575541ba6ad8a9f84872bab14e44e44264 (diff)
downloadkinect-d9c41d3c4ad0e006e719892a00bdb40874830ae2.tar.gz
new combined data
Diffstat (limited to 'data/limbs-avg.py')
-rwxr-xr-xdata/limbs-avg.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/data/limbs-avg.py b/data/limbs-avg.py
index 135786f..c43deb7 100755
--- a/data/limbs-avg.py
+++ b/data/limbs-avg.py
@@ -3,6 +3,7 @@
import sys
import math
import pickle
+import numpy as np
sk_file = open(sys.argv[1])
out_dir = sys.argv[1][0:sys.argv[1].rfind('/')+1]
@@ -27,7 +28,7 @@ limbs = (('Head','ShoulderCenter'),\
dupes = ((1,4),(2,5),(3,6),(9,12),(10,13),(11,14))
#xlabels = ('h-sc','sc-sl','sl-el','el-wl','sc-sr','sr-er','er-wr','sc-s','s-hc','hc-hl','hl-kl','kl-al','hc-hr','hr-kr','kr-ar')
xlabels = ('h-sc','sc-sh','sh-el','el-wr','sc-s','s-hc','hc-hi','hi-kn','kn-an')
-print '# '+','.join(['name','run','frame','z-value']+list(xlabels))
+print '# '+','.join(['name','run','frame','z-value','z-var']+list(xlabels))
for line in sk_file:
@@ -37,7 +38,7 @@ for line in sk_file:
frame = int(frame)
if frame != pframe and vals != {} and run in flabel and flabel[run] != 'None':
out = []
- zv = []
+ zv = map(lambda xyz: xyz[2], vals.values())
for l in range(len(limbs)):
j1, j2 = limbs[l]
if j1 in vals and j2 in vals:
@@ -46,7 +47,7 @@ for line in sk_file:
dz = vals[j1][2] - vals[j2][2]
limb = math.sqrt(dx*dx + dy*dy + dz*dz)
out += [str(limb)]
- zv += [(vals[j1][2] + vals[j2][2])/2]
+ #zv += [(vals[j1][2] + vals[j2][2])/2]
#dist = math.fabs((dz + 2*vals[j2][2])/2)
#if limb < 1000 and limb > 100:
#X += [dist]
@@ -54,16 +55,16 @@ for line in sk_file:
#print str(dist) + " " + str(limb)
#print str(dist) + "\t" + str(limb)
else:
- out += ['?']
+ out += ['-1']
for l in range(len(dupes)-1,-1,-1):
l1, l2 = dupes[l]
- if out[l1] != '?' and out[l2] != '?':
+ if out[l1] != '-1' and out[l2] != '-1':
out[l1] = str((float(out[l1])+float(out[l2]))/2)
- elif out[l1] == '?' and out[l2] != '?':
+ elif out[l1] == '-1' and out[l2] != '-1':
out[l1] = out[l2]
out.pop(l2)
if len(zv) >= 1:
- print ','.join([flabel[run],str(run),str(frame),str(sum(zv)/len(zv))] + out)
+ print ','.join([flabel[run],str(run),str(frame),str(np.average(zv)),str(np.var(zv))] + out)
vals = {}
if state == 'Tracked':
vals[joint] = [float(x), float(y), float(z)]