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)
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)
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)
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):
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)