Skip to main content

Deep learning-based Identity Preserving Labeled-Object Multi-Animal Tracking.

Project description

DIPLOMAT

Deep learning-based Identity Preserving Labeled-Object Multi-Animal Tracking.

NOTE: DIPLOMAT is currently early beta software, there may be minor bugs and usability issues.

If you are a user (not a developer contributing code), you may want to visit:

About

DIPLOMAT provides a multi-animal tracking/pose-estimation interface that (1) reduces identity swaps and body part losses, and (2) simplifies correction of automated tracking errors. Provided with a video and a pose estimation model (trained using SLEAP or DeepLabCut packages), DIPLOMAT computes a multi-animal maximum-probability trace to Track multiple animals (and their body parts). DIPLOMAT then provides an intuitive and memory/time efficient Interact interface to edit and re-track as needed. DIPLOMAT differs from other multi-animal tracking packages by working directly off of confidence maps instead of running peak detection, allowing for more accurate tracking results.

UI Demo Showing user correcting tracking in a video

Correcting and re-tracing on the Interact Interface

Example of tracking 2 Degus in a Box Example of tracking 3 Rats
Example of tracking 2 Degus Example of tracking 3 Rats

Installation

For detailed installation instructions, please refer to the documentation.

Usage

Below, we provide a few simple instructions to remind users how to run DIPLOMAT commands. New users should read through the documentation to understand project setup, etc.

Running DIPLOMAT

To run DIPLOMAT on a video once it is installed, simply use DIPLOMAT's track and track_and_interact commands to track a video:

# Run DIPLOMAT with no UI, for 4 animals ...
diplomat track -c path/to/config -v path/to/video -no 4
# Run DIPLOMAT with UI, for 3 animals ...
diplomat track_and_interact -c path/to/config -v path/to/video -no 3

Multiple videos can be tracked by passing them as a list:

diplomat track -c path/to/config -v [path/to/video1, path/to/video2, "path/to/video3"] -no <num_animals>

Once tracking is done, DIPLOMAT can create labeled videos via it's annotate subcommand:

diplomat annotate -v path/to/video -c path/to/csv

If you need to reopen the UI to make further major modifications, you can do so using the interact subcommand:

diplomat interact -s path/to/ui_state.dipui

This displays the full UI again for making further edits. Results are saved back to the same files.

If you need to make minor modifications after tracking a video, you can do so using the tweak subcommand:

diplomat tweak -v path/to/video -c path/to/csv

This will display a stripped down version of the interactive editing UI, allowing for minor tweaks to be made to the tracks, and then saved back to the same file.

For a list of additional ways DIPLOMAT can be used, see the documentation.

Additional Help

All DIPLOMAT commands are documented via help strings. To get more information about a diplomat subcommand or command, simply run it with the -h or --help flag.

# Help for all of diplomat (lists sub commands of diplomat):
diplomat --help 
# Help for the track subcommand:
diplomat track --help
# Help for the predictors subcommand space:
diplomat predictors --help

Some commands support passing frontend-specific arguments. To get frontend specific help, you can use the --help_extra flag.

diplomat track -c /path/to/config --help_extra
diplomat track_and_interact -c /path/to/config --help_extra
diplomat track_with -c /path/to/config -p Predictor --help_extra

Documentation

DIPLOMAT has documentation on ReadTheDocs at https://diplomat.readthedocs.io/en/latest.

Development

DIPLOMAT is written entirely in python. To set up an environment for developing DIPLOMAT, you can simply pull down this repository and install its requirements using pip. For a further description of how to set up DIPLOMAT for development, see the Development Usage section in the documentation.

Contributing

We welcome external contributions, although it is a good idea to contact the maintainers before embarking on any significant development work to make sure the proposed changes are a good fit.

Contributors agree to license their code under the license in use by this project (see LICENSE).

To contribute:

  1. Fork the repo
  2. Make changes on a branch
  3. Create a pull request

License

See LICENSE for details.

Authors

If you have any questions, feel free to reach out to George Glidden, at help@diplomattrack.org

See AUTHORS for the full list of authors.

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

diplomat_track-0.4.0.tar.gz (16.6 MB view details)

Uploaded Source

Built Distribution

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

diplomat_track-0.4.0-py3-none-any.whl (327.4 kB view details)

Uploaded Python 3

File details

Details for the file diplomat_track-0.4.0.tar.gz.

File metadata

  • Download URL: diplomat_track-0.4.0.tar.gz
  • Upload date:
  • Size: 16.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diplomat_track-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8956c7421ba7bb81c1b7be8b07da7f0caa9662a3d9e34597c4d369383b0019bc
MD5 35d821cd834f0d27881c3d102be137c2
BLAKE2b-256 b694d0be015c2e224b6d432c6f552abad0230b3a33734eef6ccd8b1f24e9ec78

See more details on using hashes here.

Provenance

The following attestation bundles were made for diplomat_track-0.4.0.tar.gz:

Publisher: publish-to-pypi.yml on TravisWheelerLab/DIPLOMAT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file diplomat_track-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: diplomat_track-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 327.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diplomat_track-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 121a10f3279b5713d5b2372b0620df4fe86f0ec2e22210da214e61f76b964f27
MD5 81a29df82e7ee2b4e0f4737b63002959
BLAKE2b-256 b8c050c6e8573ca52564ed065c07b4ee2f2eff39b2395a4b997a436b52f20e93

See more details on using hashes here.

Provenance

The following attestation bundles were made for diplomat_track-0.4.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on TravisWheelerLab/DIPLOMAT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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