• Stars
    star
    134
  • Rank 270,967 (Top 6 %)
  • Language
    Jupyter Notebook
  • Created about 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Various scripts to support deeplabcut and what to do afterwards!

Image.sc forum PyPI version PyPI - Downloads GitHub stars

DeepLabCut-Utils DLC Utils

This repository contains various scripts as well as links to other packages related to DeepLabCut. Feel free to contribute your own analysis methods, and perhaps some short notebook of how to use it. Thanks!

Example scripts for scaling up your DLC analysis & training:

These two scripts illustrate how to train, test, and analyze videos for multiple projects automatically (scale_raining_and_evaluation.py) and how to analyze videos that are organized in subfolders automatically (scale_analysis_oversubfolders.py). Feel free to adjust them for your needs!

code: https://github.com/DeepLabCut/DLCutils/tree/master/SCALE_YOUR_ANALYSIS/scale_analysis_oversubfolders.py

code: https://github.com/DeepLabCut/DLCutils/blob/master/SCALE_YOUR_ANALYSIS/scale_training_and_evaluation.py

Contributed by Alexander Mathis

Using your DLC outputs, loading, simple ROI analysis, visualization examples:

Time spent of a body part in a particular region of interest (ROI)

You can compute time spent in particular ROIs in frames. This demo Jupyer Notebook shows you how to load the outputs of DLC and perform the analysis (plus other plotting functions):

code: https://github.com/DeepLabCut/DLCutils/blob/master/Demo_loadandanalyzeDLCdata.ipynb

code: https://github.com/DeepLabCut/DLCutils/blob/master/time_in_each_roi.py

Contributed by Federico Claudi and Jupyter Notebok from Alexander Mathis

DeepLabCut-Display GUI

Open and view data to understand pose estimation errors and trends. Filter data by likelihood threshold.

code: https://github.com/jakeshirey/DeepLabCut-Display

Contributed by Jacob Shirey

A GUI based ROI tool for time spent of a body part in a defined region of interest

code: https://github.com/PolarBean/DLC_ROI_tool

Contributed by Harry Carey

Clustering tools (using the output of DLC):

Identifying Behavioral Structure from Deep Variational Embeddings of Animal Motion

paper: https://www.biorxiv.org/content/10.1101/2020.05.14.095430

code: https://github.com/LINCellularNeuroscience/VAME

Behavior clustering with MotionMapper

code: https://github.com/DeepLabCut/DLCutils/tree/master/DLC_2_MotionMapper

Contributed by Mackenzie Mathis

Behavior clustering with B-SOiD

B-SOiD: An Open Source Unsupervised Algorithm for Discovery of Spontaneous Behaviors <-- you can use the outputs of DLC to feed directly into B-SOiD (in MATLAB).

paper: https://www.biorxiv.org/content/10.1101/770271v1.abstract

code: https://github.com/YttriLab/B-SOiD

Machine-learning helper packages (using the output of DLC):

Behavior analysis with machine-learning in R (ETH-DLCAnalyzer)

Deep learning based behavioral analysis enables high precision rodent tracking and is capable of outperforming commercial solutions. Oliver Sturman, Lukas von Ziegler, Christa SchlΓ€ppi, Furkan Akyol, Benjamin Grewe, Johannes Bohacek

paper: https://www.biorxiv.org/content/10.1101/2020.01.21.913624v1

code: https://github.com/ETHZ-INS/DLCAnalyzer

Behavior Analysis with machine learning classifiers (SIMBA)

A pipeline for using pose estimation (i.e. DeepLabCut) then behavioral annotatation and generatation of supervised machine-learning-based classifiers. <-- you can use the outputs of DLC to feed directly into SIMBA (in Python).

Code written by: Simon Nilsson (please direct use questions to Simon).

paper: https://www.biorxiv.org/content/10.1101/2020.04.19.049452v2

code: https://github.com/sgoldenlab/simba

3D DeepLabCut helper packages:

A wrapper package for DeepLabCut2.0 for 3D videos (anipose)

code: https://github.com/lambdaloop/anipose

