Metadata-Version: 2.1
Name: sleap
Version: 1.4.1
Summary: SLEAP (Social LEAP Estimates Animal Poses) is a deep learning framework for animal pose tracking.
Home-page: https://sleap.ai
Author: Talmo Pereira
Author-email: talmo@salk.edu
License: BSD 3-Clause License
Project-URL: Documentation, https://sleap.ai/
Project-URL: Bug Tracker, https://github.com/talmolab/sleap/issues
Project-URL: Source Code, https://github.com/talmolab/sleap
Keywords: deep learning,pose estimation,tracking,neuroscience
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: imgstore <0.3.0
Requires-Dist: nixio >=1.5.3
Requires-Dist: qimage2ndarray
Requires-Dist: segmentation-models
Requires-Dist: pynwb >=2.3.3
Requires-Dist: tensorflow-macos ==2.9.2 ; sys_platform == "darwin" and platform_machine == "arm64"
Requires-Dist: tensorflow-metal ==0.5.0 ; sys_platform == "darwin" and platform_machine == "arm64"
Requires-Dist: tensorflow-hub ==0.12.0 ; sys_platform == "darwin" and platform_machine == "arm64"
Provides-Extra: conda_dev
Requires-Dist: pytest ; extra == 'conda_dev'
Requires-Dist: pytest-qt >=4.0.0 ; extra == 'conda_dev'
Requires-Dist: pytest-cov <=3.0.0 ; extra == 'conda_dev'
Requires-Dist: pytest-xvfb ; extra == 'conda_dev'
Requires-Dist: ipython ; extra == 'conda_dev'
Requires-Dist: sphinx >=5.0 ; extra == 'conda_dev'
Requires-Dist: sphinx-book-theme ; extra == 'conda_dev'
Requires-Dist: sphinx-copybutton ; extra == 'conda_dev'
Requires-Dist: sphinx-tabs ; extra == 'conda_dev'
Requires-Dist: nbformat ==5.1.3 ; extra == 'conda_dev'
Requires-Dist: myst-nb >=0.16.0 ; extra == 'conda_dev'
Requires-Dist: myst-parser ; extra == 'conda_dev'
Requires-Dist: linkify-it-py ; extra == 'conda_dev'
Requires-Dist: sphinx-autobuild ; extra == 'conda_dev'
Requires-Dist: black ==21.6b0 ; extra == 'conda_dev'
Requires-Dist: pre-commit ; extra == 'conda_dev'
Requires-Dist: twine ==3.3.0 ; extra == 'conda_dev'
Requires-Dist: PyGithub ; extra == 'conda_dev'
Requires-Dist: jedi ==0.17.2 ; extra == 'conda_dev'
Requires-Dist: click ==8.0.4 ; extra == 'conda_dev'
Requires-Dist: ipykernel ; extra == 'conda_dev'
Requires-Dist: ipywidgets ; extra == 'conda_dev'
Requires-Dist: jupyterlab ; extra == 'conda_dev'
Provides-Extra: conda_jupyter
Requires-Dist: ipykernel ; extra == 'conda_jupyter'
Requires-Dist: ipywidgets ; extra == 'conda_jupyter'
Requires-Dist: jupyterlab ; extra == 'conda_jupyter'
Provides-Extra: dev
Requires-Dist: attrs <=21.4.0,>=21.2.0 ; extra == 'dev'
Requires-Dist: cattrs ==1.1.1 ; extra == 'dev'
Requires-Dist: imageio ; extra == 'dev'
Requires-Dist: imageio-ffmpeg ; extra == 'dev'
Requires-Dist: jsmin ; extra == 'dev'
Requires-Dist: jsonpickle ==1.2 ; extra == 'dev'
Requires-Dist: networkx ; extra == 'dev'
Requires-Dist: numpy <1.23.0,>=1.19.5 ; extra == 'dev'
Requires-Dist: opencv-python <=4.7.0,>=4.2.0 ; extra == 'dev'
Requires-Dist: pandas ; extra == 'dev'
Requires-Dist: pillow <=8.4.0,>=8.3.1 ; extra == 'dev'
Requires-Dist: psutil ; extra == 'dev'
Requires-Dist: pykalman ==0.9.5 ; extra == 'dev'
Requires-Dist: pyyaml ; extra == 'dev'
Requires-Dist: pyzmq ; extra == 'dev'
Requires-Dist: qtpy >=2.0.1 ; extra == 'dev'
Requires-Dist: rich ==10.16.1 ; extra == 'dev'
Requires-Dist: imgaug ==0.4.0 ; extra == 'dev'
Requires-Dist: scipy <=1.9.0,>=1.4.1 ; extra == 'dev'
Requires-Dist: scikit-image ; extra == 'dev'
Requires-Dist: scikit-learn ==1.0.* ; extra == 'dev'
Requires-Dist: scikit-video ; extra == 'dev'
Requires-Dist: seaborn ; extra == 'dev'
Requires-Dist: tensorflow-hub <=0.14.0 ; extra == 'dev'
Requires-Dist: albumentations ; extra == 'dev'
Requires-Dist: ndx-pose <0.2.0 ; extra == 'dev'
Requires-Dist: urllib3 <2.0 ; extra == 'dev'
Requires-Dist: protobuf <3.20 ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-qt >=4.0.0 ; extra == 'dev'
Requires-Dist: pytest-cov <=3.0.0 ; extra == 'dev'
Requires-Dist: pytest-xvfb ; extra == 'dev'
Requires-Dist: ipython ; extra == 'dev'
Requires-Dist: sphinx >=5.0 ; extra == 'dev'
Requires-Dist: sphinx-book-theme ; extra == 'dev'
Requires-Dist: sphinx-copybutton ; extra == 'dev'
Requires-Dist: sphinx-tabs ; extra == 'dev'
Requires-Dist: nbformat ==5.1.3 ; extra == 'dev'
Requires-Dist: myst-nb >=0.16.0 ; extra == 'dev'
Requires-Dist: myst-parser ; extra == 'dev'
Requires-Dist: linkify-it-py ; extra == 'dev'
Requires-Dist: sphinx-autobuild ; extra == 'dev'
Requires-Dist: black ==21.6b0 ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: twine ==3.3.0 ; extra == 'dev'
Requires-Dist: PyGithub ; extra == 'dev'
Requires-Dist: jedi ==0.17.2 ; extra == 'dev'
Requires-Dist: click ==8.0.4 ; extra == 'dev'
Requires-Dist: ipykernel ; extra == 'dev'
Requires-Dist: ipywidgets ; extra == 'dev'
Requires-Dist: jupyterlab ; extra == 'dev'
Requires-Dist: PySide2 <=5.14.1,>=5.13.2 ; (platform_machine != "arm64") and extra == 'dev'
Requires-Dist: tensorflow <2.9,>=2.6.3 ; (platform_machine != "arm64") and extra == 'dev'
Requires-Dist: python-rapidjson ; (sys_platform != "win32") and extra == 'dev'
Requires-Dist: PySide6 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'dev'
Requires-Dist: tensorflow-macos ==2.9.2 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'dev'
Requires-Dist: tensorflow-metal ==0.5.0 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'dev'
Requires-Dist: python-rapidjson <=1.10 ; (sys_platform == "win32") and extra == 'dev'
Provides-Extra: jupyter
Requires-Dist: attrs <=21.4.0,>=21.2.0 ; extra == 'jupyter'
Requires-Dist: cattrs ==1.1.1 ; extra == 'jupyter'
Requires-Dist: imageio ; extra == 'jupyter'
Requires-Dist: imageio-ffmpeg ; extra == 'jupyter'
Requires-Dist: jsmin ; extra == 'jupyter'
Requires-Dist: jsonpickle ==1.2 ; extra == 'jupyter'
Requires-Dist: networkx ; extra == 'jupyter'
Requires-Dist: numpy <1.23.0,>=1.19.5 ; extra == 'jupyter'
Requires-Dist: opencv-python <=4.7.0,>=4.2.0 ; extra == 'jupyter'
Requires-Dist: pandas ; extra == 'jupyter'
Requires-Dist: pillow <=8.4.0,>=8.3.1 ; extra == 'jupyter'
Requires-Dist: psutil ; extra == 'jupyter'
Requires-Dist: pykalman ==0.9.5 ; extra == 'jupyter'
Requires-Dist: pyyaml ; extra == 'jupyter'
Requires-Dist: pyzmq ; extra == 'jupyter'
Requires-Dist: qtpy >=2.0.1 ; extra == 'jupyter'
Requires-Dist: rich ==10.16.1 ; extra == 'jupyter'
Requires-Dist: imgaug ==0.4.0 ; extra == 'jupyter'
Requires-Dist: scipy <=1.9.0,>=1.4.1 ; extra == 'jupyter'
Requires-Dist: scikit-image ; extra == 'jupyter'
Requires-Dist: scikit-learn ==1.0.* ; extra == 'jupyter'
Requires-Dist: scikit-video ; extra == 'jupyter'
Requires-Dist: seaborn ; extra == 'jupyter'
Requires-Dist: tensorflow-hub <=0.14.0 ; extra == 'jupyter'
Requires-Dist: albumentations ; extra == 'jupyter'
Requires-Dist: ndx-pose <0.2.0 ; extra == 'jupyter'
Requires-Dist: urllib3 <2.0 ; extra == 'jupyter'
Requires-Dist: protobuf <3.20 ; extra == 'jupyter'
Requires-Dist: ipykernel ; extra == 'jupyter'
Requires-Dist: ipywidgets ; extra == 'jupyter'
Requires-Dist: jupyterlab ; extra == 'jupyter'
Requires-Dist: PySide2 <=5.14.1,>=5.13.2 ; (platform_machine != "arm64") and extra == 'jupyter'
Requires-Dist: tensorflow <2.9,>=2.6.3 ; (platform_machine != "arm64") and extra == 'jupyter'
Requires-Dist: python-rapidjson ; (sys_platform != "win32") and extra == 'jupyter'
Requires-Dist: PySide6 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'jupyter'
Requires-Dist: tensorflow-macos ==2.9.2 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'jupyter'
Requires-Dist: tensorflow-metal ==0.5.0 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'jupyter'
Requires-Dist: python-rapidjson <=1.10 ; (sys_platform == "win32") and extra == 'jupyter'
Provides-Extra: pypi
Requires-Dist: attrs <=21.4.0,>=21.2.0 ; extra == 'pypi'
Requires-Dist: cattrs ==1.1.1 ; extra == 'pypi'
Requires-Dist: imageio ; extra == 'pypi'
Requires-Dist: imageio-ffmpeg ; extra == 'pypi'
Requires-Dist: jsmin ; extra == 'pypi'
Requires-Dist: jsonpickle ==1.2 ; extra == 'pypi'
Requires-Dist: networkx ; extra == 'pypi'
Requires-Dist: numpy <1.23.0,>=1.19.5 ; extra == 'pypi'
Requires-Dist: opencv-python <=4.7.0,>=4.2.0 ; extra == 'pypi'
Requires-Dist: pandas ; extra == 'pypi'
Requires-Dist: pillow <=8.4.0,>=8.3.1 ; extra == 'pypi'
Requires-Dist: psutil ; extra == 'pypi'
Requires-Dist: pykalman ==0.9.5 ; extra == 'pypi'
Requires-Dist: pyyaml ; extra == 'pypi'
Requires-Dist: pyzmq ; extra == 'pypi'
Requires-Dist: qtpy >=2.0.1 ; extra == 'pypi'
Requires-Dist: rich ==10.16.1 ; extra == 'pypi'
Requires-Dist: imgaug ==0.4.0 ; extra == 'pypi'
Requires-Dist: scipy <=1.9.0,>=1.4.1 ; extra == 'pypi'
Requires-Dist: scikit-image ; extra == 'pypi'
Requires-Dist: scikit-learn ==1.0.* ; extra == 'pypi'
Requires-Dist: scikit-video ; extra == 'pypi'
Requires-Dist: seaborn ; extra == 'pypi'
Requires-Dist: tensorflow-hub <=0.14.0 ; extra == 'pypi'
Requires-Dist: albumentations ; extra == 'pypi'
Requires-Dist: ndx-pose <0.2.0 ; extra == 'pypi'
Requires-Dist: urllib3 <2.0 ; extra == 'pypi'
Requires-Dist: protobuf <3.20 ; extra == 'pypi'
Requires-Dist: PySide2 <=5.14.1,>=5.13.2 ; (platform_machine != "arm64") and extra == 'pypi'
Requires-Dist: tensorflow <2.9,>=2.6.3 ; (platform_machine != "arm64") and extra == 'pypi'
Requires-Dist: python-rapidjson ; (sys_platform != "win32") and extra == 'pypi'
Requires-Dist: PySide6 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'pypi'
Requires-Dist: tensorflow-macos ==2.9.2 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'pypi'
Requires-Dist: tensorflow-metal ==0.5.0 ; (sys_platform == "darwin" and platform_machine == "arm64") and extra == 'pypi'
Requires-Dist: python-rapidjson <=1.10 ; (sys_platform == "win32") and extra == 'pypi'

