Skip to main content

Framework for scalable DeepLabCut based analysis including 3D tracking

Project description

Anipose

PyPI version License: LGPL v3

Anipose is a framework for scalable DeepLabCut-based analysis. It supports both 2d and 3d tracking, handles calibration and processing all files within a group of folders.

The name Anipose comes from Animal Pose, but it also sounds like "any pose".

Getting started

  1. Setup DeepLabCut by following instruction here
  2. Install Anipose through pip: pip install anipose

Documentation

Why this project?

DeepLabCut is great for training a network to track features in a video, and to run it on a small set of videos.

However, in practice, to accommodate our experiments, we found that we need to write custom code to iterate through folders and videos. Different experimental runs tended to be placed in different folders, and processing this structured data can quickly get overwhelming. This problem is compounded if one wants to do 3D tracking, where many more videos are generated and organization of these is critical for processing data.

Hence, we created Anipose, which places the DeepLabCut feature analysis into a pipeline, organizing the results into folders and autodetecting all the files that need to be processed.

For 2D tracking, Anipose can:

  • track all videos in a group of folders
  • detect, remove, and interpolate bad tracking
  • make videos labeled with the 2D tracked points and lines, and filtered points
  • aggregate all the 2D data into one file (easier to analyze further)

For 3D tracking, Anipose can:

  • process calibration videos per session (or per experiment, as needed)
  • handle triangulation from multiple videos to get 3D points
  • generate 3D videos from 3D points
  • compute angles in 3D
  • aggregate all 3D data and angles into one file (for easier analysis)

References

Here are some references for DeepLabCut and other things this project relies upon:

  • Mathis et al, 2018, "DeepLabCut: markerless pose estimation of user-defined body parts with deep learning"
  • Insafutdinov et al, 2016, "DeeperCut: A Deeper, Stronger, and Faster Multi-Person Pose Estimation Model"
  • Romero-Ramirez et al, 2018, "Speeded up detection of squared fiducial markers"
  • Garrido-Jurado et al, 2016, "Generation of fiducial marker dictionaries using Mixed Integer Linear Programming"

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anipose-0.2.6-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file anipose-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: anipose-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.25.0 CPython/3.7.2

File hashes

Hashes for anipose-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3a0712a2fd24b282729a2a92464b4c99d26f4ec6b36aafcb30fd2063bccbda64
MD5 ebcd8c8f651823490dcd5cd8d246603e
BLAKE2b-256 85797a3c2482ee073c91a98b0369d0fe51a4720f5e63a3919e9200f832a1ca3a

See more details on using hashes here.

Supported by

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