Correlative measures on spike trains

Spike train correlation

This modules provides functions to calculate correlations between spike trains.

covariance(binned_spiketrain[, binary, fast]) Calculate the NxN matrix of pairwise covariances between all combinations of N binned spike trains.
correlation_coefficient(binned_spiketrain[, ...]) Calculate the NxN matrix of pairwise Pearson's correlation coefficients between all combinations of N binned spike trains.
cross_correlation_histogram(...[, window, ...]) Computes the cross-correlation histogram (CCH) between two binned spike trains binned_spiketrain_i and binned_spiketrain_j.
spike_time_tiling_coefficient(spiketrain_i, ...) Calculates the Spike Time Tiling Coefficient (STTC) as described in [cor1] following their implementation in C.
spike_train_timescale(binned_spiketrain, max_tau) Calculates the auto-correlation time of a binned spike train; uses the definition of the auto-correlation time proposed in [cor2] (Eq.

Spike train dissimilarity

In neuroscience one often wants to evaluate, how similar or dissimilar pairs or even large sets of spiketrains are. For this purpose various different spike train dissimilarity measures were introduced in the literature. They differ, e.g., by the properties of having the mathematical properties of a metric or by being time-scale dependent or not. Well known representatives of spike train dissimilarity measures are the Victor-Purpura distance and the Van Rossum distance implemented in this module, which both are metrics in the mathematical sense and time-scale dependent.

victor_purpura_distance(spiketrains[, ...]) Calculates the Victor-Purpura's (VP) distance.
van_rossum_distance(spiketrains[, ...]) Calculates the van Rossum distance [ds1], defined as Euclidean distance of the spike trains convolved with a causal decaying exponential smoothing filter.

Spike train synchrony

Functions to measure the synchrony of several spike trains.

Synchrony Measures

spike_contrast(spiketrains[, t_start, ...]) Calculates the synchrony of spike trains, according to [syn1].
Synchrotool(spiketrains, sampling_rate[, ...]) Tool class to find, remove and/or annotate the presence of synchronous spiking events across multiple spike trains.


[cor1]Catherine S Cutts and Stephen J Eglen. Detecting pairwise correlations in spike trains: an objective comparison of methods and application to the study of retinal waves. Journal of Neuroscience, 34(43):14288–14303, 2014.
[cor2]Stefan Wieland, Davide Bernardi, Tilo Schwalger, and Benjamin Lindner. Slow fluctuations in recurrent networks of spiking neurons. Physical Review E, 92(4):040901, 2015.

[ds1]MCW van Rossum. A novel spike distance. Neural computation, 13(4):751–763, 2001.

[syn1]M. Ciba, T. Isomura, Y. Jimbo, A. Bahmer, and C. Thielemann. Spike-contrast: a novel time scale independent and multivariate measure of spike train synchrony. J. Neurosci. Meth., 293:136–143, 2018. doi:10.1016/j.jneumeth.2017.09.008.