|CI| |Coverage| |Documentation| |Downloads| |Conda Downloads| |Stable version| |Latest version|

.. |CI| image:: 
   https://github.com/talmolab/sleap/workflows/CI/badge.svg?event=push&branch=develop
   :target: https://github.com/talmolab/sleap/actions?query=workflow:CI
   :alt: Continuous integration status

.. |Coverage| image::
   https://codecov.io/gh/talmolab/sleap/branch/develop/graph/badge.svg?token=oBmTlGIQRn
   :target: https://codecov.io/gh/talmolab/sleap
   :alt: Coverage

.. |Documentation| image:: 
   https://img.shields.io/badge/Documentation-sleap.ai-lightgrey
   :target: https://sleap.ai
   :alt: Documentation
  
.. |Downloads| image::
   https://static.pepy.tech/personalized-badge/sleap?period=total&units=international_system&left_color=grey&right_color=brightgreen&left_text=PyPI%20Downloads
   :target: https://pepy.tech/project/sleap
   :alt: Downloads
   
.. |Conda Downloads| image:: https://img.shields.io/conda/dn/sleap/sleap?label=Conda%20Downloads
   :target: https://anaconda.org/sleap/sleap
   :alt: Conda Downloads

.. |Stable version| image:: https://img.shields.io/github/v/release/talmolab/sleap?label=stable
   :target: https://github.com/talmolab/sleap/releases/
   :alt: Stable version

