1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
import numpy as np
from matplotlib import pyplot as plt
import pyspike as spk
st1 = spk.generate_poisson_spikes(1.0, [0, 20])
st2 = spk.generate_poisson_spikes(1.0, [0, 20])
d = spk.spike_directionality(st1, st2)
print "Spike Directionality of two Poissonian spike trains:", d
E = spk.spike_train_order_profile(st1, st2)
plt.figure()
x, y = E.get_plottable_data()
plt.plot(x, y, '-ob')
plt.ylim(-1.1, 1.1)
plt.xlabel("t")
plt.ylabel("E")
plt.title("Spike Train Order Profile")
###### Optimize spike train order of 20 Random spike trains #######
M = 20
spike_trains = [spk.generate_poisson_spikes(1.0, [0, 100]) for m in xrange(M)]
F_init = spk.spike_train_order(spike_trains)
print "Initial Synfire Indicator for 20 Poissonian spike trains:", F_init
D_init = spk.spike_directionality_matrix(spike_trains)
phi, _ = spk.optimal_spike_train_sorting(spike_trains)
F_opt = spk.spike_train_order(spike_trains, indices=phi)
print "Synfire Indicator of optimized spike train sorting:", F_opt
D_opt = spk.permutate_matrix(D_init, phi)
plt.figure()
plt.imshow(D_init)
plt.title("Initial Directionality Matrix")
plt.figure()
plt.imshow(D_opt)
plt.title("Optimized Directionality Matrix")
plt.show()
|