diff options
author | Mario Mulansky <mario.mulansky@gmx.net> | 2014-10-16 15:15:13 +0200 |
---|---|---|
committer | Mario Mulansky <mario.mulansky@gmx.net> | 2014-10-16 15:15:13 +0200 |
commit | bbb424f75e3063f823a880bced3de1b2063c408a (patch) | |
tree | 326f1e0aaa9fd7b613da2e39abf0a9296b4d9ce7 /pyspike/distances.py | |
parent | 5970a9cfdbecc1af232b7ffe485bdc057591a2b8 (diff) |
added fall-back to python when cython is missing
Diffstat (limited to 'pyspike/distances.py')
-rw-r--r-- | pyspike/distances.py | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/pyspike/distances.py b/pyspike/distances.py index 7d7044b..3e97b77 100644 --- a/pyspike/distances.py +++ b/pyspike/distances.py @@ -33,10 +33,17 @@ def isi_profile(spikes1, spikes2): assert spikes1[-1] == spikes2[-1], \ "Given spike trains seems not to have auxiliary spikes!" - # cython implementation - from cython_distance import isi_distance_cython - - times, values = isi_distance_cython(spikes1, spikes2) + # load cython implementation + try: + from cython_distance import isi_distance_cython as isi_distance_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 \ +Falling back to slow python backend.") + # use python backend + from python_backend import isi_distance_python as isi_distance_impl + + times, values = isi_distance_impl(spikes1, spikes2) return PieceWiseConstFunc(times, values) @@ -76,10 +83,17 @@ def spike_profile(spikes1, spikes2): "Given spike trains seems not to have auxiliary spikes!" # cython implementation - from cython_distance import spike_distance_cython - - times, y_starts, y_ends = spike_distance_cython(spikes1, spikes2) - + try: + from cython_distance import spike_distance_cython \ + as spike_distance_impl + except ImportError: + 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 + from python_backend import spike_distance_python as spike_distance_impl + + times, y_starts, y_ends = spike_distance_impl(spikes1, spikes2) return PieceWiseLinFunc(times, y_starts, y_ends) |