.. |Latest version| image:: https://img.shields.io/github/v/release/talmolab/sleap?include_prereleases&label=latest
   :target: https://github.com/talmolab/sleap/releases/
   :alt: Latest version


.. start-inclusion-marker-do-not-remove


Social LEAP Estimates Animal Poses (SLEAP)
==========================================

.. image:: https://sleap.ai/docs/_static/sleap_movie.gif
    :width: 600px

**SLEAP** is an open source deep-learning based framework for multi-animal pose tracking `(Pereira et al., Nature Methods, 2022) <https://www.nature.com/articles/s41592-022-01426-1>`__. It can be used to track any type or number of animals and includes an advanced labeling/training GUI for active learning and proofreading.


Features
--------
* Easy, one-line installation with support for all OSes
* Purpose-built GUI and human-in-the-loop workflow for rapidly labeling large datasets
* Single- and multi-animal pose estimation with *top-down* and *bottom-up* training strategies
* State-of-the-art pretrained and customizable neural network architectures that deliver *accurate predictions* with *very few* labels
* Fast training: 15 to 60 mins on a single GPU for a typical dataset
* Fast inference: up to 600+ FPS for batch, <10ms latency for realtime
* Support for remote training/inference workflow (for using SLEAP without GPUs)
* Flexible developer API for building integrated apps and customization


