Software developed as part of the COSMOS project:




cSPIKE is an easy to use spike train analysis software. It runs on Matlab command line and uses MEX files with C++ backends for speed. cSPIKE implements functions such as ISI-distance [1], SPIKE-distance [2], SPIKE-synchronization [3] and their adaptive variants [4] as well as the directional SPIKE-order [5]. It also includes basic functions for plotting spike trains and profiles. The ISI-distance, the SPIKE-distance, and SPIKE-synchronization are time-scale adaptive measures of spike train similarity that can be used for assessing similarity between two or more point processes. In neuroscience the point processes are often taken as action potentials either from simultaneously recorded neuronal populations or from the same neuron recorded during different time intervals.


References common for cSPIKE, SPIKY (see below) and PySpike (see below):

[1] Kreuz T, Haas JS, Morelli A, Abarbanel HDI, Politi A:
Measuring spike train synchrony.
J Neurosci Methods 165, 151 (2007) [PDF].

[2] Kreuz T, Chicharro D, Houghton C, Andrzejak RG, Mormann F:
Monitoring spike train synchrony.
J Neurophysiol 109, 1457 (2013) [PDF].

[3] Kreuz T, Mulansky M, Bozanic N:
SPIKY: A graphical user interface for monitoring spike train synchrony.
JNeurophysiol 113, 3432 (2015) [PDF]

[4] Satuvuori E, Mulansky M, Bozanic N, Malvestio I, Zeldenrust F, Lenk K, Kreuz T:
Measures of spike train synchrony for data with multiple time-scales
JNeurosci Methods 287, 25 [PDF] and arXiv [PDF] (2017)

[5] Kreuz T, Satuvuori E, Pofahl M, Mulansky M:
Leaders and followers: Quantifying consistency in spatio-temporal propagation patterns.
New J. Phys., 19, 043028 [PDF] and arXiv [PDF] (2017)


cSPIKE was developed by COSMOS ESR Eero Satuvuori (Project 9).




We provide the source code to calculate the measure L first introduced in [1] with the improvements introduced in [2]. The nonlinear interdependence measure L allows for nonlinear coupling detection between two point processes. In particular, the nonlinear interdependence measure L is suited to be applied to spike trains from neurons. The approach is modular, for example different spike train distances [3] can be used to assess similarity. This modularity allows one to test for different manifestations of the coupling such as signatures in the event rate or event timing.

For a detailed description about the Matlab source code see the document MalvestioPRE2017Readme.pdf available on the download page. Simulated data from Hindmarsh-Rose dynamics are provided as well to test the code.

[1] Andrzejak RG, Kreuz T: “Characterizing unidirectional couplings between point processes and flows.” EPL, 96 (2011) 50012.

[2] Malvestio I, Kreuz T, Andrzejak RG: “Robustness and versatility of a nonlinear interdependence method for directional coupling detection from spike trains.” Physical Review E, 96 (2017) 022203.

[3] We use source code from cSPIKE (see above).


This code was developed by COSMOS ESR Irene Malvestio (Project 10).



Two libraries, both written in Rust. The first is for solving ODEs, the second is for performing Gram-Schmidt Orthonormalization:


rust-freude: ODE library

gram_schmidt: Gram-Schmidt Orthonormalization


These libraries were developed by COSMOS ESR Janis Goldschmidt (Project 1). 



Software developed by COSMOS groups and related to the project:




SPIKY is a Matlab graphical user interface that facilitates the application of time-resolved measures of spike train synchrony to simulated and real data. It contains the standard Peri-Stimulus Time Histogram (PSTH), the ISI-distance, the SPIKE-distanceSPIKE synchronization, and the directional SPIKE-order.

For a given dataset SPIKY calculates the measures of choice and allows the user to switch between different visualizations such as dissimilarity profiles, pairwise dissimilarity matrices, or hierarchical cluster trees. SPIKY also includes a spike train generator, an event detector (for continuous data) and complementary programs for the analysis of a large number of datasets and for evaluating the statistical significance of results.


Links to the SPIKY Facebook group and SPIKY YouTube channel can be found here:






Kreuz T, Mulansky M, Bozanic N:
SPIKY: A graphical user interface for monitoring spike train synchrony.
JNeurophysiol 113, 3432 (2015) [PDF]


SPIKY was developed by Nebojsa Bozanic and COSMOS PI Thomas Kreuz.





PySpike is a Python library for the numerical analysis of spike train similarity. Its core functionality is the implementation of the ISI-distance [1] and SPIKE-distance [2] as well as SPIKE-Synchronization [3]. It provides functions to compute multivariate profiles, distance matrices, as well as averaging and general spike train processing. All computation intensive parts are implemented in C via cython to reach a competitive performance (factor 100-200 over plain Python). PySpike provides the same fundamental functionality as the SPIKY framework for Matlab.


Documentation for PySpike can be found here:


Mulansky M, Kreuz T:
PySpike – A Python library for analyzing spike train synchrony
Software X 5, 183 and arXiv [PDF] (2016)


PySpike was developed by Mario Mulansky and COSMOS PI Thomas Kreuz.





The Data Analysis with Models Of Coupled Oscillators (DAMOCO) toolbox is a collection of functions for multivariate data analysis, based on the coupled oscillators approach. It provides functions for computation of protophases (initial phase estimates) from time series via the Hilbert Transform, marker events, or via length of the trajectory in the state space. It allows a researcher to transform protophases into true phases and infer equations of phase dynamics of coupled oscillators. With DAMOCO you can easily compute synchronization and directionality indices as well as reveal a coupling structure of a network by means of pairwise or triplet analysis.


DAMACO was developed by Björn Kralemann and COSMOS PIs Michael Rosenblum and Arkady Pikovsky.




Other source codes from the Nonlinear Time Series Analysis Group at the Universitat Pompeu Fabra:


These source codes were developed by COSMOS PI Ralph Andrzejak.