def testInvertEpochs(self): """test invert epochs""" ep1 = sp.array([ [25, 30], [55, 60], ]) ep2 = sp.array([ [0, 10], [90, 110], ]) end = 100 ep1_test = sp.array([ [0, 25], [30, 55], [60, end], ]) ep2_test = sp.array([ [10, 90], ]) assert_equal(invert_epochs(ep1, end=end), ep1_test) assert_equal(invert_epochs(ep2, end=end), ep2_test)
print "retrieving multiunit spike set @tf=%d" % tf spks_info = [] spks = [] for id_trl in trial_ids: trial_st = None try: trial_st = db.get_unit_data(id_mu, id_trl)["spiketrain"] if trial_st.size == 0: print "\tno spiketrain for %s" % db.get_fname_for_id(id_trl) continue trial_spks, trial_st = get_aligned_spikes( data[id_trl], trial_st, tf, align_at=align_at, mc=False, kind="min" ) end = data[id_trl].shape[0] nep = epochs_from_spiketrain(trial_st, tf, end=end) nep = invert_epochs(nep, end=end) nep = merge_epochs(nep) ndet.update(data[id_trl], epochs=nep) spks.append(trial_spks) spks_info.append(sp.vstack([[id_trl] * trial_st.size, trial_st]).T) print "\tprocessed %s" % db.get_fname_for_id(id_trl) except Exception, e: raise RuntimeError("error processing %s\n%s" % (db.get_fname_for_id(id_trl), e)) finally: del trial_st spks_info = sp.vstack(spks_info) spks = sp.vstack(spks) print "found %d spikes in total" % spks.shape[0] print "done." print "checking SNR of spikes"