Get some SLEAP
--------------
SLEAP is installed as a Python package. We strongly recommend using `Miniconda <https://https://docs.conda.io/en/latest/miniconda.html>`_ to install SLEAP in its own environment.

You can find the latest version of SLEAP in the `Releases <https://github.com/talmolab/sleap/releases>`_ page.

Quick install
^^^^^^^^^^^^^
`conda` **(Windows/Linux/GPU)**:

.. code-block:: bash

    conda create -y -n sleap -c conda-forge -c nvidia -c sleap -c anaconda sleap

`pip` **(any OS except Apple silicon)**:

.. code-block:: bash

    pip install sleap[pypi]


See the docs for `full installation instructions <https://sleap.ai/installation.html>`_.

Learn to SLEAP
--------------
- **Learn step-by-step**: `Tutorial <https://sleap.ai/tutorials/tutorial.html>`_
- **Learn more advanced usage**: `Guides <https://sleap.ai/guides/>`__ and `Notebooks <https://sleap.ai/notebooks/>`__
- **Learn by watching**: `ABL:AOC 2023 Workshop <https://www.youtube.com/watch?v=BfW-HgeDfMI>`_ and `MIT CBMM Tutorial <https://cbmm.mit.edu/video/decoding-animal-behavior-through-pose-tracking>`_
- **Learn by reading**: `Paper (Pereira et al., Nature Methods, 2022) <https://www.nature.com/articles/s41592-022-01426-1>`__ and `Review on behavioral quantification (Pereira et al., Nature Neuroscience, 2020) <https://rdcu.be/caH3H>`_
- **Learn from others**: `Discussions on Github <https://github.com/talmolab/sleap/discussions>`_


