Julia implementations for measuring distances, synchrony and correlation between spike trains
Author JuliaNeuroscience
7 Stars
Updated Last
1 Year Ago
Started In
September 2019


Measuring distances, synchrony and correlation between spike trains. Most methods implemented here are summarized in the relevant Scholarpedia entry, but the documentation strings also cite the papers.

SpikeSynchrony.jl has a clear, small and easy-to-understand source code, which could be helpful in education purposes. Notice that the present code has not been optimized in any way for performance (as the functions are already fast enough that there is no reason to).

To install, press ] in the Julia console to enter package mode and then do

add https://github.com/Datseris/SpikeSynchrony.jl

To use it in your Julia sessions, do using SpikeSynchrony.


These are the exported functions from SpikeSynchrony. See their documentation strings for how to use them:

vanRossum # the van Rossum distance
SPIKE_distance # self-explanatory
SPIKE_distance_profile # the function S(t)

Related software

The following software, implemented in other languages, have much more functionality than we do:

  1. SPIKY : MATLAB with a Graphical User Interface
  2. PySpike : Python
  3. cSpike : MATLAB with MEX C++ backends

(If you know more, add them here via a PR)


I would like to thank Thomas Kreuz for support regarding the implementations here, as well as useful discussions.