summaryrefslogtreecommitdiff
path: root/pyspike
diff options
context:
space:
mode:
Diffstat (limited to 'pyspike')
-rw-r--r--pyspike/DiscreteFunc.py4
-rw-r--r--pyspike/PieceWiseConstFunc.py7
-rw-r--r--pyspike/PieceWiseLinFunc.py9
-rw-r--r--pyspike/SpikeTrain.py15
-rw-r--r--pyspike/__init__.py2
-rw-r--r--pyspike/isi_distance.py6
-rw-r--r--pyspike/spike_distance.py7
-rw-r--r--pyspike/spike_sync.py4
-rw-r--r--pyspike/spikes.py3
9 files changed, 45 insertions, 12 deletions
diff --git a/pyspike/DiscreteFunc.py b/pyspike/DiscreteFunc.py
index 17153ee..a8c054e 100644
--- a/pyspike/DiscreteFunc.py
+++ b/pyspike/DiscreteFunc.py
@@ -6,6 +6,7 @@ from __future__ import print_function
import numpy as np
import collections
+import pyspike
##############################################################
@@ -202,7 +203,8 @@ class DiscreteFunc(object):
from cython.cython_add import add_discrete_function_cython as \
add_discrete_function_impl
except ImportError:
- print("Warning: add_discrete_function_cython not found. Make \
+ if not(pyspike.disable_backend_warning):
+ print("Warning: add_discrete_function_cython not found. Make \
sure that PySpike is installed by running\n\
'python setup.py build_ext --inplace'! \
\n Falling back to slow python backend.")
diff --git a/pyspike/PieceWiseConstFunc.py b/pyspike/PieceWiseConstFunc.py
index 2705443..23ff536 100644
--- a/pyspike/PieceWiseConstFunc.py
+++ b/pyspike/PieceWiseConstFunc.py
@@ -6,6 +6,7 @@ from __future__ import print_function
import numpy as np
import collections
+import pyspike
##############################################################
@@ -191,8 +192,10 @@ class PieceWiseConstFunc(object):
from cython.cython_add import add_piece_wise_const_cython as \
add_piece_wise_const_impl
except ImportError:
- print("Warning: add_piece_wise_const_cython not found. Make sure \
-that PySpike is installed by running\n 'python setup.py build_ext --inplace'! \
+ if not(pyspike.disable_backend_warning):
+ print("Warning: add_piece_wise_const_cython not found. Make \
+sure that PySpike is installed by running\n \
+'python setup.py build_ext --inplace'! \
\n Falling back to slow python backend.")
# use python backend
from cython.python_backend import add_piece_wise_const_python as \
diff --git a/pyspike/PieceWiseLinFunc.py b/pyspike/PieceWiseLinFunc.py
index c0dd475..0d51c76 100644
--- a/pyspike/PieceWiseLinFunc.py
+++ b/pyspike/PieceWiseLinFunc.py
@@ -6,6 +6,7 @@ from __future__ import print_function
import numpy as np
import collections
+import pyspike
##############################################################
@@ -230,9 +231,11 @@ class PieceWiseLinFunc:
from cython.cython_add import add_piece_wise_lin_cython as \
add_piece_wise_lin_impl
except ImportError:
- print("Warning: add_piece_wise_lin_cython not found. Make sure \
-that PySpike is installed by running\n 'python setup.py build_ext --inplace'! \
-\n Falling back to slow python backend.")
+ if not(pyspike.disable_backend_warning):
+ print("Warning: add_piece_wise_lin_cython not found. Make \
+sure that PySpike is installed by running\n \
+'python setup.py build_ext --inplace'! \n \
+Falling back to slow python backend.")
# use python backend
from cython.python_backend import add_piece_wise_lin_python as \
add_piece_wise_lin_impl
diff --git a/pyspike/SpikeTrain.py b/pyspike/SpikeTrain.py
index 9127b60..4b59a5d 100644
--- a/pyspike/SpikeTrain.py
+++ b/pyspike/SpikeTrain.py
@@ -32,6 +32,21 @@ class SpikeTrain(object):
self.t_start = 0.0
self.t_end = float(edges)
+ def __getitem__(self, index):
+ """ Returns the time of the spike given by index.
+
+ :param index: Index of the spike.
+ :return: spike time.
+ """
+ return self.spikes[index]
+
+ def __len__(self):
+ """ Returns the number of spikes.
+
+ :return: Number of spikes.
+ """
+ return len(self.spikes)
+
def sort(self):
""" Sorts the spike times of this spike train using `np.sort`
"""
diff --git a/pyspike/__init__.py b/pyspike/__init__.py
index 3e836bd..2060f73 100644
--- a/pyspike/__init__.py
+++ b/pyspike/__init__.py
@@ -42,3 +42,5 @@ except DistributionNotFound:
__version__ = 'Please install this project with setup.py'
else:
__version__ = _dist.version
+
+disable_backend_warning = False
diff --git a/pyspike/isi_distance.py b/pyspike/isi_distance.py
index 5ea555d..e50f203 100644
--- a/pyspike/isi_distance.py
+++ b/pyspike/isi_distance.py
@@ -2,6 +2,7 @@
# Copyright 2014-2015, Mario Mulansky <mario.mulansky@gmx.net>
# Distributed under the BSD License
+import pyspike
from pyspike import PieceWiseConstFunc
from pyspike.generic import _generic_profile_multi, _generic_distance_multi, \
_generic_distance_matrix
@@ -34,8 +35,9 @@ def isi_profile(spike_train1, spike_train2):
from cython.cython_profiles import isi_profile_cython \
as isi_profile_impl
except ImportError:
- print("Warning: isi_distance_cython not found. Make sure that PySpike \
-is installed by running\n 'python setup.py build_ext --inplace'!\n \
+ if not(pyspike.disable_backend_warning):
+ print("Warning: isi_profile_cython not found. Make sure that \
+PySpike is installed by running\n 'python setup.py build_ext --inplace'!\n \
Falling back to slow python backend.")
# use python backend
from cython.python_backend import isi_distance_python \
diff --git a/pyspike/spike_distance.py b/pyspike/spike_distance.py
index ac2d260..feea0c1 100644
--- a/pyspike/spike_distance.py
+++ b/pyspike/spike_distance.py
@@ -2,6 +2,7 @@
# Copyright 2014-2015, Mario Mulansky <mario.mulansky@gmx.net>
# Distributed under the BSD License
+import pyspike
from pyspike import PieceWiseLinFunc
from pyspike.generic import _generic_profile_multi, _generic_distance_multi, \
_generic_distance_matrix
@@ -34,7 +35,8 @@ def spike_profile(spike_train1, spike_train2):
from cython.cython_profiles import spike_profile_cython \
as spike_profile_impl
except ImportError:
- print("Warning: spike_profile_cython not found. Make sure that \
+ if not(pyspike.disable_backend_warning):
+ print("Warning: spike_profile_cython not found. Make sure that \
PySpike is installed by running\n 'python setup.py build_ext --inplace'!\n \
Falling back to slow python backend.")
# use python backend
@@ -54,7 +56,8 @@ Falling back to slow python backend.")
############################################################
def spike_distance(spike_train1, spike_train2, interval=None):
""" 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)`:
+ spike-distance is the integral over the spike distance profile
+ :math:`S(t)`:
.. math:: D_S = \int_{T_0}^{T_1} S(t) dt.
diff --git a/pyspike/spike_sync.py b/pyspike/spike_sync.py
index 40d98d2..10ebdc7 100644
--- a/pyspike/spike_sync.py
+++ b/pyspike/spike_sync.py
@@ -5,6 +5,7 @@
import numpy as np
from functools import partial
+import pyspike
from pyspike import DiscreteFunc
from pyspike.generic import _generic_profile_multi, _generic_distance_matrix
@@ -39,7 +40,8 @@ def spike_sync_profile(spike_train1, spike_train2, max_tau=None):
from cython.cython_profiles import coincidence_profile_cython \
as coincidence_profile_impl
except ImportError:
- print("Warning: spike_distance_cython not found. Make sure that \
+ if not(pyspike.disable_backend_warning):
+ print("Warning: spike_distance_cython not found. Make sure that \
PySpike is installed by running\n 'python setup.py build_ext --inplace'!\n \
Falling back to slow python backend.")
# use python backend
diff --git a/pyspike/spikes.py b/pyspike/spikes.py
index 35d8533..b18d7eb 100644
--- a/pyspike/spikes.py
+++ b/pyspike/spikes.py
@@ -28,7 +28,8 @@ def spike_train_from_string(s, edges, sep=' ', is_sorted=False):
# load_spike_trains_txt
############################################################
def load_spike_trains_from_txt(file_name, edges,
- separator=' ', comment='#', is_sorted=False):
+ separator=' ', comment='#', is_sorted=False,
+ ignore_empty_lines=True):
""" Loads a number of spike trains from a text file. Each line of the text
file should contain one spike train as a sequence of spike times separated
by `separator`. Empty lines as well as lines starting with `comment` are