Skip to main content

Automated Gait (and more!) Analysis in Python

Project description

AutoGaitA Repository Active Test AutoGaitA Python PyPI - Version license: GPL v3 paper: biorxiv

Black Tutorials X URL

Automated Gait Analysis in Python 🐸

  • AutoGaitA simplifies, accelerates, and standardises gait analyses (as well as the analysis of other rhythmic behaviours) after body posture tracking in 2D with DeepLabCut and SLEAP or marker-based as well as marker-less methods for obtaining 3D coordinates.
  • AutoGaitA's first-level tools provide a wide range of automated kinematic analyses for each input video and AutoGaitA Group allows the comparison of up to six groups.
  • AutoGaitA enables comparisons to be made across experimental conditions, species, disease states or genotypes.
  • Despite being developed with gait data, AutoGaitA can be utilised for the analysis of any motor behaviour.

🚀 Quick Start (Recommended - no Python needed!)

This approach uses uv for installation. It is really simple to set up:

1. Install uv

  • macOS / Linux - Open your terminal & enter:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • Windows - Open Powershell and enter:
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    

2. Install & Run AutoGaitA

Open your terminal (Mac/Linux) or (restart) PowerShell/CMD (Windows) and run:

uv tool install autogaita
autogaita

🥳 That's it - AutoGaitA is now installed! You can launch it anytime by opening a terminal and entering autogaita.

To update to the latest release (see the Releases panel on the right for the latest versions) open a terminal and enter: uv tool upgrade autogaita.

🐍 Legacy Installation (pip)

If you prefer to manage your own Python environments, use standard pip, or have a version before v1.4.2, you can still install AutoGaitA the traditional way.

Please refer to Our documentation for step-by-step instructions on setting up a virtual environment, activating it, and installing via pip.

For upgrading a pip-installed version activate your virtual environment and enter: pip install autogaita -U

Demo Video

Check out the video below for a demonstration of AutoGaitA's main workflow!

Tutorials & Examples

Walkthrough Tutorial Videos

The AutoGaitA YouTube Channel provides tutorials for file preparation and instructions on how to use AutoGaitA. This includes in-depth explanations of all details, (main & advanced) configurations, possibilities, and outputs.

Please note that tutorial videos might not always reflect the most up-to-date version of our toolbox, especially in the beginning when things are regularly changing. We will make sure to record new videos whenever there are major changes though. If updates are just minor we refer to them in the notes below each video. Last tutorial-update was with v1.4.0. (September 2025).

Example Data

We provide an example dataset in the example data folder of this repository, with a set of mice walking over differently wide beams and both the beam as well as body coordinates being tracked with DLC. Note that this dataset was used in our tutorial videos introducing AutoGaitA DLC, AutoGaitA Group and in our video explaining file preparation for AutoGaitA DLC. We further provide a group folder there that can be used alongside the AutoGaitA Group tutorial to confirm that users generate the same set of results following our instructions.

Annotation Table Examples and Templates

Annotation Table example and template files for AutoGaitA DLC and AutoGaitA Universal 3D can be found in the annotation tables folder of this repository.

Users are advised to read the General Recommendations section of that folder, use the template to enter their data's timestamp information and to then compare the resulting table with our example to check formatting. Users working with ImageJ/FIJI are encouraged to check out the AnnotationTable-Plugin developed by our contributor Luca Flemming.

Documentation

The AutoGaitA Documentation provides complete guidelines on installation, file preparation, AutoGaitA GUIs, using AutoGaitA via the command line, installing FFmpeg for rotating 3D PCA videos, lists known issues and FAQ.

Two important options

Custom joints & angles

We strongly advise users to pay attention to the custom joints and angles windows of AutoGaitA's first level toolboxes. Please see the relevant links below. These windows allow users to customise which columns of their data should be analysed and how angles should be computed.

