summaryrefslogtreecommitdiffstats
path: root/data/combined/mean.py
diff options
context:
space:
mode:
authorJon Whiteaker <jbw@berkeley.edu>2012-02-29 19:00:04 -0800
committerJon Whiteaker <jbw@berkeley.edu>2012-02-29 19:00:18 -0800
commit199c8fdee50243b59083bdd15ef3e411f158a17d (patch)
tree5c118b4974997bb2fc6af46bfb0226cb8f8a6a07 /data/combined/mean.py
parente0a63f36a76fbfbd3cedca549c96707e2bafde54 (diff)
downloadkinect-199c8fdee50243b59083bdd15ef3e411f158a17d.tar.gz
reducing noise by half
Diffstat (limited to 'data/combined/mean.py')
-rwxr-xr-xdata/combined/mean.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/data/combined/mean.py b/data/combined/mean.py
new file mode 100755
index 0000000..2499beb
--- /dev/null
+++ b/data/combined/mean.py
@@ -0,0 +1,47 @@
+#!/usr/bin/python
+
+import sys
+import numpy as np
+
+sk_file = open(sys.argv[1])
+try:
+ div = float(sys.argv[2])
+except:
+ div = 2.0
+labels = sk_file.readline().strip().split(',')
+beg = labels.index('h-sc')
+data = {}
+#print ','.join(['#name'] + labels[beg:])
+for i in range(1,40):
+ data[str(i)] = {}
+ for l in labels[beg:]:
+ data[str(i)][l] = []
+
+for line in sk_file:
+ line = line.strip().split(',')
+ #limbs = line[beg:]
+ if "-1" not in line and 2 < float(line[labels.index('z-value')]) < 3:
+ id = line[labels.index('name')]
+ for x in labels[beg:]: data[id][x] += [float(line[labels.index(x)])]
+
+for i in data:
+ out = [i]
+ for l in labels[beg:]:
+ if len(data[i][l]) > 1:
+ data[i][l] = np.average(data[i][l])
+ out += [str(np.average(data[i][l]))]
+ #if len(out) > 1:
+ # print ','.join(out)
+
+sk_file.seek(0)
+print sk_file.readline().strip()
+for line in sk_file:
+ line = line.strip().split(',')
+ id = line[labels.index('name')]
+ for l in labels[beg:]:
+ obs = float(line[labels.index(l)])
+ if obs > 0:
+ diff = obs-data[id][l]
+ line[labels.index(l)] = str(obs - diff/div)
+ print ','.join(line)
+