diff options
author | Mario Mulansky <mario.mulansky@gmx.net> | 2014-09-29 18:45:10 +0200 |
---|---|---|
committer | Mario Mulansky <mario.mulansky@gmx.net> | 2014-09-29 18:45:10 +0200 |
commit | aeec6cfafed8df110e60743073cff6d778f65af0 (patch) | |
tree | 407c4224c3e7c3bbde2068f517879efb88a1b514 /pyspike/distances.py | |
parent | b726773a29f85d465ff71867fab4fa5b8e5bcfe1 (diff) |
+cython version for isi and performance tests
Diffstat (limited to 'pyspike/distances.py')
-rw-r--r-- | pyspike/distances.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/pyspike/distances.py b/pyspike/distances.py index 52c6640..76dcd83 100644 --- a/pyspike/distances.py +++ b/pyspike/distances.py @@ -53,10 +53,21 @@ def isi_distance(spikes1, spikes2): assert spikes1[-1]==spikes2[-1], \ "Given spike trains seems not to have auxiliary spikes!" - # shorter names - s1 = spikes1 - s2 = spikes2 + # compile and load cython implementation + import pyximport + pyximport.install(setup_args={'include_dirs': [np.get_include()]}) + from cython_distance import isi_distance_cython + times, values = isi_distance_cython(spikes1, spikes2) + return PieceWiseConstFunc(times, values) + + +############################################################ +# isi_distance_python +############################################################ +def isi_distance_python(s1, s2): + """ Plain Python implementation of the isi distance. + """ # compute the interspike interval nu1 = s1[1:]-s1[:-1] nu2 = s2[1:]-s2[:-1] |