summaryrefslogtreecommitdiffstats
path: root/data/filter.py
blob: 4cf124c839d2425bb20b2dd3df8339c9d7c64498 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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()]