FAST \cite{Dhawale_2017} is an espetial case,
Some well known spike sorting methods can handle drifting waveforms \cite{Chung_2017,Jun_2017,Niediek_2016}, the issue with these cases are that, for long term recordings, all the spikes with a similar waveform will be assign to the same cluster without take in consideration the time difference between each of them.
After all these observations, we presented Spikes_Link a method to fully track neurons and handle spike sorting errors and stability fluctuations using ad hoc rules. The method uses a generic spike sorting algorithm to sort a block of spikes and using these results includes in the next block subsets of the spikes of the classes tracked. The addition of these overlapping sets has an extra utility, in the case of sparse neurons, more spikes will be present in each block, favoring the detection of these elusive classes. The proportion of the overlapping set of each class, assigned to a new cluster is used to define the relationship between that cluster and the current classes. Each cluster can be labeled as a new class or a match, split or merger of a known class. The metric and the relationship between clusters have some similarities to the MONIC framework \cite{Spiliopoulou_2006}, being the main differences that MONIC track the dynamics of classes without considering the issues on the clustering and requires a natural superposition of the samples, nonviable for sparse neurons. After analyzing all the available blocks a graph reduction criteria is applied, this last step of Spikes_link reduces the spurious classes removing them or and merging them to the stable classes when it is possible.
All the parameters used by Spikes_Link are:
- \(N_{min}\): minimum number of spikes that the spike sorting algorithm recommends.
- \(N_{max}\): maximum number of spikes that the spike sorting algorithm recommends.
- \(T_{max}\): Larger time period where the recording can be presume stable.
- \(p_{out}\): Proportion of spikes in a cluster that could be related to outlines spikes.
- \(MS\): the amount of consecutive temporal mergers until the merger is confirmed.
- \(CS\): the amount of consecutive blocks that a class survives without a matched cluster. Note that: \(MS \leq CS\).
- \(S_{TH}\): Minimum amount of blocks with spikes that a class must-have.
Some algorithms are obtained directly from the spike sorter used ( \(N_{min}\) , \(N_{max}\) ) or the expected quality of the result ( \(p_{out}\)). The expected stability is parametrized by \(T_{max}\), nevertheless some drifting could happen in the block without repercussions, especially if the used spike sorting method can handle it. \(MS\) measure how many mergers of previous classes can be detected until the sorting solution is trusted and loss of isolation confirmed, it has to be taken into consideration that, in some cases, blocks of high noise could occur and contaminate any spike sorter results. For sparse neurons that could be absent in some blocks, the parameter \(CS\) will cap the number of blocks in which the same waveform will be searched. Finally, \(S_{TH}\), defines the minimum scale in blocks at which the results will be inspected. The parameters has a direct relationship with the experimental conditions and it is not necessary to define more obscure parameters like the minimun distance between cluster, etc.