By default, AutoGaitA DLC and AutoGaitA Universal 3D implement standard values for mouse and human locomotion, respectively. If your analysis deviates from these standards (e.g. by focussing on another behaviour or a different species) you must change these values!

Find out more about AutoGaitA's custom joints and angles:

Bin number of step cycle normalisation

An important step in AutoGaitA is normalising step cycles (or instances of other behaviours) to a uniform length before calculating the video-level average. This uniform length is called bin number, must be set by users and defaults to a value of 25.

Step cycles are normalised via averaging temporally adjacent data points if their original length was larger than the bin number and repeating values if they were shorter originally. Examples are provided here:

We strongly advise users to think carefully about an appropriate bin number for their datasets. The correct value varies and depends strongly on the studied species, behaviour and the frame rate of cameras.

2D Kinematics in AutoGaitA Universal 3D

We strongly advise AutoGaitA Universal 3D users to carefully consider how our toolbox computes kinematics in 2D, i.e., angles along the y/z-plane and velocities along the y-dimensions. For more information, please see the corresponding important note on 2D kinematics in our documentation.

Analysing other behaviours - AutoCyclA 🚴

Even though AutoGaitA's main focus is to automate and standardise gait analyses, our toolbox can be used to automate the analyses of any rhythmic behaviour of interest. For a proof-of-principle demonstration and an introduction of the general workflow of such analyses, see AutoCyclA - Automated Cycling Analysis with AutoGaitA.

Updating AutoGaitA

It is strongly recommended that AutoGaitA is kept up to date since new features and important bugfixes are provided regularly.

AutoGaitA's cfg files and dictionaries sometimes change as a result, which means that previously generated first-level Results folders cannot always be analysed with AutoGaitA Group after an update. In such cases, it is recommended to re-run first-level analyses.

We document each version's cfg-changes in AutoGaitA Releases, which is particularly relevant for users wrapping custom scripts around AutoGaitA's functions.

Reference

If you use this code or data please cite our preprint.

License

AutoGaitA is licensed under GPL v3.0 and Forschungszentrum Jülich GmbH holds all copyrights.

The AutoGaitA software is provided without warranty of any kind, express or implied, including, but not limited to, the implied warranty of fitness for a particular purpose.

Authors

Mahan Hosseini

Contributors

Kishan Thambu - Undergraduate Student

Sarah Sabbagh - Undergraduate Student

Luca Flemming - Undergraduate Student

Nicholas del Grosso - RSE Advisor

Contributing

If you would like to contribute to the AutoGaitA toolbox, feel free to open a pull request or contact us at autogaita@fz-juelich.de!

We are looking forward to your input and ideas 😊

Archive

We have archived the resources of outdated AutoGaitA versions here:

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

autogaita-1.5.6.tar.gz (4.1 MB view details)

Uploaded Source

Built Distribution

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

autogaita-1.5.6-py3-none-any.whl (4.1 MB view details)

Uploaded Python 3

File details

Details for the file autogaita-1.5.6.tar.gz.

File metadata

  • Download URL: autogaita-1.5.6.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for autogaita-1.5.6.tar.gz
Algorithm Hash digest
SHA256 92af13e9cea7d257f1f977d02223d08cf64491c674c2fe5d8a67403869bc1122
MD5 3d7a62747bdfc973752f9aa06324d2a7
BLAKE2b-256 b1ea40b0c190921a94627c7c412181f347ca8991e004c4385458a824a49143c6

See more details on using hashes here.

File details

Details for the file autogaita-1.5.6-py3-none-any.whl.

File metadata

  • Download URL: autogaita-1.5.6-py3-none-any.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for autogaita-1.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e108dce7c4701ebd07a002d32fa467b43c8a989e098dde4ca32014a6bcc6959d
MD5 1a0635d299f13f6d1e9f72f5816f3b3f
BLAKE2b-256 d8fd4556f2ec1c1ef0eceeec4aab134706ddecb5a9833a89b532a8a800857e00

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