maintainer: Pierre Karashchuk

3D reconstruction with EasyWand/Argus DLT system with DeepLabCut data:

Written by Brandon Jackson, post our DLC workshop in Jan 2020:

A small set of utilities that allow conversion between the data storage formats of DeepLabCut (DLC) and one of the DLT-based 3D tracking systems: either Ty Hedrick's DigitizingTools in MATLAB, or the Python-based Argus. These functions should allow you to use data previously digitized in a DLT system to create the files needed to train a DLC model, and to import DLC-tracked points back into a DLT 3D calibration to reconstruct 3D points.

code: https://github.com/haliaetus13/DLCconverterDLT

Pupil Tracking

Using DeepLabCut for USB-CGPIO feedback

paper: https://www.biorxiv.org/content/early/2018/11/28/482349

code: https://github.com/bf777/DeepCutRealTime

maintainer: Brandon Forys

LEGACY utility functions (no longer required in DLC 2+):

DLC1 to DLC 2 conversion code

This code allows you to import the labeled data from DLC 1 to DLC 2 projects. Note, it is not streamlined and should be used with care.

https://github.com/DeepLabCut/DLCutils/tree/master/conversion_scripts_LEGACY

Contributed by Alexander Mathis

Running project created on Windows on Colaboratory

#UPDATE: as of Deeplabcut 2.0.4 onwards you no longer need to use this code! You can simply create the training set on the cloud and it will automatically convert your project for you.

Usage: change in lines 70 and 71 of https://github.com/DeepLabCut/DLCutils/tree/master/conversion_scripts_LEGACY/convertWin2Unix.py

basepath='/content/drive/My Drive/DeepLabCut/examples/'

projectname='Reaching-Mackenzie-2018-08-30'

then run this script on colaboratory after uploading your labeled data to the drive. Thereby it will be converted to unix format, then create a training set (with deeplabcut) and proceed as usual...

Contributed by Alexander Mathis

Please direct inquires to the contributors/code-maintainers of that code. Note that the software(s) are provided "as is", without warranty of any kind, express or implied.

More Repositories

1

DeepLabCut

Official implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans
Python
4,600
star
2

DeepLabCut-live

SDK for running DeepLabCut on a live video stream
Python
190
star
3

DeepLabCut-Workshop-Materials

Workshop material for using DeepLabCut
Jupyter Notebook
135
star
4

DeepLabCut-live-GUI

GUI to run DeepLabCut on live video feed
Python
58
star
5

Docker4DeepLabCut2.0

Docker container for running DeepLabCut 2.0, 2.1 (linux support only). Now, DLC main supports 2.2+
Jupyter Notebook
50
star
6

napari-deeplabcut

a napari plugin for labeling and refining keypoint data within DeepLabCut projects
Python
50
star
7

DeepLabCut-core

Headless DeepLabCut (no GUI support)
Python
30
star
8

Primer-MotionCapture

A Primer on Motion Capture with Deep Learning:Principles, Pitfalls and Perspectives
Jupyter Notebook
22
star
9

maDLC_NatureMethods2022

Repository for reproducing results in Lauer et al. 2022
Jupyter Notebook
19
star
10

DeepLabCut-WebApp

An alpha playground for a web-based labeling tool for DLC
Python
14
star
11

napari-DLCLabelingAlpha

Python
13
star
12

DLC2NWB

Utilities to convert DeepLabCut (DLC), output to/from Neurodata Without Borders (NWB) format.
Python
12
star
13

DeepLabCut-live-pytorch

[WIP] Brand new DLC-live introduced with DLC3. All inference and training code in PyTorch.
6
star
14

DLClibrary

DLClibrary is a lightweight library supporting universal functions for the DeepLabCut ecosystem.
Python
5
star
15

DLC-inferencespeed-benchmark

A database of inference speed benchmark results on various platforms and architectures
Ruby
4
star
16

DeepLabCut_maDLC_DemoData

Example DeepLabCut projects
Jupyter Notebook
2
star
17

benchmark

Python
1
star