SpikeInterface/spikeinterface
A Python-based module for creating flexible and robust spike sorting pipelines.
What it solves
SpikeInterface provides a unified Python framework for spike sorting, which is the process of identifying and separating individual neural action potentials (spikes) from extracellular electrophysiology recordings. It eliminates the need for researchers to manually switch between disparate, incompatible spike sorting tools and file formats.
How it works
It acts as a comprehensive interface that wraps existing spike sorting technologies and algorithms into a single codebase. It allows users to read and write various extracellular file formats, pre-process recordings, and run multiple popular sorters (such as Kilosort, MountainSort, and in-house tools like Lupin) through a consistent API. The framework also includes tools for post-processing, quality metric computation, benchmarking, and motion/drift correction.
Who it’s for
Neuroscientists and researchers working with extracellular electrophysiology data who need to process, sort, and curate neural spike data using various algorithms and tools.
Highlights
- Unified API: Access multiple semi-automatic spike sorters and in-house algorithms from one place.
- Containerized Execution: Run popular sorters via Docker or Singularity without needing local installation.
- Comprehensive Pipeline: Covers the entire workflow from reading raw files and pre-processing to post-processing and curation.
- Validation Tools: Includes quality metrics and benchmarking capabilities to validate sorting outputs.
- Flexible Curation: Supports ML-based, metrics-based, and manual curation strategies.
Related
- Project
- Project
- Project
- Project
- Project