SpikeInterface is a Python framework designed to unify preexisting spike sorting technologies into a single code base.
It can:
read/write many extracellular file formats.
pre-process extracellular recordings.
run many popular, semi-automatic spike sorters (kilosort1-4, mountainsort4-5, spykingcircus, tridesclous, ironclust, herdingspikes, yass, waveclus)
run sorters developed in house (lupin, spkykingcicus2, tridesclous2, simple) that compete with kilosort4
run theses polar sorters without installation using containers (Docker/Singularity).
post-process sorted datasets using th SortingAnalyzer
compare and benchmark spike sorting outputs.
compute quality metrics to validate and curate spike sorting outputs.
visualize recordings and spike sorting outputs in several ways (matplotlib, sortingview, jupyter, ephyviewer)
export a report and/or export to phy
curate your sorting with several strategies (ml-based, metrics based, manual, ...)
have powerful sorting components to build your own sorter.
have a full motion/drift correction framework.