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/multivariate.py | |
parent | 0b238639ed487f47c846905294060c8f679780da (diff) |
+multivariate example, docs for spike profile
Diffstat (limited to 'examples/multivariate.py')
-rw-r--r-- | examples/multivariate.py | 50 |
1 files changed, 50 insertions, 0 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)) |