summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMario Mulansky <mario.mulansky@gmx.net>2014-10-20 18:13:23 +0200
committerMario Mulansky <mario.mulansky@gmx.net>2014-10-20 18:13:23 +0200
commite85e6a72662d30b677dd4c9ded6d2b1520ba63ec (patch)
treec06e084ce0aa521c014d14ea9fb3d131d823e9fc /examples
parent0b238639ed487f47c846905294060c8f679780da (diff)
+multivariate example, docs for spike profile
Diffstat (limited to 'examples')
-rw-r--r--examples/multivariate.py50
-rw-r--r--examples/plot.py14
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()