def readkwikinfo(kwik, grupete=3): model = KwikModel(kwik) # load kwik model from file spiketimes = model.spike_times # extract the absolute spike times clusters = model.cluster_groups # extract the cluster names sample_rate = model.sample_rate # extract sampling freq spikedata = {} # initialise dictionary for cluster in clusters.keys(): clustergroup = clusters[cluster] if clustergroup==grupete: # only look at specified type of cluster, 0 = noise, 1 = MUA, 2 = GOOD, 3 = unsorted spiketimematrix = AttrDict({'spike_times': np.zeros(len(spiketimes[where(model.spike_clusters==cluster)]))}) spiketimematrix.spike_times = spiketimes[where(model.spike_clusters==cluster)] spikedata[cluster] = spiketimematrix # data structure is a dictionary with attribute accessible spiketimes # attribute accessible means that spikedata.spike_times works, normal dictionaries would be spikedata[spike_times] model.close() return spikedata, sample_rate
def readkwikinfo(kwik, grupete=3): model = KwikModel(kwik) # load kwik model from file spiketimes = model.spike_times # extract the absolute spike times clusters = model.cluster_groups # extract the cluster names sample_rate = model.sample_rate # extract sampling freq spikedata = {} # initialise dictionary for cluster in clusters.keys(): clustergroup = clusters[cluster] if clustergroup == grupete: # only look at specified type of cluster, 0 = noise, 1 = MUA, 2 = GOOD, 3 = unsorted spiketimematrix = AttrDict({ 'spike_times': np.zeros( len(spiketimes[where(model.spike_clusters == cluster)])) }) spiketimematrix.spike_times = spiketimes[where( model.spike_clusters == cluster)] spikedata[ cluster] = spiketimematrix # data structure is a dictionary with attribute accessible spiketimes # attribute accessible means that spikedata.spike_times works, normal dictionaries would be spikedata[spike_times] model.close() return spikedata, sample_rate