Fig. 1: The UnitMatch pipeline.

a, Preprocessing. The user performs spike sorting on each recording session and computes the average spike waveform of each unit in each half of each recording. b, Matching. UnitMatch extracts key parameters from each waveform (step 1) and uses them to compute similarity scores for each pair of units across all pairs of recordings (step 2). It then uses within-day cross-validation to identify a similarity score threshold for putative matches (step 3). It corrects for drift across recordings (step 4), and repeats steps 2 and 3 to recompute the putative matches. Finally, it builds probability distributions for the similarity scores for putative matches and feeds them to a classifier to assign a probability to every possible match across all pairs of recordings (step 5). The result is a probability for every pair of neurons across all recordings to be a match. c, Tracking. UnitMatch uses the probabilities output by the previous stage to track individual units across multiple sessions.