diff options
Diffstat (limited to 'pyspike/directionality')
-rw-r--r-- | pyspike/directionality/cython/cython_directionality.pyx | 4 | ||||
-rw-r--r-- | pyspike/directionality/spike_delay_asymmetry.py | 11 |
2 files changed, 9 insertions, 6 deletions
diff --git a/pyspike/directionality/cython/cython_directionality.pyx b/pyspike/directionality/cython/cython_directionality.pyx index 00e3b86..3936372 100644 --- a/pyspike/directionality/cython/cython_directionality.pyx +++ b/pyspike/directionality/cython/cython_directionality.pyx @@ -198,7 +198,7 @@ def spike_delay_asymmetry_cython(double[:] spikes1, double[:] spikes2, # coincidence between the current spike and the previous spike # spike in spike train 2 appeared before spike in spike train 1 # mark with -1 - asym -= 1 + asym -= 2 elif (j < N2-1) and (i == N1-1 or spikes1[i+1] > spikes2[j+1]): j += 1 mp += 1 @@ -207,7 +207,7 @@ def spike_delay_asymmetry_cython(double[:] spikes1, double[:] spikes2, # coincidence between the current spike and the previous spike # spike in spike train 1 appeared before spike in spike train 2 # mark with +1 - asym += 1 + asym += 2 else: # spikes1[i+1] = spikes2[j+1] # advance in both spike trains j += 1 diff --git a/pyspike/directionality/spike_delay_asymmetry.py b/pyspike/directionality/spike_delay_asymmetry.py index 0676f6d..7da49ee 100644 --- a/pyspike/directionality/spike_delay_asymmetry.py +++ b/pyspike/directionality/spike_delay_asymmetry.py @@ -64,7 +64,7 @@ def spike_delay_asymmetry_profile(spike_train1, spike_train2, max_tau=None): ############################################################ # spike_delay_asymmetry ############################################################ -def spike_delay_asymmetry(spike_train1, spike_train2, +def spike_delay_asymmetry(spike_train1, spike_train2, normalize=True, interval=None, max_tau=None): """ Computes the overall spike delay asymmetry value for two spike trains. """ @@ -81,7 +81,10 @@ def spike_delay_asymmetry(spike_train1, spike_train2, spike_train1.t_start, spike_train1.t_end, max_tau) - return c + if normalize: + return 1.0*c/mp + else: + return c except ImportError: # Cython backend not available: fall back to profile averaging raise NotImplementedError() @@ -123,7 +126,7 @@ def spike_delay_asymmetry_profile_multi(spike_trains, indices=None, ############################################################ # spike_delay_asymmetry_matrix ############################################################ -def spike_delay_asymmetry_matrix(spike_trains, indices=None, +def spike_delay_asymmetry_matrix(spike_trains, normalize=True, indices=None, interval=None, max_tau=None): """ Computes the spike delay asymmetry matrix for the given spike trains. """ @@ -139,7 +142,7 @@ def spike_delay_asymmetry_matrix(spike_trains, indices=None, distance_matrix = np.zeros((len(indices), len(indices))) for i, j in pairs: - d = spike_delay_asymmetry(spike_trains[i], spike_trains[j], + d = spike_delay_asymmetry(spike_trains[i], spike_trains[j], normalize, interval, max_tau=max_tau) distance_matrix[i, j] = d distance_matrix[j, i] = -d |