summaryrefslogtreecommitdiff
path: root/pyspike/spike_distance.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyspike/spike_distance.py')
-rw-r--r--pyspike/spike_distance.py58
1 files changed, 29 insertions, 29 deletions
diff --git a/pyspike/spike_distance.py b/pyspike/spike_distance.py
index 8d03d70..cc620d4 100644
--- a/pyspike/spike_distance.py
+++ b/pyspike/spike_distance.py
@@ -1,11 +1,6 @@
-"""
-
-Module containing several functions to compute SPIKE profiles and distances
-
-Copyright 2014-2015, Mario Mulansky <mario.mulansky@gmx.net>
-
-Distributed under the BSD License
-"""
+# Module containing several functions to compute SPIKE profiles and distances
+# Copyright 2014-2015, Mario Mulansky <mario.mulansky@gmx.net>
+# Distributed under the BSD License
from pyspike import PieceWiseLinFunc
from pyspike.generic import _generic_profile_multi, _generic_distance_matrix
@@ -15,16 +10,16 @@ from pyspike.generic import _generic_profile_multi, _generic_distance_matrix
# spike_profile
############################################################
def spike_profile(spike_train1, spike_train2):
- """ Computes the spike-distance profile S_spike(t) of the two given spike
- trains. Returns the profile as a PieceWiseLinFunc object. The S_spike
- values are defined positive S_spike(t)>=0.
+ """ Computes the spike-distance profile :math:`S(t)` of the two given spike
+ trains. Returns the profile as a PieceWiseLinFunc object. The SPIKE-values
+ are defined positive :math:`S(t)>=0`.
:param spike_train1: First spike train.
- :type spike_train1: :class:`pyspike.SpikeTrain`
+ :type spike_train1: :class:`.SpikeTrain`
:param spike_train2: Second spike train.
- :type spike_train2: :class:`pyspike.SpikeTrain`
- :returns: The spike-distance profile :math:`S_{spike}(t)`.
- :rtype: :class:`pyspike.function.PieceWiseLinFunc`
+ :type spike_train2: :class:`.SpikeTrain`
+ :returns: The spike-distance profile :math:`S(t)`.
+ :rtype: :class:`.PieceWiseLinFunc`
"""
# check whether the spike trains are defined for the same interval
@@ -56,15 +51,15 @@ Falling back to slow python backend.")
# spike_distance
############################################################
def spike_distance(spike_train1, spike_train2, interval=None):
- """ Computes the spike-distance S of the given spike trains. The
- spike-distance is the integral over the isi distance profile S_spike(t):
+ """ Computes the spike-distance :math:`D_S` of the given spike trains. The
+ spike-distance is the integral over the isi distance profile :math:`S(t)`:
- .. math:: S = \int_{T_0}^{T_1} S_{spike}(t) dt.
+ .. math:: D_S = \int_{T_0}^{T_1} S(t) dt.
:param spike_train1: First spike train.
- :type spike_train1: :class:`pyspike.SpikeTrain`
+ :type spike_train1: :class:`.SpikeTrain`
:param spike_train2: Second spike train.
- :type spike_train2: :class:`pyspike.SpikeTrain`
+ :type spike_train2: :class:`.SpikeTrain`
: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.
@@ -81,15 +76,17 @@ def spike_distance(spike_train1, spike_train2, interval=None):
def spike_profile_multi(spike_trains, indices=None):
""" Computes the multi-variate spike distance profile for a set of spike
trains. That is the average spike-distance of all pairs of spike-trains:
- :math:`S_spike(t) = 2/((N(N-1)) sum_{<i,j>} S_{spike}^{i, j}`,
+
+ .. math:: <S(t)> = \\frac{2}{N(N-1)} \\sum_{<i,j>} S^{i, j}`,
+
where the sum goes over all pairs <i,j>
- :param spike_trains: list of spike trains
+ :param spike_trains: list of :class:`.SpikeTrain`
: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_{spike}>(t)`
- :rtype: :class:`pyspike.function.PieceWiseLinFunc`
+ :returns: The averaged spike profile :math:`<S>(t)`
+ :rtype: :class:`.PieceWiseLinFunc`
"""
average_dist, M = _generic_profile_multi(spike_trains, spike_profile,
@@ -104,17 +101,20 @@ def spike_profile_multi(spike_trains, indices=None):
def spike_distance_multi(spike_trains, indices=None, interval=None):
""" Computes the multi-variate spike distance for a set of spike trains.
That is the time average of the multi-variate spike profile:
- S_{spike} = \int_0^T 2/((N(N-1)) sum_{<i,j>} S_{spike}^{i, j} dt
+
+ .. math:: D_S = \\int_0^T \\frac{2}{N(N-1)} \\sum_{<i,j>}
+ S^{i, j} dt
+
where the sum goes over all pairs <i,j>
- :param spike_trains: list of :class:`pyspike.SpikeTrain`
+ :param spike_trains: list of :class:`.SpikeTrain`
: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
: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 distance S.
+ :returns: The averaged multi-variate spike distance :math:`D_S`.
:rtype: double
"""
return spike_profile_multi(spike_trains, indices).avrg(interval)
@@ -126,7 +126,7 @@ def spike_distance_multi(spike_trains, indices=None, interval=None):
def spike_distance_matrix(spike_trains, indices=None, interval=None):
""" Computes the time averaged spike-distance of all pairs of spike-trains.
- :param spike_trains: list of :class:`pyspike.SpikeTrain`
+ :param spike_trains: list of :class:`.SpikeTrain`
: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
@@ -134,7 +134,7 @@ def spike_distance_matrix(spike_trains, indices=None, interval=None):
the average over the whole function is computed.
:type interval: Pair of floats or None.
:returns: 2D array with the pair wise time average spike distances
- :math:`S_{ij}`
+ :math:`D_S^{ij}`
:rtype: np.array
"""
return _generic_distance_matrix(spike_trains, spike_distance,