myTest01 / analysis /remove_bad_beginnings.py
meng2003's picture
Upload 357 files
2d5fdd1
from analysis.pymo.parsers import BVHParser
from analysis.pymo.data import Joint, MocapData
from analysis.pymo.preprocessing import *
from analysis.pymo.viz_tools import *
from analysis.pymo.writers import *
from sklearn.pipeline import Pipeline
from pathlib import Path
import sys
path = sys.argv[1]
from feature_extraction.utils import distribute_tasks
from mpi4py import MPI
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()
path = Path(path)
candidate_audio_files = sorted(path.glob('**/*.bvh'), key=lambda path: path.parent.__str__())
tasks = distribute_tasks(candidate_audio_files,rank,size)
p = BVHParser()
datas = []
filenames = []
for i in tasks:
f = candidate_audio_files[i]
print(f)
filenames.append(f)
datas.append(p.parse(f))
with open("to_check"+str(rank),"w") as f:
for i,data in enumerate(datas):
bad_ones = data.values[(data.values["Hips_Xposition"] > 100000) | (data.values["Hips_Xposition"] < -100000)]
if len(bad_ones) > 0:
last_index = bad_ones.index[-1]
data.values = data.values.loc[last_index:].iloc[1:]
writer = BVHWriter()
with open(filenames[i],'w') as out_f:
writer.write(data, out_f)