Metadata-Version: 2.4
Name: tad-py
Version: 1.0.3
Summary: They All Die (TAD)
Author: Florian Kolbl, Jaderson Polli
License-Expression: GPL-3.0
Project-URL: homepage, https://github.com/Neuro-Interface-Lab/TAD
Project-URL: documentation, https://tad.readthedocs.io
Project-URL: repository, https://github.com/Neuro-Interface-Lab/TAD
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Classifier: Natural Language :: English
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: h5py
Requires-Dist: spikeinterface
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: probeinterface
Requires-Dist: scipy
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: furo; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: Pygments; extra == "dev"
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: sphinx; extra == "dev"
Requires-Dist: sphinx_codeautolink; extra == "dev"
Requires-Dist: sphinx_copybutton; extra == "dev"
Requires-Dist: sphinx_gallery; extra == "dev"
Requires-Dist: sphinx-mdinclude; extra == "dev"
Requires-Dist: sphinx-rtd-theme; extra == "dev"
Dynamic: license-file

# TAD

[![PyPI version](https://img.shields.io/pypi/v/tad-py.svg)](https://pypi.org/project/tad-py/)
[![Documentation Status](https://readthedocs.org/projects/tad/badge/?version=latest)](https://tad.readthedocs.io/en/latest/?badge=latest)
[![DOI](https://zenodo.org/badge/1210231994.svg)](https://doi.org/10.5281/zenodo.19582597)

<img
  src="https://raw.githubusercontent.com/Neuro-Interface-Lab/TAD/main/docs/tad_logo_2_monogram_transparent.png"
  alt="TAD logo"
  width="240"
/>

TAD ("They All Die") is a Python package for handling and analyzing neural
recordings, with a focus on spike rasters, burst detection, synchrony, firing
rates, avalanches, and event-triggered analyses.

TAD is developed jointly at:

- IMS laboratory, University of Bordeaux
  Florian Kolbl, Bioelectronics group:
  https://www.ims-bordeaux.fr/research-groups/bioelectronics/
- Universidade Federal do Parana (UFPR)
  Jaderson Polli, Department of Physics:
  http://fisica.ufpr.br/pagina_ppgf_english/

## Scientific context

At this stage, TAD is primarily grounded in the analysis workflows described in:

1. Pasquale, V., Massobrio, P., Bologna, L. L., Chiappalone, M., & Martinoia,
   S. (2008). Self-organization and neuronal avalanches in networks of
   dissociated cortical neurons. *Neuroscience*, 153(4), 1354-1369.
2. Bologna, L. L., Pasquale, V., Garofalo, M., Gandolfo, M., Baljon, P. L.,
   Maccione, A., ... & Chiappalone, M. (2010). Investigating neuronal activity
   by SPYCODE multi-channel data analyzer. *Neural Networks*, 23(6), 685-697.

## Features

- Flexible raster creation, manipulation, and serialization
- Spike metrics such as counts, rates, and inter-spike intervals
- Burst detection and burst-related visualizations
- Avalanche analysis and synchrony metrics
- Trigger and event-window handling
- Support for Multi Channel Systems recordings

## Installation

For a standard user installation, install TAD from PyPI:

```bash
pip install tad-py
```

If you want to work on TAD locally in development mode:

```bash
git clone https://github.com/Neuro-Interface-Lab/TAD.git
cd TAD
pip install -e ".[dev]"
```

If you prefer a conda-based environment, you can also use:

```bash
conda env create -f environment.yml
conda activate tad-env
```

## Quick start

```python
import numpy as np
from tad import Raster

raster = Raster.empty(channels=range(10))

for ch in range(10):
    raster.insert_timestamparray(
        ch,
        np.random.uniform(0, 10, 100),
    )

raster.save("my_raster.h5", h5=True)
```

## Documentation

- Installation guide:
  https://tad.readthedocs.io/en/latest/installation.html
- Tutorials:
  https://tad.readthedocs.io/en/latest/tutorials.html
- API reference:
  https://tad.readthedocs.io/en/latest/api/index.html

## Citation

The repository now includes a `CITATION.cff` file for GitHub and a
`.zenodo.json` file for Zenodo metadata.

Once Zenodo is connected to the GitHub repository and the first GitHub release
is archived, TAD will receive a DOI that can be added here as a badge and used
in future scientific publications.

## License

TAD is distributed under the GPL-3.0 license.
