import pandas as pd
import numpy as np
import h5py
def spkxcorr(spkref, spktgt, binwidth, window):
spkref = np.sort(np.array(spkref).astype(int))
spktgt = np.sort(np.array(spktgt).astype(int))
h = np.zeros((int(window/binwidth)+1,))
for i in spkref:
l = i-int(window/2)-binwidth/2
r = i+int(window/2)+binwidth/2
h += np.array(np.histogram(spktgt[(spktgt>=1) & (spktgt<=r)], bins=np.arange(l,r+1,binwidth))[0])
return h
f = h5py.File('exc_stim_spikes.h5','r')
xc = np.zeros((f['spikes']['exc_stim']['node_ids'][:].max(),41))
for i in np.arange(0,3):#f['spikes']['exc_stim']['node_ids'][:].max()+1):
precell = f['spikes']['exc_stim']['timestamps'][:][f['spikes']['exc_stim']['node_ids'][:]==0]
postcell = f['spikes']['exc_stim']['timestamps'][:][f['spikes']['exc_stim']['node_ids'][:]==i]
print(i)
xc[i,:] = spkxcorr(spkref=postcell, spktgt=precell, binwidth=1, window=40)
pd.DataFrame(xc).to_csv('cell0xcorr.csv')