Exemple #1
0
def frame_to_skel(frame, _id):
    frame_num = [val[4] for val in frame.values()][0]
    skel = Skeleton(_id, frame_num)
    for key, val in frame.items():
        skel.addJoint(Joint(key, Position(
            val[CSVColumn['X_coord']], val[CSVColumn['Y_coord']]), 
            ConfidenceState[val[CSVColumn['JointConfidence']]]))
    return skel
Exemple #2
0
def build_reference_skeleton(pos_file):
    with open(pos_file, 'r') as f:
        reader = csv.reader(f)
        skel = Skeleton()
        for row in reader:
            skel.addJoint(Joint(row[CSVColumn['JointType']], Position(
                row[CSVColumn['X_coord']], row[CSVColumn['Y_coord']]), 
                ConfidenceState[row[CSVColumn['JointConfidence']]]))
        return skel
Exemple #3
0
def build_time_series(joints_file):
    with open(joints_file, 'r') as f:
        reader = csv.reader(f)
        bodies = {}
        prev_time = -1
        prev_id = -1
        skel = None
        for row in reader:
            body_id = row[CSVColumn['Skeleton_Id']]
            time = row[CSVColumn['Time']]
            frame = row[CSVColumn['Frame']]
            if time != prev_time or body_id != prev_id:
                skel = Skeleton(body_id, frame)
            skel.addJoint(Joint(row[CSVColumn['JointType']], Position(
                    row[CSVColumn['X_coord']], row[CSVColumn['Y_coord']]), 
                    ConfidenceState[row[CSVColumn['JointConfidence']]]))
            if body_id not in bodies:
                bodies[body_id] = BodyTimeSeries(body_id)
            bodies[body_id].addTimeInstance(time, skel)
            prev_id = body_id
            prev_time = time
        return list(bodies.values())