def __init__(self, pars): self.compress = pars['compress'] self.clevel = pars['clevel'] self.doc = gwn.getstim('doc', pars['slen']) self.snn = self.doc.find(timeseries_t, True) self.ac = acell.acell() self.cm = acell.compare() self.nd = pars['nd'] Model.__init__(self, pars)
def runSystems(stimuli=STIMS_BAND_OL, systems=(M200_FO,), stimlength=800, length=60, lead=40, label="A", date="", comments="", edet=(1.0, .01)): ''' stimuli is a list of "band" parameter tuples. Systems is a list of (off, mean, cov) test system parameter tuples. "l" is a stimulus length. Constructs each stimulus in the stimulus list, and passes it to each system. ''' if not date: date = time.strftime("%m%d%y") s = gd.Doc() s['label'] = 'iSTACe' + date + label s['comments'] = comments s['samplerate'] = 1000.0 s['stimlength'] = stimlength s['enslength'] = length s['enslead'] = lead s['eventgenerator'] = 'peakdet' for i, b in enumerate(stimuli): sn = "s%i" % i s[sn + '._'] = gwn.getstim('bl', stimlength, b) s[sn + '.band'] = b un = "u%i" % i s[un + '._'] = ucse(s[sn + '._'], 10000, length) for i, p in enumerate(systems): mn = "m%i" % i off, mu, sig = p d = {'mu': mu, 'off': off, 'sigma': sig, 'cid': i, 'ejit': edet[0], 'ethresh': edet[1]} s.set(mn, d) for j in range(len(stimuli)): en = "e%i_%i" % (i, j) sn = "s%i" % j d['outpath'] = en d['stimpath'] = "->" + sn s = s.fuse(acell(s, d)[0]) s[en + '.stim'] = {'_link': sn} s[en + '.sys'] = {'_link': mn} rn = "r%i_%i" % (i, j) s[rn + '._'] = ece(s[sn + '._'], s[en + '._'], length, lead) s[rn + '.stim'] = {'_link': sn} s[rn + '.sys'] = {'_link': mn} return s
ll = self.callWith(comp2s, paths, pars) c12 = (ll[0, 0, 0] - ll[0, 1, 0]) / (ll[0, 0, 1] + ll[0, 1, 1]) c21 = (ll[1, 1, 0] - ll[1, 0, 0]) / (ll[1, 0, 1] + ll[1, 1, 1]) out[pars['outpath']] = min(c12, c21) out[pars['outpath'] + '.raw'] = ll compare2 = Compare2s() if __name__ == "__main__": import gwn s = gwn.getstim().fuse(gwn.getstim(band=(1, 400))) s['m1.outpath'] = 'evts1' s['m1.stimpath'] = 'stim5_150' d, r = acell(s, 'm1') for st in r: print(st) s['m2.outpath'] = 'evts2' s['m2.stimpath'] = 'stim1_400' d2, r = acell(s, 'm2') for st in r: print(st) d = d.fuse(d2) d['stim1'] = s['stim5_150'] d['stim2'] = s['stim1_400'] cmo = {'evts1': 'evts1', 'evts2': 'evts2', 'stim1': 'stim1', 'stim2': 'stim2'} print d['evts1'] d3, r = compare2(d, cmo) print(d3['fitness'], d3.d.fitness.raw)