Esempio n. 1
0
def targ_plot(tau, frttarg, cvtarg, indir, outdir, plotfunc, *pltargs,
              **pltkwargs):
    optsubdir = labeldir.opt_subdir(tau, frttarg, cvtarg)
    optpath = labeldir.opt_path(tau, frttarg, cvtarg)
    insubdir = os.path.join(indir, optsubdir)
    figpath = os.path.join(outdir, optpath + '.pdf')
    plotfunc(insubdir, figpath, *pltargs, **pltkwargs)
Esempio n. 2
0
def plot_gains(tauli, indir, gkbar, frttarg, cvtarg, figpath, normalized=False, statlab=False):

    plt.figure(figsize=(8, 4))

    gkdir = labeldir.gkbar_dir(gkbar)

    firgain = 0
    for i, tau in enumerate(tauli):
        optsubdir = labeldir.opt_subdir(tau, frttarg, cvtarg)
        subdir = os.path.join(indir, optsubdir, gkdir)
        transfdir = os.path.join(subdir, 'transfer')

        transf = np.load(os.path.join(transfdir, 'transf.npy'))
        fvec = np.load(os.path.join(transfdir, 'fvec.npy'))
        gain = np.absolute(transf)
        phase = np.angle(transf)

        if normalized:
            gain = gain / gain[1]

        lab = labeldir.tau_lab(tau)
        if statlab:
            statfile = os.path.join(subdir, 'stat.json')
            if not os.path.isfile(statfile):
                spkstat.get_stat_from_file(subdir)
            stat = jspar.load(statfile)
            stat_lab = '(frt:%.1f cv:%.2f lv:%.2f)' % (stat['frt'], stat['cv'], stat['lv'])
            lab = lab + ' ' + stat_lab

        plt.subplot(121)
        plt.semilogx(fvec, gain, label=lab)
        
        plt.subplot(122)
        plt.semilogx(fvec, phase, label=lab)

    plt.subplot(121)
    plt.xlabel('$f$ (Hz)')
    if normalized:
        plt.ylabel('Gain')
    else:
        plt.ylabel('Gain (Hz/nA)')
    # plt.ylim(5e5, 2e6)
    plt.legend(loc=1, prop={'size': 8}, fancybox=True, framealpha=0.5)

    plt.subplot(122)
    plt.xlabel('$f$ (Hz)')
    plt.ylabel('Phase')
    # plt.legend(prop={'size':8}, loc=4)
    plt.legend(loc=1, prop={'size': 8}, fancybox=True, framealpha=0.5)
    plt.tight_layout()

    if figpath:
        plt.savefig(figpath)
Esempio n. 3
0
def varygk_optstimpar(gkbarli, xzeroli, ttime, tau, frttarg, cvtarg,
                      outdir_base):
    print 'Start to optimize stimpar ...'
    print 'gkbar_list: ' + str(gkbarli)
    print 'x0_list: ' + str(xzeroli)
    print 'tau: %.0f' % tau
    print 'frt: %.0f\tcv: %.1f' % (frttarg, cvtarg)

    optsubdir = labeldir.opt_subdir(tau, frttarg, cvtarg)
    outdir = os.path.join(outdir_base, optsubdir)
    if not os.path.exists(outdir):
        os.makedirs(outdir)

    for gkbar, x0 in zip(gkbarli, xzeroli):
        gkdir = labeldir.gkbar_dir(gkbar)
        subdir = os.path.join(outdir, gkdir)
        if not os.path.exists(subdir):
            os.mkdir(subdir)
        ncellpar = {'gkbar': gkbar}
        cellpar = copy.copy(deflt_cellpar)
        cellpar.update(ncellpar)
        run_optstimpar(subdir, cellpar, spkthr, x0, tau, ttime, frttarg,
                       cvtarg)
Esempio n. 4
0
                alpha=0.7)


if __name__ == '__main__':
    optdir = '../../results/BSNaKResetNew/opt_stimpar'
    threxdir = '../../figures/BSNaKResetNew/threshold_example'

    ttime = 10000
    recnames = ('time', 'v_ais', 'icap_ais', 'nav_m')
    fifonames = ('time', 'v_ais', 'icap_ais', 'nav_m')
    fifo_trange = (-40, 0)

    tau = 30
    frttarg = 5
    cvtarg = 1.
    tfcsubdir = labeldir.opt_subdir(tau, frttarg, cvtarg)
    optsubdir = os.path.join(optdir, tfcsubdir)
    threxsubdir = os.path.join(threxdir, tfcsubdir)

    # gkbar = 0
    # gkdir = labeldir.gkbar_dir(gkbar)
    # outdir = os.path.join(threxsubdir, gkdir)
    # # plot_traj_thresh(outdir, 'time', 'nav_m')
    # plot_align_from_file(outdir, 'nav_m')
    # plt.show()

    gkbarli = [0, 5e-3, 15e-3]
    trajcolorli = ['#1f77b4', '#ff7f0e', '#2ca02c']
    thrcolorli = ['darkblue', 'chocolate', 'darkgreen']

    for i, gkbar in enumerate(gkbarli):
Esempio n. 5
0
def targ_infunc(tau, frttarg, cvtarg, indir, func, *fargs, **fkwargs):
    optsubdir = labeldir.opt_subdir(tau, frttarg, cvtarg)
    insubdir = os.path.join(indir, optsubdir)
    return func(insubdir, *fargs, **fkwargs)