def calc_vR_dist_intertrain(spktimes_, spktrials_, trials, rr, nbins, npips = 6): ''' Calculates the reliability of firing to each PIP in the train Input: spktimes_ : spike times for the trials involved spktrials_ : spike trials for the above spike times stimparams : stimulus parameters for the trials ''' dist = [] # loop through each trial for t, trial in enumerate(trials): spktimes__ = spktimes_[spktrials_ == trial] # compare all pairwise combinations of pips for m in combinations(range(1, npips), 2): train_start_1 = 0.05 + (m[0] / rr) train_end_1 = 0.05 + ((m[0]+1) / rr) train_start_2 = 0.05 + (m[1] / rr) train_end_2 = 0.05 + ((m[1]+1) / rr) duration = npips / rr spktimes_1 = spktimes__[misc.isbetween(spktimes__, train_start_1, train_end_1)] - train_start_1 spktimes_2 = spktimes__[misc.isbetween(spktimes__, train_start_2, train_end_2)] - train_start_2 dist.append(Spikes.vR_dist(spktimes_1, spktimes_2, nbins) / duration) return np.mean(dist)
def calc_vR_dist_intertrial(spktimes, spktrials, trials, rr, nbins, npips = 6.): ntrials = trials.size dist = [] # compare all pairwise combinations of trials for m in combinations(range(ntrials), 2): spktimes_1 = spktimes[spktrials == trials[m[0]]] spktimes_2 = spktimes[spktrials == trials[m[1]]] # remove response to first pip train_start = 0.05 + 1./rr train_end = 0.05 + 6./rr spktimes_1 = spktimes_1[misc.isbetween(spktimes_1, train_start, train_end)] spktimes_2 = spktimes_2[misc.isbetween(spktimes_2, train_start, train_end)] duration = npips / rr dist.append(Spikes.vR_dist(spktimes_1, spktimes_2, nbins) / duration) return np.mean(dist)