SpikeInterface
SpikeInterface provides a unified interface for spike sorting — the process of detecting and classifying action potentials from extracellular recordings.Input formats
.nwb, .bin, .dat, .raw, .mda, .h5, .zarr
Sorter backends
| Sorter | GPU | Description |
|---|---|---|
| Kilosort4 | Yes | Recommended. State-of-the-art GPU spike sorter |
| Kilosort3 | Yes | Previous generation Kilosort |
| Kilosort2.5 | Yes | Stable, widely-used version |
| IronClust | Yes | GPU-accelerated spike sorter |
| MountainSort5 | No | CPU-based, fast for small recordings |
| SpyKING CIRCUS 2 | No | Template-matching based sorter |
| Tridesclous2 | No | CPU-based spike sorter |
Parameters
| Parameter | Range | Default | Description |
|---|---|---|---|
| Sampling rate | 1k–100kHz | Auto-detected | Recording sampling rate |
| Channels | 1–4096 | Auto-detected | Number of recording channels |
| Data type | int16/float32/etc. | int16 | Data type of recording |
| Bandpass filter | freq_min/freq_max | 300–6000 Hz | Frequency range for filtering |
| Common median ref. | Toggle | On | Remove common noise via median subtraction |
| Detection threshold | 2–20 std dev | 6 | Spike detection sensitivity |
| Drift correction | Toggle | On | Correct for electrode drift |
| ISI violation threshold | Float | 0.5 ms | Refractory period violation threshold |
| Min SNR | Float | 2.0 | Minimum signal-to-noise ratio for units |
| Phy export | Toggle | Off | Export for manual curation in Phy |
| Save waveforms | Toggle | On | Save spike waveform templates |
Outputs
| Output | Format | Description |
|---|---|---|
| Spike times | NPY | Spike timestamps and unit assignments |
| Waveform templates | NPY | Average waveform per unit |
| QC metrics | JSON | SNR, ISI violations, firing rates |
| NWB output | NWB | Results in Neurodata Without Borders format (optional) |
| Phy export | TAR.GZ | Files for manual curation in Phy GUI |
| Sorting summary | PNG | Visual summary of sorting results |
Presets
| Preset | Sorter | Description |
|---|---|---|
| Neuropixels Default | Kilosort4 | 384 channels, 30kHz, optimized for Neuropixels probes |
| Quick Sort | MountainSort5 | CPU-based, fastest option for small recordings |
| High Quality | Kilosort4 | Full QC metrics + Phy export for manual curation |
Compute requirements
| Resource | Requirement |
|---|---|
| GPU | GPU sorters require CUDA-capable GPU. CPU sorters run on CPU only. |
| Duration | 900–1800 seconds depending on recording length and sorter |