References
-----------
SLEAP is the successor to the single-animal pose estimation software `LEAP <https://github.com/talmo/leap>`_ (`Pereira et al., Nature Methods, 2019 <https://www.nature.com/articles/s41592-018-0234-5>`_).

If you use SLEAP in your research, please cite:

    T.D. Pereira, N. Tabris, A. Matsliah, D. M. Turner, J. Li, S. Ravindranath, E. S. Papadoyannis, E. Normand, D. S. Deutsch, Z. Y. Wang, G. C. McKenzie-Smith, C. C. Mitelut, M. D. Castro, J. D’Uva, M. Kislin, D. H. Sanes, S. D. Kocher, S. S-H, A. L. Falkner, J. W. Shaevitz, and M. Murthy. `Sleap: A deep learning system for multi-animal pose tracking <https://www.nature.com/articles/s41592-022-01426-1>`__. *Nature Methods*, 19(4), 2022


**BibTeX:**

.. code-block::

   @ARTICLE{Pereira2022sleap,
      title={SLEAP: A deep learning system for multi-animal pose tracking},
      author={Pereira, Talmo D and 
         Tabris, Nathaniel and
         Matsliah, Arie and
         Turner, David M and
         Li, Junyu and
         Ravindranath, Shruthi and
         Papadoyannis, Eleni S and
         Normand, Edna and
         Deutsch, David S and
         Wang, Z. Yan and
         McKenzie-Smith, Grace C and
         Mitelut, Catalin C and
         Castro, Marielisa Diez and
         D'Uva, John and
         Kislin, Mikhail and
         Sanes, Dan H and
         Kocher, Sarah D and
         Samuel S-H and
         Falkner, Annegret L and
         Shaevitz, Joshua W and
         Murthy, Mala},
      journal={Nature Methods},
      volume={19},
      number={4},
      year={2022},
      publisher={Nature Publishing Group}
      }
   }


Contact
-------

Follow `@talmop <https://twitter.com/talmop>`_ on Twitter for news and updates!

**Technical issue with the software?**

1. Check the `Help page <https://sleap.ai/help.html>`_.
2. Ask the community via `discussions on Github <https://github.com/talmolab/sleap/discussions>`_.
3. Search the `issues on GitHub <https://github.com/talmolab/sleap/issues>`_ or open a new one.

**General inquiries?**
Reach out to `talmo@salk.edu`.

.. _Contributors:

Contributors
------------

* **Talmo Pereira**, Salk Institute for Biological Studies
* **Liezl Maree**, Salk Institute for Biological Studies
* **Arlo Sheridan**, Salk Institute for Biological Studies
* **Arie Matsliah**, Princeton Neuroscience Institute, Princeton University
* **Nat Tabris**, Princeton Neuroscience Institute, Princeton University
* **David Turner**, Research Computing and Princeton Neuroscience Institute, Princeton University
* **Joshua Shaevitz**, Physics and Lewis-Sigler Institute, Princeton University
* **Mala Murthy**, Princeton Neuroscience Institute, Princeton University

SLEAP was created in the `Murthy <https://murthylab.princeton.edu>`_ and `Shaevitz <https://shaevitzlab.princeton.edu>`_ labs at the `Princeton Neuroscience Institute <https://pni.princeton.edu>`_ at Princeton University.

SLEAP is currently being developed and maintained in the `Talmo Lab <https://talmolab.org>`_ at the `Salk Institute for Biological Studies <https://salk.edu>`_, in collaboration with the Murthy and Shaevitz labs at Princeton University.

This work was made possible through our funding sources, including:

* NIH BRAIN Initiative R01 NS104899
* Princeton Innovation Accelerator Fund


License
-------
SLEAP is released under a `Clear BSD License <https://raw.githubusercontent.com/talmolab/sleap/main/LICENSE>`_ and is intended for research/academic use only. For commercial use, please contact: Laurie Tzodikov (Assistant Director, Office of Technology Licensing), Princeton University, 609-258-7256.


.. end-inclusion-marker-do-not-remove

Links
------
* `Documentation Homepage <https://sleap.ai>`_
* `Overview <https://sleap.ai/overview.html>`_
* `Installation <https://sleap.ai/installation.html>`_
* `Tutorial <https://sleap.ai/tutorials/tutorial.html>`_
* `Guides <https://sleap.ai/guides/index.html>`_
* `Notebooks <https://sleap.ai/notebooks/index.html>`_
* `Developer API <https://sleap.ai/api.html>`_
* `Help <https://sleap.ai/help.html>`_
