def transform_spikes(self, spikes): # from standard structure to inline structure i, t = zip(*spikes) i = array(i) t = array(t) alls = [] n = 0 pointers = [] model_target = [] for j in xrange(self.groups): s = sort(t[i == j]) s = hstack((-1 * second, s, self.duration + 1 * second)) model_target.extend([j] * self.subpopsize) alls.append(s) pointers.append(n) n += len(s) pointers = array(pointers, dtype=int) model_target = array(hstack(model_target), dtype=int) spikes_inline = hstack(alls) spikes_offset = pointers[model_target] return spikes_inline, spikes_offset
def transform_trials(self, spikes): # from standard structure to inline structure i, t = zip(*spikes) i = array(i) t = array(t) alls = [] n = 0 pointers = [] model_target = [] pointers.append(0) for j in xrange(self.ntrials): s = sort(t[i == j]) s = hstack((-1 * second, s, self.duration + 1 * second)) alls.append(s) pointers.append(pointers[j]+len(s)) pointers.pop() spikes_inline = hstack(alls) # print pointers # print nonzero(spikes_inline==-1) # show() return spikes_inline, pointers