Spike train surrogates

Module to generate surrogates of a spike train by randomising its spike times in different ways (see (Gerstein, 2004), (Louis et al., 2010), and (Louis et al., 2010)). Different methods destroy different features of the original data.

Main function

surrogates(spiketrain[, n_surrogates, ...])

Generates surrogates of a spiketrain by a desired generation method.

Surrogate types

JointISI(spiketrain[, dither, ...])

Joint-ISI dithering implementation, based on the ideas from (Gerstein, 2004) and (Louis et al., 2010).

dither_spikes(spiketrain, dither[, ...])

Generates surrogates of a spike train by spike dithering.

randomise_spikes(spiketrain[, n_surrogates, ...])

Generates surrogates of a spike train by spike time randomization.

shuffle_isis(spiketrain[, n_surrogates, ...])

Generates surrogates of a spike train by inter-spike-interval (ISI) shuffling.

dither_spike_train(spiketrain, shift[, ...])

Generates surrogates of a spike train by spike train shifting.

jitter_spikes(spiketrain, bin_size[, ...])

Generates surrogates of a spike train by spike jittering.

bin_shuffling(spiketrain, max_displacement)

Bin shuffling surrogate generation.

trial_shifting(spiketrains, dither[, ...])

Generates surrogates of a spike train by trial shifting.

References

[Gerstein, 2004] (1,2,3)

George L Gerstein. Searching for significance in spatio-temporal firing patterns. Acta Neurobiologiae Experimentalis, 64(2):203–208, 2004.

[Louis, 2010] (1,2,3)

Sebastien GR Louis, Markus Diesmann, and others. Surrogate spike train generation through dithering in operational time. Frontiers in computational neuroscience, 4:127, 2010.

[Louis, 2010]

Sebastien Louis, Christian Borgelt, and Sonja Grün. Generation and selection of surrogate methods for correlation analysis. In Analysis of Parallel Spike Trains, volume 7, pages 359–382. Springer, 2010. doi:10.1007/978-1-4419-5675-0_17.