Skip to main content

Multi-unit Van Rossum spike train metric

Project description


build status

Multi-unit Van Rossum spike train metric. This is a kernel-based implementation with markage vector and precomputed exponential factor, as described in Houghton and Kreuz, 2012, ‘On the efficient calculation of Van Rossum distances.’. This package started out as a Python wrapping of the original C++ implementation given by the authors of the paper, and evolved from there with bugfixes and improvements.


Full documentation is hosted at


  • Python 2.7 or 3.x.
  • NumPy>=1.7.
  • C++ development tools and Standard Library (package build-essential on Debian).
  • Python development tools (package python-dev on Debian).


To install the latest release, run:

pip install pymuvr

If you prefer installing from git, use:

git clone
cd pymuvr
python install

Note that you’ll get testing and benchbark scripts only if you install manually (i.e. not via pip).


The module exposes two functions:

pymuvr.distance_matrix(parallel_trains_1, parallel_trains_2, cos, tau)
pymuvr.square_distance_matrix(parallel_trains, cos, tau)

distance_matrix calculates the ‘bipartite’ (rectangular) dissimilarity matrix between the trains in parallel_trains_1 and those in parallel_trains_2.

square_distance_matrix calculates the ‘all-to-all’ dissimilarity matrix between each pair of trains in parallel_trains. It’s an optimised form of distance_matrix(parallel_trains, parallel_trains, cos, tau).

They both return their results as a 2D numpy array.

The parallel_trains arguments must be thrice-nested lists of spiketimes, in such a way that parallel_trains[i][j][k] represents the time of the kth spike of the jth cell of the ith train. cos and tau are the usual parameters for the multiunit Van Rossum metric.

See examples/ for an example of usage comparing the performance of pymuvr with the pure Python implementation of the multiunit Van Rossum distance in spykeutils.


This package is licensed under version 3 of the GPL or any later version. See COPYING for details.

Project details

Release history Release notifications

History Node


History Node


History Node


History Node


This version
History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pymuvr-1.1.0.tar.gz (51.2 kB) Copy SHA256 hash SHA256 Source None May 24, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page