Beispiel #1
0
def setrasters(d, vsplit='cell', hsplit='condition', csplit='stim_type',
               sort=('stim_atten',), fig=1, save=None):
    vkeys = allv(d, vsplit)
    hkeys = allv(d, hsplit)
    ckeys = allv(d, csplit)
    rg = RasterGrid(len(vkeys), len(hkeys), fig)
    rg.clear()
    for i in range(len(vkeys)):
        for j in range(len(hkeys)):
            rg.titles[i][j] = "%s,%s" % (vkeys[i], hkeys[j])
    for c, cv in enumerate(ckeys):
        grid = []
        keys_c = find(d, **{csplit: cv})
        for vk in vkeys:
            grid.append([])
            keys_v = find(d, **{vsplit: vk, 'keys': keys_c})
            for hk in hkeys:
                keys = find(d, **{hsplit: hk, 'keys': keys_v})
                dat = fuse(d, keys, sort)
                grid[-1].append(dat)
        if keys_c:
            sdur = d[keys_c[0] + '.stim_dur']
            sstrt = d[keys_c[0] + '.stim_delay'] or 0.0
        else:
            sdur = None
        if sdur:
            rg.add(grid, c, {'alpha': .9, 'roi': [(sstrt, sstrt + sdur)]})
        else:
            rg.add(grid, c)
    rg.draw()
    if save:
        plt.savefig(save)
Beispiel #2
0
def raster(sd):
    rgrid = [[sd[k] for k in sd if k.startswith('cond')]]
    r = RasterGrid(1, len(rgrid[0]))
    r.clear()
    r.add(rgrid)
    r.draw()