movement

Analysis of body movement

  • Nikoloz Sirmpilatze, Chang Huan Lo, Sofía Miñano

Python Version PyPI Version Conda Forge Version License CI codecov Binder Code style: Ruff pre-commit project chat DOI

movement

A Python toolbox for analysing animal body movements across space and time.

Quick install

Create and activate a conda environment with movement installed (including the GUI):

conda create -n movement-env -c conda-forge movement napari pyqt
conda activate movement-env

[!Note] Read the documentation for more information, including full installation instructions and examples.

Overview

Deep learning methods for motion tracking have revolutionised a range of scientific disciplines, from neuroscience and biomechanics, to conservation and ethology. Tools such as DeepLabCut and SLEAP now allow researchers to track animal movements in videos with remarkable accuracy, without requiring physical markers. However, there is still a need for standardised, easy-to-use methods to process the tracks generated by these tools.

movement aims to provide a consistent, modular interface for analysing motion tracks, enabling steps such as data cleaning, visualisation, and motion quantification. We aim to support all popular animal tracking frameworks and file formats.

Find out more on our mission and scope statement and our roadmap.

[!Tip] If you prefer analysing your data in R, we recommend checking out the animovement toolbox, which is similar in scope. We are working together with its developer to gradually converge on common data standards and workflows.

Join the movement

Contributions to movement are absolutely encouraged, whether to fix a bug, develop a new feature, or improve the documentation. To help you get started, we have prepared a detailed contributing guide.

Citation

If you use movement in your work, please cite the following Zenodo DOI:

Nikoloz Sirmpilatze, Chang Huan Lo, Sofía Miñano, Brandon D. Peri, Dhruv Sharma, Laura Porta, Iván Varela & Adam L. Tyson (2024). neuroinformatics-unit/movement. Zenodo. https://zenodo.org/doi/10.5281/zenodo.12755724

License

⚖️ BSD 3-Clause

Package template

This package layout and configuration (including pre-commit hooks and GitHub actions) have been copied from the python-cookiecutter template.

Version:

  • 0.8.2

Last updated:

  • 2025-07-22

First released:

  • 2025-03-10

License:

  • BSD-3-Clause

Supported data:

  • Information not submitted

Plugin type:

Open extension:

Save extension:

Python versions supported:

Operating system:

  • Information not submitted

Requirements:

  • numpy<2.3.0,>=2.0.0
  • pandas
  • h5py
  • attrs
  • pooch
  • tqdm
  • shapely
  • sleap-io
  • xarray[accel,io,viz]
  • PyYAML
  • napari-video
  • pyvideoreader>=0.5.3
  • qt-niu
  • loguru
  • pynwb
  • ndx-pose>=0.2.1
  • napari[all]>=0.6.0; extra == "napari"
  • pytest; extra == "dev"
  • pytest-cov; extra == "dev"
  • pytest-mock; extra == "dev"
  • coverage; extra == "dev"
  • tox; extra == "dev"
  • mypy; extra == "dev"
  • pre-commit; extra == "dev"
  • ruff; extra == "dev"
  • codespell; extra == "dev"
  • setuptools_scm; extra == "dev"
  • pandas-stubs; extra == "dev"
  • types-attrs; extra == "dev"
  • check-manifest; extra == "dev"
  • types-PyYAML; extra == "dev"
  • types-requests; extra == "dev"
  • pytest-qt; extra == "dev"
  • movement[napari]; extra == "dev"
Website by the napari team, original design by CZI. Go to napari main website.