Metadata-Version: 2.5
Name: neuroline
Version: 1.1.0
Summary: A unified pipeline for neurophysiology data processing
Project-URL: Repository, https://gitlab.com/csnlab/neuroline
Project-URL: Documentation, https://csnlab.gitlab.io/neuroline/
Project-URL: Issues, https://gitlab.com/csnlab/neuroline/-/work_items
Author-email: Andreas Franzke <a.w.franzke@uva.nl>, Andreas Knoben <a.j.knoben@uva.nl>
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Keywords: calcium-imaging,data-processing,electrophysiology,neurophysiology,neuroscience,nwb,pipeline
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.11
Requires-Dist: deeplabcut<4.0.0,>=3.0.0rc8
Requires-Dist: facemap==1.0.8
Requires-Dist: kilosort==4.1.7
Requires-Dist: mtscomp<2.0.0,>=1.0.2
Requires-Dist: neuroconv<0.10.0,>=0.9.3
Requires-Dist: open-ephys-python-tools<1.0.0
Requires-Dist: phy==2.1.0
Requires-Dist: pynapple<1.0.0,>=0.11.2
Requires-Dist: pynwb<5.0.0,>=4.0.0
Requires-Dist: pyqt5-qt5==5.15.2
Requires-Dist: pyqt5==5.15.11
Requires-Dist: pyqtwebengine-qt5==5.15.2
Requires-Dist: roiextractors<0.9.0,>=0.8.0
Requires-Dist: spikeinterface[full]<0.105.0,>=0.104.3
Requires-Dist: suite2p<1.2.0,>=1.1.0
Provides-Extra: cu126
Requires-Dist: cuda-python<12.7.0,>=12.6.0; extra == 'cu126'
Provides-Extra: dev
Requires-Dist: pytest<10.0,>=9.1.0; extra == 'dev'
Requires-Dist: ruff<0.18.0,>=0.17.0; extra == 'dev'
Description-Content-Type: text/markdown

<div align="center">
<img src="https://gitlab.com/csnlab/neuroline/-/raw/a6c8a1a0519accf3c02c0d1aa16b11af7f49b49a/docs/assets/images/neuroline-wave.svg" height="128px" alt="Neuroline logo">

# Neuroline
**A unified pipeline for neurophysiology data processing**
</div>

Neuroline is a wrapper that brings together powerful, established neuroscience software packages into a single pipeline. 
Rather than reinventing the wheel, it provides a streamlined interface to combine electrophysiology preprocessing, spike sorting, two-photon imaging data processing, video analysis, and behavioural tracking and exports everything into the [NWB (Neurodata Without Borders)](https://www.nwb.org) standard.

## Installation & Documentation
Please see the [documentation](https://csnlab.gitlab.io/neuroline/installation/) for the full installation guide and how to get started. In short:

1. **Create an environment using conda**
```bash
conda create -n neuroline python=3.11 pip
conda activate neuroline
```
2. **Install PyTorch matching your GPU's compute capability**, e.g., for CUDA 13.0:
```bash
pip install torch torchvision torchaudio
```
or for CUDA 12.6:
```bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
```
3. Install Neuroline
```bash
pip install neuroline
```
or `pip install neuroline[cu126]` (for example) if you used a custom index url for PyTorch.

## Dependencies
Neuroline is essentially a wrapper around many different software packages, the chief among which:

- [Spikeinterface](https://github.com/SpikeInterface/spikeinterface)
- [Kilosort](https://github.com/MouseLand/Kilosort)
- [Phy](https://github.com/cortex-lab/phy)
- [Open Ephys Python Tools](https://github.com/open-ephys/open-ephys-python-tools)
- [Suite2P](https://github.com/MouseLand/suite2p)
- [DeepLabCut](https://github.com/DeepLabCut/DeepLabCut)
- [FaceMap](https://github.com/MouseLand/FaceMap)
- [Neuroconv](https://github.com/catalystneuro/neuroconv)
- [pyNWB](https://github.com/NeurodataWithoutBorders/pynwb)

## Compatibility
For electrophysiology, Neuroline currently supports data recorded with Neuropixels 1.0 and 2.0 probes and Rhythm interface-based headstages using the Open Ephys software, stored in either binary or NWB format.
