Skip to main content

GapFill: A Python module of gap filling functions for motion capture marker data

Project description

GapFill

GapFill: A Python module of gap filling functions for motion capture marker data

Description

Collection of several functions for gap filling and recovering of motion capture marker data

Installation

GapFill can be installed from PyPI using pip on Python>=3.7.

pip install gapfill

Usage

Rows of ndarray values for marker coordinates should be filled with numpy.nan for occluded (blocked) frames.

import gapfill as gf

# numpy is required in order to provide necessary markers' coordinate values
import numpy as np

# 'fill_marker_gap_interp()' function will update the given ndarray by filling its gaps using bspline interpolation
# 'tgt_mkr_pos0': a 2D (n, 3) ndarray of a target marker position to fill the gaps
# 'n' is the total number of frames
tgt_mkr_pos0 = np.array((n, 3), dtype=np.float32)
# 'ret0': either True or False, True if there is any frame updated, False if there is no frame updated
# 'updated_frs_mask0': a boolean ndarray to indicate which frames are updated
ret0, updated_frs_mask0 = gf.fill_marker_gap_interp(tgt_mkr_pos0)

# 'fill_marker_gap_pattern()' function will update the given ndarray by filling its gaps using a donor marker
# 'tgt_mkr_pos1': a 2D (n, 3) ndarray of a target marker position to fill the gaps
# 'n' is the total number of frames
tgt_mkr_pos1 = np.array((n, 3), dtype=np.float32)
# 'dnr_mkr_pos': a 2D (n, 3) ndarray of a donor marker position
# 'n' is the total number of frames
dnr_mkr_pos = np.array((n, 3), dtype=np.float32)
# 'ret1': either True or False, True if there is any frame updated, False if there is no frame updated
# 'updated_frs_mask1': a boolean ndarray to indicate which frames are updated
ret1, updated_frs_mask1 = gf.fill_marker_gap_pattern(tgt_mkr_pos1, dnr_mkr_pos)

# 'fill_marker_gap_rbt()' function will update the given ndarray by filling its gaps using a cluster of 3 markers
# 'tgt_mkr_pos2': a 2D (n, 3) ndarray of a target marker position to fill the gaps
# 'n' is the total number of frames
tgt_mkr_pos2 = np.array((n, 3), dtype=np.float32)
# 'cl_mkr_pos': a 3D (m, n, 3) ndarray of the cluster markers
# 'm' (at least 3) is the number of markers, and 'n' is the total number of frames
cl_mkr_pos = np.array((m, n, 3), dtype=np.float32)
# 'ret2': either True or False, True if there is any frame updated, False if there is no frame updated
# 'updated_frs_mask2': a boolean ndarray to indicate which frames are updated
ret2, updated_frs_mask2 = gf.fill_marker_gap_rbt(tgt_mkr_pos2, cl_mkr_pos)

Dependencies

References

How to cite this work

Here is a suggestion to cite this GitHub repository:

Jung, M. K. (2020) GapFill: A Python module of gap filling functions for motion capture marker data. GitHub repository, https://github.com/mkjung99/gapfill.

And a possible BibTeX entry:

@misc{Jung2020,  
    author = {Jung, M. K.},
    title = {GapFill: A Python module of gap filling functions for motion capture marker data},  
    year = {2020},  
    publisher = {GitHub},  
    journal = {GitHub repository},  
    howpublished = {\url{https://github.com/mkjung99/gapfill}}  
}

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gapfill-0.0.7.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

gapfill-0.0.7-py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page