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 the instructions here
  2. Install Anipose through pip: pip install anipose

Documentation

Demos

Videos of flies by Evyn Dickinson (slowed 5x), Tuthill Lab

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.5.0-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anipose-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 39.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for anipose-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5d7240e218d7082fb66852ff7a45cf193f0d8710015c748deb7a460d5a0292e
MD5 05186b9598beb6bf9d8eb32baf947d82
BLAKE2b-256 9ec9c234219d31cdcfc5b2b31c3e71882af88b43d3e12821f54118a0ae0e95bd

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