summaryrefslogtreecommitdiff
path: root/pyspike/distances.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyspike/distances.py')
-rw-r--r--pyspike/distances.py41
1 files changed, 34 insertions, 7 deletions
diff --git a/pyspike/distances.py b/pyspike/distances.py
index 8a14a8d..2cac4bc 100644
--- a/pyspike/distances.py
+++ b/pyspike/distances.py
@@ -133,6 +133,19 @@ def spike_distance(spikes1, spikes2, interval=None):
# spike_sync_profile
############################################################
def spike_sync_profile(spikes1, spikes2):
+ """ Computes the spike-synchronization profile S_sync(t) of the two given
+ spike trains. Returns the profile as a DiscreteFunction object. The S_sync
+ values are either 1 or 0, indicating the presence or absence of a
+ coincidence. The spike trains are expected to have auxiliary spikes at the
+ beginning and end of the interval. Use the function add_auxiliary_spikes to
+ add those spikes to the spike train.
+
+ :param spikes1: ordered array of spike times with auxiliary spikes.
+ :param spikes2: ordered array of spike times with auxiliary spikes.
+ :returns: The spike-distance profile :math:`S_{sync}(t)`.
+ :rtype: :class:`pyspike.function.DiscreteFunction`
+
+ """
# cython implementation
try:
@@ -155,6 +168,20 @@ Falling back to slow python backend.")
# spike_sync
############################################################
def spike_sync(spikes1, spikes2, interval=None):
+ """ Computes the spike synchronization value SYNC of the given spike
+ trains. The spike synchronization value is the computed as the total number
+ of coincidences divided by the total number of spikes:
+
+ .. math:: SYNC = \sum_n C_n / N.
+
+ :param spikes1: ordered array of spike times with auxiliary spikes.
+ :param spikes2: ordered array of spike times with auxiliary spikes.
+ :param interval: averaging interval given as a pair of floats (T0, T1),
+ if None the average over the whole function is computed.
+ :type interval: Pair of floats or None.
+ :returns: The spike synchronization value.
+ :rtype: double
+ """
return spike_sync_profile(spikes1, spikes2).avrg(interval)
@@ -340,16 +367,16 @@ def spike_distance_multi(spike_trains, indices=None, interval=None):
############################################################
def spike_sync_profile_multi(spike_trains, indices=None):
""" Computes the multi-variate spike synchronization profile for a set of
- spike trains. That is the average spike-distance of all pairs of spike
- trains:
- :math:`S_ss(t) = 2/((N(N-1)) sum_{<i,j>} S_{ss}^{i, j}`,
- where the sum goes over all pairs <i,j>
+ spike trains. For each spike in the set of spike trains, the multi-variate
+ profile is defined as the number of coincidences divided by the number of
+ spike trains pairs involving the spike train of containing this spike,
+ which is the number of spike trains minus one (N-1).
:param spike_trains: list of spike trains
:param indices: list of indices defining which spike trains to use,
if None all given spike trains are used (default=None)
:type indices: list or None
- :returns: The averaged spike profile :math:`<S_{ss}>(t)`
+ :returns: The multi-variate spike sync profile :math:`<S_{sync}>(t)`
:rtype: :class:`pyspike.function.DiscreteFunction`
"""
@@ -374,7 +401,7 @@ def spike_sync_multi(spike_trains, indices=None, interval=None):
:param interval: averaging interval given as a pair of floats, if None
the average over the whole function is computed.
:type interval: Pair of floats or None.
- :returns: The averaged spike synchronization value SYNC.
+ :returns: The multi-variate spike synchronization value SYNC.
:rtype: double
"""
return spike_sync_profile_multi(spike_trains, indices).avrg(interval)
@@ -459,7 +486,7 @@ def spike_distance_matrix(spike_trains, indices=None, interval=None):
# spike_sync_matrix
############################################################
def spike_sync_matrix(spike_trains, indices=None, interval=None):
- """ Computes the time averaged spike-synchronization value of all pairs of
+ """ Computes the overall spike-synchronization value of all pairs of
spike-trains.
:param spike_trains: list of spike trains