In [1]:
%matplotlib inline
In [4]:
import numpy as np
data = np.load('firing.npz')
In [7]:
f = data['fire']
In [8]:
f.shape
Out[8]:
In [14]:
from NeuroTools.signals.spikes import SpikeTrain
In [17]:
f0 = f[0]
In [19]:
def convert_to_spike_times(spikes, times):
spike_times = []
for i, t in enumerate(times):
if spikes[i] > 0:
spike_times.append(t)
return spike_times
In [29]:
times = np.arange(2000)
print(convert_to_spike_times(f0[:,1], times))
In [30]:
all_times = []
for i in range(100):
all_times.extend(convert_to_spike_times(f0[:,i], times))
In [36]:
st = SpikeTrain(convert_to_spike_times(f0[:,1], times))
In [38]:
spec, axis = st.frequency_spectrum(time_bin=10)
In [39]:
import pylab
In [44]:
pylab.plot(axis, spec)
pylab.xlabel('freq')
Out[44]:
In [83]:
window = np.linspace(0, 1999, 60).astype(int)
print window
In [95]:
amp_index = 19
neuron_indices = range(100)
total_w = None
for neuron_index in neuron_indices:
windowed_spec = []
cs = convert_to_spike_times(f[amp_index][:,neuron_index], times)
for i in range(len(window)-1):
st = SpikeTrain(cs, window[i], window[i+1])
spec, axis = st.frequency_spectrum(time_bin=1)
windowed_spec.append(spec)
ws = np.array(windowed_spec)
if total_w is None:
total_w = ws
else:
total_w += ws
pylab.imshow(total_w.T, extent=(window[0], window[-2], axis[-1], axis[0]), aspect='auto')
pylab.colorbar()
pylab.ylabel('freq (Hz)')
pylab.xlabel('time (ms)')
Out[95]:
In [96]:
for amp_index in range(20):
neuron_indices = range(100)
total_w = None
for neuron_index in neuron_indices:
windowed_spec = []
cs = convert_to_spike_times(f[amp_index][:,neuron_index], times)
for i in range(len(window)-1):
st = SpikeTrain(cs, window[i], window[i+1])
spec, axis = st.frequency_spectrum(time_bin=1)
windowed_spec.append(spec)
ws = np.array(windowed_spec)
if total_w is None:
total_w = ws
else:
total_w += ws
pylab.imshow(total_w.T, extent=(window[0], window[-2], axis[-1], axis[0]), aspect='auto')
pylab.colorbar()
pylab.ylabel('freq (Hz)')
pylab.xlabel('time (ms)')
pylab.title('amp_index = %d' % amp_index)
pylab.show()
In [ ]:
In [ ]: