-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfiringrate.py
58 lines (49 loc) · 1.12 KB
/
firingrate.py
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
53
54
55
56
57
58
# firingrate.py ---
#
# Filename: firingrate.py
# Description:
# Author:
# Maintainer:
# Created: Thu Dec 29 11:40:39 2011 (+0530)
# Version:
# Last-Updated: Thu Dec 29 11:53:04 2011 (+0530)
# By: subha
# Update #: 23
# URL:
# Keywords:
# Compatibility:
#
#
# Commentary:
#
# compute firing rates
#
#
# Change log:
#
#
#
#
# Code:
import numpy as np
import pylab as pl
import h5py as h5
def compute_firing_rate(spike_times, t_total, binsize=1.0, t_start=0.0, t_end=-1.0):
if t_end <= 0.0:
t_end = t_total
num_bins = 2.0 * (t_end - t_start) / binsize - 1
firing_rate = np.zeros(num_bins)
t = 0.0
for ii in range(num_bins):
for spike_time in spike_times:
if spike_time < t_start:
continue
if spike_time > t_end or spike_time > t+binsize/2.0:
break
if (t - binsize/2.0) < spike_time and (t + binsize/2.0) > spike_time:
print 'Adding', spike_time, 'to bin centred at', t
firing_rate[ii] += 1.0
t += binsize/2.0
return firing_rate
#
# firingrate.py ends here