diff options
author | Mario Mulansky <mario.mulansky@gmx.net> | 2014-10-20 18:13:23 +0200 |
---|---|---|
committer | Mario Mulansky <mario.mulansky@gmx.net> | 2014-10-20 18:13:23 +0200 |
commit | e85e6a72662d30b677dd4c9ded6d2b1520ba63ec (patch) | |
tree | c06e084ce0aa521c014d14ea9fb3d131d823e9fc /examples | |
parent | 0b238639ed487f47c846905294060c8f679780da (diff) |
+multivariate example, docs for spike profile
Diffstat (limited to 'examples')
-rw-r--r-- | examples/multivariate.py | 50 | ||||
-rw-r--r-- | examples/plot.py | 14 |
2 files changed, 58 insertions, 6 deletions
diff --git a/examples/multivariate.py b/examples/multivariate.py new file mode 100644 index 0000000..260b217 --- /dev/null +++ b/examples/multivariate.py @@ -0,0 +1,50 @@ +""" Example for the multivariate spike distance + +Copyright 2014, Mario Mulansky <mario.mulansky@gmx.net> + +""" +from __future__ import print_function +import time +import pyspike as spk + + +def time_diff_in_ms(start, end): + """ Returns the time difference end-start in ms. + """ + return (end-start)*1000 + + +t_start = time.clock() + +# load the data +time_loading = time.clock() +spike_trains = spk.load_spike_trains_from_txt("PySpike_testdata.txt", + time_interval=(0, 4000)) +t_loading = time.clock() + +print("Number of spike trains: %d" % len(spike_trains)) +num_of_spikes = sum([len(spike_trains[i]) for i in xrange(len(spike_trains))]) +print("Number of spikes: %d" % num_of_spikes) + +# calculate the multivariate spike distance +f = spk.spike_profile_multi(spike_trains) + +t_spike = time.clock() + +# print the average +avrg = f.avrg() +print("Spike distance from average: %.8f" % avrg) + +t_avrg = time.clock() + +# compute average distance directly, should give the same result as above +spike_dist = spk.spike_distance_multi(spike_trains) +print("Spike distance directly: %.8f" % spike_dist) + +t_dist = time.clock() + +print("Loading: %9.1f ms" % time_diff_in_ms(t_start, t_loading)) +print("Computing profile: %9.1f ms" % time_diff_in_ms(t_loading, t_spike)) +print("Averaging: %9.1f ms" % time_diff_in_ms(t_spike, t_avrg)) +print("Computing distance: %9.1f ms" % time_diff_in_ms(t_avrg, t_dist)) +print("Total: %9.1f ms" % time_diff_in_ms(t_start, t_dist)) diff --git a/examples/plot.py b/examples/plot.py index 6da7f49..59334c9 100644 --- a/examples/plot.py +++ b/examples/plot.py @@ -26,15 +26,17 @@ f = spk.isi_profile(spike_trains[0], spike_trains[1]) x, y = f.get_plottable_data() plt.figure() -plt.plot(x, np.abs(y), '--k') +plt.plot(x, np.abs(y), '--k', label="ISI-profile") -print("Average: %.8f" % f.avrg()) +print("ISI-distance: %.8f" % f.avrg()) f = spk.spike_profile(spike_trains[0], spike_trains[1]) x, y = f.get_plottable_data() -print(x) -print(y) -#plt.figure() -plt.plot(x, y, '-b') + +plt.plot(x, y, '-b', label="SPIKE-profile") + +print("SPIKE-distance: %.8f" % f.avrg()) + +plt.legend(loc="upper left") plt.show() |