PK!flomutils/__init__.pyPK!nnflomutils/__main__.pyimport fire from flomutils import cli def main(): fire.Fire(cli) if __name__ == '__main__': main() PK!zflomutils/cli.pyimport flom def plot(motion, output, fps=0.01, loop=1): from flomutils import plot import matplotlib.pyplot as plt input_motion = flom.load(motion) fig = plt.figure() ax = fig.add_subplot(1, 1, 1) plot.plot_frames(input_motion, ax, loop, fps) ax.legend() plt.savefig(output) def add_noise(motion, output, random=0.1): from flomutils import noise input_motion = flom.load(motion) noise.add_noise(input_motion, random) input_motion.dump(output) PK!CCflomutils/noise.pyimport random def add_noise(motion, randomness): for t, frame in motion.keyframes(): new_frame = frame.get() positions = { k: v + random.random() * randomness for k, v in new_frame.positions.items() } new_frame.positions = positions frame.set(new_frame) PK!S||flomutils/plot.pydef plot_frames(motion, ax, times=1, fps=0.01): joints = [j for j in motion.joint_names() if not j.startswith('ignore_')] x, ys = [], [] for t, frame in motion.frames(fps): x.append(t) ys.append(frame.positions) if t > motion.length() * times: break for joint in joints: ax.plot(x, [y[joint] for y in ys], label=joint) PK!Hd 殔V6±k{ߠ}Z(nD`9J*˳ُki]H6lqx> b,eHhoYƉ s2q5;l Wj+Я[L^dA8EIh"%#thрq٭C*EvmTa4Dze3ng5ԅ cnd;!')i0gA'E\~GE,IԳռ T"G>Qhv=Z$#ģ"9Y oOCvW @4r֯j8EZ7?*kMr)=̣zjimhA>x9/PK!flomutils/__init__.pyPK!nn3flomutils/__main__.pyPK!zflomutils/cli.pyPK!CCflomutils/noise.pyPK!S||jflomutils/plot.pyPK!Hd