Implementation
SpikeSift performs spike sorting in three main stages:
Filtering and Segmentation: The raw signal is first filtered using a Difference of Gaussians filter to isolate spike-relevant frequencies. It is then split into segments via Adaptive Segmentation, which monitors spike amplitude fluctuations across channels to detect electrode drift.
Iterative Sorting: Within each segment, spikes are sorted through an Iterative Sorting process. Neurons are resolved one at a time via Template Formation and Template Matching, with both steps relying on Binary-Splitting Clustering to isolate spikes from a single unit.
Segment Merging: Finally, clusters are aligned across segments via Segment Merging. Since each neuron typically appears as a single, well-isolated cluster per segment, merging reduces to a simple, reliable one-to-one matching problem — minimizing the risk of cluster fragmentation.
Each stage is designed for clarity, computational efficiency, and robustness to drift — without requiring precise drift correction or hardware acceleration. For a full description of the algorithm, see SpikeSift: A Computationally Efficient and Drift-Resilient Spike Sorting Algorithm.