summaryrefslogtreecommitdiff
path: root/pyspike/directionality/spike_train_order.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyspike/directionality/spike_train_order.py')
-rw-r--r--pyspike/directionality/spike_train_order.py33
1 files changed, 16 insertions, 17 deletions
diff --git a/pyspike/directionality/spike_train_order.py b/pyspike/directionality/spike_train_order.py
index f8c8615..892ffd0 100644
--- a/pyspike/directionality/spike_train_order.py
+++ b/pyspike/directionality/spike_train_order.py
@@ -5,7 +5,7 @@
import numpy as np
from math import exp
from functools import partial
-# import pyspike
+import pyspike
from pyspike import DiscreteFunc
from pyspike.generic import _generic_profile_multi
@@ -39,14 +39,14 @@ def spike_train_order_profile(spike_train1, spike_train2, max_tau=None):
spike_train_order_profile_cython as \
spike_train_order_profile_impl
except ImportError:
- raise NotImplementedError()
-# 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
-# from cython.python_backend import coincidence_python \
-# as coincidence_profile_impl
+ # raise NotImplementedError()
+ 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
+ from cython.directionality_python_backend import \
+ spike_train_order_python as spike_train_order_profile_impl
if max_tau is None:
max_tau = 0.0
@@ -81,15 +81,14 @@ def spike_train_order(spike_train1, spike_train2, normalize=True,
spike_train1.t_start,
spike_train1.t_end,
max_tau)
- if normalize:
- return 1.0*c/mp
- else:
- return c
except ImportError:
# Cython backend not available: fall back to profile averaging
- raise NotImplementedError()
- # return spike_sync_profile(spike_train1, spike_train2,
- # max_tau).integral(interval)
+ c, mp = spike_train_order_profile(spike_train1, spike_train2,
+ max_tau).integral(interval)
+ if normalize:
+ return 1.0*c/mp
+ else:
+ return c
else:
# some specific interval is provided: not yet implemented
raise NotImplementedError()
@@ -250,7 +249,7 @@ def optimal_spike_train_order(spike_trains, indices=None, interval=None,
Returns the optimal permutation p and A value.
"""
D = spike_train_order_matrix(spike_trains, indices, interval, max_tau)
- return optimal_asymmetry_order_from_matrix(D, full_output)
+ return optimal_spike_train_order_from_matrix(D, full_output)
############################################################