Metadata-Version: 2.4
Name: cebra
Version: 0.5.0
Summary: Consistent Embeddings of high-dimensional Recordings using Auxiliary variables
Home-page: https://github.com/AdaptiveMotorControlLab/CEBRA
Author: file: AUTHORS.md
Author-email: stes@hey.com, mackenzie@post.harvard.edu
Project-URL: Bug Tracker, https://github.com/AdaptiveMotorControlLab/CEBRA/issues
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: GPU :: NVIDIA CUDA
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: joblib
Requires-Dist: numpy<2.0; platform_system == "Windows"
Requires-Dist: numpy<2.0; platform_system != "Windows" and python_version < "3.10"
Requires-Dist: numpy; platform_system != "Windows" and python_version >= "3.10"
Requires-Dist: literate-dataclasses
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: torch>=2.4.0
Requires-Dist: tqdm
Requires-Dist: matplotlib<3.11
Requires-Dist: requests
Provides-Extra: datasets
Requires-Dist: h5py; extra == "datasets"
Requires-Dist: pandas; extra == "datasets"
Requires-Dist: hdf5storage; extra == "datasets"
Requires-Dist: openpyxl; extra == "datasets"
Provides-Extra: integrations
Requires-Dist: pandas; extra == "integrations"
Requires-Dist: plotly; extra == "integrations"
Requires-Dist: seaborn; extra == "integrations"
Provides-Extra: docs
Requires-Dist: sphinx==5.3; extra == "docs"
Requires-Dist: sphinx-gallery==0.10.1; extra == "docs"
Requires-Dist: docutils; extra == "docs"
Requires-Dist: pydata-sphinx-theme==0.9.0; extra == "docs"
Requires-Dist: sphinx_autodoc_typehints==1.19; extra == "docs"
Requires-Dist: sphinx_copybutton; extra == "docs"
Requires-Dist: sphinx_tabs; extra == "docs"
Requires-Dist: sphinx_design; extra == "docs"
Requires-Dist: sphinx_togglebutton; extra == "docs"
Requires-Dist: nbsphinx; extra == "docs"
Requires-Dist: nbconvert; extra == "docs"
Requires-Dist: ipykernel; extra == "docs"
Requires-Dist: matplotlib<=3.5.2; extra == "docs"
Requires-Dist: pandas; extra == "docs"
Requires-Dist: seaborn; extra == "docs"
Requires-Dist: scikit-learn; extra == "docs"
Requires-Dist: numpy<2.0.0; extra == "docs"
Provides-Extra: demos
Requires-Dist: ipykernel; extra == "demos"
Requires-Dist: jupyter; extra == "demos"
Requires-Dist: nbconvert; extra == "demos"
Provides-Extra: dev
Requires-Dist: pylint; extra == "dev"
Requires-Dist: toml; extra == "dev"
Requires-Dist: yapf; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: toml; extra == "dev"
Requires-Dist: coverage; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-benchmark; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: pytest-timeout; extra == "dev"
Requires-Dist: pytest-sphinx; extra == "dev"
Requires-Dist: tables; extra == "dev"
Requires-Dist: licenseheaders; extra == "dev"
Requires-Dist: codespell; extra == "dev"
Requires-Dist: cffconvert; extra == "dev"
Dynamic: license-file

<div align="center">


<p align="center">
<img src="https://images.squarespace-cdn.com/content/v1/57f6d51c9f74566f55ecf271/6f3943a1-b76d-4674-9df9-87aebd33e517/cebralogo.png?format=2500w" width="95%">
</p>



[📚Documentation](https://cebra.ai/docs/) |
[💡DEMOS](https://cebra.ai/docs/demos.html) |
[🛠️ Installation](https://cebra.ai/docs/installation.html) |
[🌎 Home Page](https://www.cebra.ai) |
[🚨 News](https://cebra.ai/docs/index.html) |
[🪲 Reporting Issues](https://github.com/AdaptiveMotorControlLab/CEBRA)


[![Downloads](https://static.pepy.tech/badge/cebra)](https://pepy.tech/project/cebra)
[![Downloads](https://static.pepy.tech/badge/cebra/month)](https://pepy.tech/project/cebra)
[![PyPI version](https://badge.fury.io/py/cebra.svg)](https://badge.fury.io/py/cebra)
![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-red)
[![Twitter Follow](https://img.shields.io/twitter/follow/CEBRAAI.svg?label=CEBRAai&style=social)](https://twitter.com/CEBRAAI)



</div>

# Welcome! 👋

**CEBRA** is a library for estimating **C**onsistent **E**m**B**eddings of high-dimensional **R**ecordings using **A**uxiliary variables. It contains self-supervised learning algorithms implemented in PyTorch, and has support for a variety of different datasets common in biology and neuroscience.

To receive updates on code releases, please 👀 watch or ⭐️ star this repository!

``cebra`` is a self-supervised method for non-linear clustering that allows for label-informed time series analysis.
It can jointly use behavioral and neural data in a hypothesis- or discovery-driven manner to produce consistent, high-performance latent spaces. While it is not specific to neural and behavioral data, this is the first domain we used the tool in. This application case is to obtain a consistent representation of latent variables driving activity and behavior, improving decoding accuracy of behavioral variables over standard supervised learning, and obtaining embeddings which are robust to domain shifts.


# Reference

- 📄 **Publication May 2023**:
  [Learnable latent embeddings for joint behavioural and neural analysis.](https://doi.org/10.1038/s41586-023-06031-6)
  Steffen Schneider*, Jin Hwa Lee* and Mackenzie Weygandt Mathis. Nature 2023.

- 📄 **Preprint April 2022**:
  [Learnable latent embeddings for joint behavioral and neural analysis.](https://arxiv.org/abs/2204.00673)
  Steffen Schneider*, Jin Hwa Lee* and Mackenzie Weygandt Mathis

# License

- Since version 0.4.0, CEBRA is open source software under an Apache 2.0 license.
- Prior versions 0.1.0 to 0.3.1 were released for academic use only (please read the license file).
