예제 #1
0
def simulate(from_disk=0,
             kw={},
             net='Net_0',
             script_name=__file__.split('/')[-1][0:-3],
             setup=Setup(50, 20)):

    setup = Setup(50, 20)
    file_name = kw.get('file_name', dr.HOME_DATA + '/' + script_name)
    file_name_figs = kw.get('file_name_figs',
                            dr.HOME_DATA + '/fig/' + script_name)

    sd = get_storage_list([net], file_name, '')[0]

    d = {}
    if from_disk == 0:
        print net
        dd = {net: simulate_network(**kw)}
        dd = compute_attrs(dd, net, setup)
        save(sd, dd)

    if from_disk == 1:
        filt = [net] + ['gi', 'st', 'gi_st'] + ['spike_signal']
        dd = load(sd, *filt)
        pp(dd)
        dd = compute_attrs(dd, net, setup)
        save(sd, dd)

    elif from_disk == 2:
        filt = [net] + ['gi', 'st', 'gi_st'
                        ] + ['firing_rate', 'phases_diff_with_cohere']
        dd = load(sd, *filt)

    d = misc.dict_update(d, dd)

    return d, file_name_figs
예제 #2
0
def simulate(from_disk=0,
             kw={},
             net='Net_0',
             script_name=__file__.split('/')[-1][0:-3],
             setup=Setup(50,20) ):
    
    setup=Setup(50,20) 
    file_name = kw.get('file_name', dr.HOME_DATA+'/'+script_name)
    file_name_figs = kw.get('file_name_figs', dr.HOME_DATA+'/fig/'+script_name)
    
    sd=get_storage_list([net], file_name, '')[0]
    
    d={}
    if from_disk==0:
        print net
        dd={net:simulate_network(**kw)}
        dd=compute_attrs(dd, net, setup)
        save(sd, dd)
    
    if from_disk==1:
        filt= [net]+['gi','st', 'gi_st']+['spike_signal']
        dd = load(sd, *filt)
        pp(dd)
        dd=compute_attrs(dd, net, setup)
        save(sd, dd)
        
    elif from_disk==2:
        filt = [net]+['gi','st', 'gi_st']+['firing_rate', 'phases_diff_with_cohere'] 
        dd = load(sd, *filt)
    
    d = misc.dict_update(d, dd)

    return d, file_name_figs
예제 #3
0
def simulate(builder, from_disk, perturbation_list, script_name, setup):
    home = expanduser("~")
    
#     file_name = get_file_name(script_name, home)
#     file_name_figs = get_file_name_figs(script_name, home)
#     
    d_firing_rate = setup.firing_rate()
    
    attr = ['firing_rate', 'mean_rate_slices']
    attr_conn=['conn_matrix']
    models=['M1', 'M2']
    models_conn=['M1_M1_gaba', 'M1_M2_gaba',
                 'M2_M1_gaba', 'M2_M2_gaba']
    sets = ['set_0']
    
    info, nets, intervals, rep, x = get_networks(builder, 
                                                  **setup.builder())
    
    key=nets.keys()[0]
    file_name = get_file_name(script_name, nets[key].par)
    file_name_figs = get_file_name_figs(script_name,  nets[key].par)   
    
    path_nest=get_path_nest(script_name, nets.keys(), nets[key].par)
    for net in nets.values():
        net.set_path_nest(path_nest)
    
    kwargs_dic = {'firing_rate':d_firing_rate, 
                  'mean_rate_slices': {'intervals':intervals[1], 
                                       'repetition':rep, 
                                       'set_0':{'x':x}, 
                                       'sets':[0]}}

#     add_perturbations(perturbation_list, nets)    
#     sd = get_storage(file_name, info)
# 
# #     _, d1 = main_loop_conn(from_disk, attr_conn, models_conn, 
# #                               sets, nets, kwargs_dic, sd)     
    d1={}
#     from_disks, d2 = main_loop(from_disk, attr, models, 
#                               sets, nets, kwargs_dic, sd)
#     
    add_perturbations(perturbation_list, nets)

    # Adding nets no file name
    sd_list=get_storage_list(nets, file_name, info)

    from_disks, d2 = main_loop(from_disk, attr, models, 
                              sets, nets, kwargs_dic, sd_list) 
    
    d=misc.dict_update(d1,d2)
    if from_disk==2:
        d=cmp_mean_rate_diff(d, models, [['Net_0', 'Net_5'],
                                         ['Net_1', 'Net_6'],
                                         ['Net_2', 'Net_7'],
                                         ['Net_3', 'Net_8'],
                                         ['Net_4', 'Net_9']], x)

    return file_name, file_name_figs, from_disks, d, models
예제 #4
0
def simulate(builder, 
             from_disk, 
             perturbation_list, 
             script_name, 
             setup):
    

#     file_name = get_file_name(script_name, home)
#     file_name_figs = get_file_name_figs(script_name, home)
    
    attr = ['mean_rate_slices']
    models = ['M1', 'M2', 'FS', 'GI', 'GA', 'ST', 'SN']
    sets = []
    
    info, nets, intervals, amplitudes, rep = get_networks(builder,
                                                          setup.builder(),
                                                          setup.director(),
                                                          setup.default_params())
    key=nets.keys()[0]
    

    
    file_name = get_file_name(script_name, nets[key].par)
    file_name_figs = get_file_name_figs(script_name,  nets[key].par)   
    
    path_nest=get_path_nest(script_name, nets.keys(), nets[key].par)
    for net in nets.values():
        net.set_path_nest(path_nest)
    
    d_firing_rate = setup.firing_rate()
    
    kwargs_dic = {'firing_rate':d_firing_rate, 
                  'mean_rate_slices':{'intervals':intervals[1], 
                                      'repetition':rep, 
                                      'x':amplitudes}}
    
    add_perturbations(perturbation_list, nets)
    for p in sorted(perturbation_list.list):
        print p
#     sd = get_storage(file_name, info)

    # Adding nets no file name
    sd_list=get_storage_list(nets, file_name, info)

    from_disks, d = main_loop(from_disk, attr, models, 
                              sets, nets, kwargs_dic, sd_list) 
#     from_disks, d = main_loop(from_disk, attr, models, 
#                               sets, nets, kwargs_dic, sd)
    
    return file_name_figs, from_disks, d, models
예제 #5
0
def main(*args, **kwargs):
    setup=kwargs.get( 'setup')#, Setup())
    script_name=kwargs.get('script_name')#,__file__.split('/')[-1][0:-3])
    builder=kwargs.get('builder')
    info, nets, _ = get_networks(builder, 
                                 setup.builder(), 
                                 setup.director(),
                                 setup.engine(),
                                 setup.default_params())
    
     
    perturbation_list=kwargs.get('perturbation_list')#,op.get()[0])
    perturbation_list+=pl(setup.par(), '=', **{'name':setup.tp_name})
   
    print perturbation_list
    
    for p in sorted(perturbation_list.list):
        print p
    
    add_perturbations(perturbation_list, nets)
    
    key=nets.keys()[0]
    file_name = get_file_name(script_name, nets[key].par)
    path_nest=get_path_nest(script_name, nets.keys(), nets[key].par)
    
    print nets.keys()
    
    for net in nets.values():
        net.set_path_nest(path_nest)
        net.set_opt(setup.opt[net.name])
        
    # Adding nets no file name
    sd_list=get_storage_list(nets.keys(), file_name, info)
    
    for net, sd in zip(nets, sd_list):

        nl=Network_list(nets.values())
        #nd.add(name, **kwargs)
        
        kwargs={'model':nl,
                'call_get_x0':'get_x0',
                'call_get_error':'sim_optimization', 
                'verbose':True,}
        
        f=Fmin('GA_GI_ST_opt', **kwargs)
        h=f.fmin() 
        
        dd={setup.tp_name.split('_')[0]:{net:{'opt':h}}}
        save(sd, dd)
예제 #6
0
def simulate(
        from_disk=0,
        kw={},
        net='Net_0',
        script_name=__file__.split('/')[-1][0:-3],
        setup=Setup(50, 20),
):

    file_name = kw.get('file_name', dr.HOME_DATA + '/' + script_name)
    file_name_figs = kw.get('file_name_figs',
                            dr.HOME_DATA + '/fig/' + script_name)

    sd = get_storage_list([net], file_name, '')[0]

    d = {}

    if from_disk == 0:
        print net
        dd = {}
        for call in kw.get('calls', [
                simulate_irregular_firing,
                simulate_ahp,
                simulate_IV,
                simulate_IF,
                get_nullcline,
                simulate_rebound_spike,
        ]):
            misc.dict_update(dd, {net: call(**kw)})

        save(sd, dd)

    elif from_disk == 1:
        filt = kw.get('filter', [net] + ['IV', 'IF', 'ahp', 'nullcline'] +
                      ['rs_scatter'] +
                      ['rs_voltage_{0}'.format(i) for i in range(6)] +
                      ['irf_voltage_{0}'.format(i) for i in range(3)])
        dd = load(sd, *filt)

    d = misc.dict_update(d, dd)

    return d, file_name_figs
예제 #7
0
def simulate(from_disk=0,
             kw={},
             net='Net_0',
             script_name=__file__.split('/')[-1][0:-3],
             setup=Setup(50,20),
            ):
    
    file_name = kw.get('file_name', dr.HOME_DATA+'/'+script_name)
    file_name_figs = kw.get('file_name_figs', dr.HOME_DATA+'/fig/'+script_name)
    
    sd=get_storage_list([net], file_name, '')[0]
    
    d={}
    
    if from_disk==0:
        print net
        dd={}
        for call in kw.get('calls',[simulate_irregular_firing, 
                                    simulate_ahp,
                                    simulate_IV, 
                                    simulate_IF,
                                    get_nullcline,
                                    simulate_rebound_spike,]):
            misc.dict_update(dd,{net:call(**kw)})
        
        save(sd, dd)        
        
    elif from_disk==1:
        filt = kw.get('filter', [net]+['IV', 'IF', 'ahp', 'nullcline'] 
                      +['rs_scatter']+['rs_voltage_{0}'.format(i) for i in range(6)]
                      +['irf_voltage_{0}'.format(i) for i in range(3)])
        dd = load(sd, *filt)
        
    d = misc.dict_update(d, dd)    
    
    return d, file_name_figs
예제 #8
0
def main(*args, **kwargs):
    
    setup=kwargs.get('setup')#, Setup())
    script_name=kwargs.get('script_name')#,__file__.split('/')[-1][0:-3])
    builder=kwargs.get('builder')
    
    info, nets, _ = get_networks(builder, 
                                 setup.builder(), 
                                 setup.director(),
                                 setup.engine(),
                                 setup.default_params()) 
    perturbation_list=kwargs.get('perturbation_list')
    
    perturbation_list+=pl(target_perturbations()[setup.tp_name], '=', **{'name':setup.tp_name})
    perturbation_list+=pl(setup.par(), '=', **{'name':setup.tp_name})
    add_perturbations(perturbation_list, nets)

    key=nets.keys()[0]
    file_name = get_file_name(script_name, nets[key].par)
    path_nest=get_path_nest(script_name, nets.keys(), nets[key].par)
    
    for val in nets.values():
        for key in sorted(val.par['nest'].keys()):
            val2=val.par['nest'][key]
            if 'weight' in val2.keys():
                print key, val2['weight']
        for key in sorted(val.par['node'].keys()):
            val2=val.par['node'][key]
            if 'spike_setup' in val2.keys():
                print key, val2['spike_setup']
            if 'rate' in val2.keys():
                print key, val2['rate']
                
    print setup.tp_name, nets.keys()
    pp(nets['Net_1'].par['nest']['GA_GA_gaba']['weight'])
    for net in nets.values():
        net.set_path_nest(path_nest) 
        pp(nets['Net_1'].par['nest']['GA_GA_gaba']['weight'])
        net.set_opt(setup.opt[net.name])
    pp(nets['Net_1'].par['nest']['GA_GA_gaba']['weight'])
    
    # vt=net.voltage_trace()
    # import pylab
    # ax=pylab.subplot(111)
    # vt.plot_voltage_trace(ax)
    # pylab.show()

    sd_list=get_storage_list(nets.keys(), file_name, info)
    
    for net, sd in zip(nets.values(), sd_list):    
        nl=Network_list([net])
#         pp(net.par.dic['node']['STp'])
        kwargs={'model':nl,
                'call_get_x0':'get_x0',
                'call_get_error':'sim_optimization', 
                'verbose':True,}
        
        kwargs_fmin={'maxiter':100, 
                     'maxfun':100,
                     'full_output':1,
                     'retall':1,
                     'xtol':.0001,
                     'ftol':.0001,
                     'disp':0}
        kwargs_fmin={}
        kwargs['kwargs_fmin']=kwargs_fmin
        f=Fmin('GA_opt', **kwargs)
        h=f.fmin() 
        dd={setup.tp_name.split('_')[0]:{net.name:{'opt':h}}}
        
        save(sd, dd)
예제 #9
0
        ]:
            kw = {
                'gi_amp': 1,
                'gi_n': 600,
                'gi_st_delay': delay,
                'gi_gi_delay': 1.,
                'st_gi_delay': delay,
                'p_st': p_st,
                'sim_time': 3500.0,
                'st_amp': 0,
                'st_n': 200
            }
            kw_list.append(kw)

    nets = ['Net_{0:0>2}'.format(i) for i in range(len(kw_list))]
    sd_list = get_storage_list(nets, path, '')

    d = {}
    for net, sd, kw in zip(nets, sd_list, kw_list):

        if from_disk == 0:  # and net=='Net_05':
            print net
            dd = {net: simulate_network(**kw)}
            dd = compute_attrs(dd, net)
            save(sd, dd)

        if from_disk == 1:
            filt = [net] + ['gi', 'st', 'gi_st'] + ['spike_signal']
            dd = load(sd, *filt)
            pp(dd)
            dd = compute_attrs(dd, net)
예제 #10
0
            'if_params':p_st,
            
            'iv_params':p_st,
            'iv_I_vec': numpy.arange(-200,0,10),
            
            'model':'my_aeif_cond_exp',
            
            'nc_params':p_st,
            'nc_V':numpy.arange(-80,-0,1)}
        
            
        kw_list.append(kw)
    
    
    nets=['Net_{0:0>2}'.format(i) for i in range(len(kw_list))]
    sd_list=get_storage_list(nets, path, '')
    
    d={}
    for net, sd, kw in zip(nets, sd_list, kw_list):
    
        if from_disk==0:# and net=='Net_05':
            print net
            dd={}
            for call in [
                        simulate_IV, 
                        simulate_IF,
                            get_nullcline,
                           simulate_rebound_spike,
                         ]:
                misc.dict_update(dd,{net:call(**kw)})
예제 #11
0
def simulate(builder, from_disk, perturbation_list, script_name, setup):
     
    d_firing_rate = setup.firing_rate()
    d_mrs = setup.mean_rate_slices()
    
    attr = [
            'firing_rate',
            'mean_rate_slices'
            ]
    
    models = ['M1', 'M2', 'FS', 'ST', 'GA', 'GI', 'SN']
    sets = ['set_0', 'set_1']
    
    info, nets, intervals, rep, x_set, y_set = get_networks(builder, 
                                                            setup.builder(),
                                                            setup.director(),
                                                            setup.default_params())

    add_perturbations(perturbation_list, nets)
    for p in sorted(perturbation_list.list):
        print p
    
    print nets.keys()
    key=nets.keys()[0]
    file_name = get_file_name(script_name, nets[key].par)
    file_name_figs = get_file_name_figs(script_name,  nets[key].par)
    path_nest=get_path_nest(script_name, nets.keys(), nets[key].par)

    for net in nets.values():
        net.set_path_nest(path_nest)

    x=range(len(x_set))
    xticklabels=[str(a)+'*'+str(b) for a, b in zip(x_set, y_set) ]
    d_mrs.update({'intervals':intervals[1], 
                  'repetition':rep, 
                  'set_0':{'x':x, 'xticklabels':xticklabels, 'x_set':x_set}, 
                  'set_1':{'x':x, 'xticklabels':xticklabels, 'x_set':y_set}, 
                  'sets':[0, 1]})
    
#     d_firing_rate['mean_rate_slices']=d_mrs
#     
#     d=d_mrs.copy()
#     d['intervals']=[[v[0], v[0]+100] for v in intervals[1]]
#     d_firing_rate['mean_rate_slices_0']=d
#  
#     d=d_mrs.copy()
#     d['intervals']=[[v[1]-100, v[1]] for v in intervals[1]]
#  
#     d_firing_rate['mean_rate_slices_1']=d
#     
    kwargs_dic = {
                'firing_rate':d_firing_rate, 
                'mean_rate_slices': d_mrs
                  }

    
    # Adding nets no file name
    sd_list=get_storage_list(nets, file_name, info)

    from_disks, d = main_loop(from_disk, attr, models, 
                              sets, nets, kwargs_dic, sd_list,
                              **{'attrs_load':['mean_rate_slices']})
     
    return file_name, file_name_figs, from_disks, d, models
예제 #12
0
def plot(file_name, figs, setup, flag, **k):
    nets = ['Net_0', 'Net_1']

    attr = ['firing_rate', 'mean_rates', 'spike_statistic']

    attr2 = ['psd', 'activity_histogram', 'activity_histogram_stat']

    attr_coher = ['phase_diff', 'phases_diff_with_cohere', 'mean_coherence']

    models = ['M1', 'M2', 'FS', 'GI', 'GA', 'ST', 'SN', 'GP']
    models_coher = [
        'GI_GA',
        'GI_GI',
        'GA_GA',
        'GA_ST',
        'GI_ST',
        'GP_GP',
        'ST_ST',
        'GP_ST',
    ]

    # Adding nets no file name
    sd_list = get_storage_list(nets, file_name, '')

    d = {}

    for sd, net in zip(sd_list, nets):

        filt = ([net] + models + models_coher + attr + attr2 + attr_coher)
        dd = load(sd, *filt)

        #             cmp_statistical_test(models, dd)
        d = misc.dict_update(d, dd)

    kw = setup.plot_summed2()
    kw['alphas'] = [1., 1.]
    kw['coherence_xcut'] = [0, 50]
    kw['coherence_color'] = ['grey', 'k']
    kw['coherence_p_conf95_linestyle'] = '--'
    kw['hatchs_ti_ti'] = ['', '']
    kw['label_model'] = 'Black=Model'
    kw['label_exp'] = 'White=Exp., Mallet et al 2008'
    kw['linewidth'] = 1.
    kw['set_text_on_bars'] = False
    kw['top_label'] = False
    kw['phases_diff_with_cohere_colors'] = ['grey', 'k']
    kw['phases_diff_with_cohere_xcut'] = [-numpy.pi * 0.97, numpy.pi**0.97]
    kw['phases_diff_with_cohere_remove_peaks'] = True
    kw['scale'] = 1
    kw['spk_stats_color_axis'] = 1
    kw['spk_stats_colors'] = ['k', 'w']
    kw['spk_stats_colors_ti_ta'] = ['k', 'w']
    kw['xlim_cohere'] = [-1, 51]

    kw.update(k)
    figs.append(base_oscillation.show_summed2(d, **kw))

    kw = setup.plot_summed_STN()
    kw['alphas'] = [1., 1.]
    kw['coherence_color'] = ['grey', 'k']
    kw['coherence_p_conf95_linestyle'] = '--'
    kw['hatchs_ti_ti'] = ['', '']
    kw['label_model'] = 'Black=Model'
    kw['label_exp'] = 'White=Exp., Mallet et al 2008'
    kw['linewidth'] = 1.
    kw['phases_diff_with_cohere_xcut'] = [-numpy.pi * 0.97, numpy.pi**0.97]
    kw['phases_diff_with_cohere_remove_peaks'] = True
    kw['phases_diff_with_cohere_colors'] = ['grey', 'k']
    kw['scale'] = 1
    kw['set_text_on_bars'] = False
    kw['spk_stats_colors'] = ['k', 'w']
    kw['spk_stats_colors_ti_ta'] = ['k', 'w']
    kw['spk_stats_color_axis'] = 1
    kw['top_label'] = False
    kw['xlim_cohere'] = [-1, 51]
    if flag == 'slow_wave':
        kw['ylim_cohere'] = [0, 1.0]
    elif flag == 'beta':
        kw['ylim_cohere'] = [0, 0.4]

    kw['coherence_xcut'] = [0, 50]
    kw.update(k)
    figs.append(base_oscillation.show_summed_STN(d, **kw))

    return figs
예제 #13
0
def main(*args, **kwargs):

    setup = kwargs.get('setup')  #, Setup())
    script_name = kwargs.get('script_name')  #,__file__.split('/')[-1][0:-3])
    builder = kwargs.get('builder')

    info, nets, _ = get_networks(builder, setup.builder(), setup.director(),
                                 setup.engine(), setup.default_params())
    perturbation_list = kwargs.get('perturbation_list')

    perturbation_list += pl(target_perturbations()[setup.tp_name], '=',
                            **{'name': setup.tp_name})
    perturbation_list += pl(setup.par(), '=', **{'name': setup.tp_name})
    add_perturbations(perturbation_list, nets)

    key = nets.keys()[0]
    file_name = get_file_name(script_name, nets[key].par)
    path_nest = get_path_nest(script_name, nets.keys(), nets[key].par)

    for val in nets.values():
        for key in sorted(val.par['nest'].keys()):
            val2 = val.par['nest'][key]
            if 'weight' in val2.keys():
                print key, val2['weight']
        for key in sorted(val.par['node'].keys()):
            val2 = val.par['node'][key]
            if 'spike_setup' in val2.keys():
                print key, val2['spike_setup']
            if 'rate' in val2.keys():
                print key, val2['rate']

    print setup.tp_name, nets.keys()
    pp(nets['Net_1'].par['nest']['GA_GA_gaba']['weight'])
    for net in nets.values():
        net.set_path_nest(path_nest)
        pp(nets['Net_1'].par['nest']['GA_GA_gaba']['weight'])
        net.set_opt(setup.opt[net.name])
    pp(nets['Net_1'].par['nest']['GA_GA_gaba']['weight'])

    # vt=net.voltage_trace()
    # import pylab
    # ax=pylab.subplot(111)
    # vt.plot_voltage_trace(ax)
    # pylab.show()

    sd_list = get_storage_list(nets.keys(), file_name, info)

    for net, sd in zip(nets.values(), sd_list):
        nl = Network_list([net])
        #         pp(net.par.dic['node']['STp'])
        kwargs = {
            'model': nl,
            'call_get_x0': 'get_x0',
            'call_get_error': 'sim_optimization',
            'verbose': True,
        }

        kwargs_fmin = {
            'maxiter': 100,
            'maxfun': 100,
            'full_output': 1,
            'retall': 1,
            'xtol': .0001,
            'ftol': .0001,
            'disp': 0
        }
        kwargs_fmin = {}
        kwargs['kwargs_fmin'] = kwargs_fmin
        f = Fmin('GA_opt', **kwargs)
        h = f.fmin()
        dd = {setup.tp_name.split('_')[0]: {net.name: {'opt': h}}}

        save(sd, dd)
예제 #14
0
 attr2=['psd',
        'activity_histogram',
        'activity_histogram_stat']
 
 attr_coher = [
               'phase_diff', 
               'phases_diff_with_cohere',
               'mean_coherence'
              ]
 
 models = ['M1', 'M2', 'FS', 'GI', 'GA', 'ST', 'SN', 'GP']
 models_coher = ['GI_GA', 'GI_GI', 'GA_GA', 'GA_ST', 'GI_ST', 'GP_GP',
                  'ST_ST', 'GP_ST',]
 
 # Adding nets no file name
 sd_list=get_storage_list(nets, file_name, '')
 
 d = {}
 
 for sd, net in zip(sd_list, nets):
     
 
     filt = ([net] 
             + models + models_coher 
             + attr + attr2 + attr_coher)
     dd = load(sd, *filt)
 
         #             cmp_statistical_test(models, dd)
     d = misc.dict_update(d, dd)
 
  
def plot(file_name, figs, setup, flag,  **k):
    nets=['Net_0', 'Net_1']
    
    attr = [
        'firing_rate', 
        'mean_rates', 
        'spike_statistic'
        ]
    
    attr2=['psd',
           'activity_histogram',
           'activity_histogram_stat']
    
    attr_coher = [
                  'phase_diff', 
                  'phases_diff_with_cohere',
                  'mean_coherence'
                 ]
    
    models = ['M1', 'M2', 'FS', 'GI', 'GA', 'ST', 'SN', 'GP']
    models_coher = ['GI_GA', 'GI_GI', 'GA_GA', 'GA_ST', 'GI_ST', 'GP_GP',
                     'ST_ST', 'GP_ST',]
    
    # Adding nets no file name
    sd_list=get_storage_list(nets, file_name, '')
    
    d = {}
    
    for sd, net in zip(sd_list, nets):
        
    
        filt = ([net] 
                + models + models_coher 
                + attr + attr2 + attr_coher)
        dd = load(sd, *filt)
    
            #             cmp_statistical_test(models, dd)
        d = misc.dict_update(d, dd)
    
     
    kw=setup.plot_summed2()
    kw['alphas']=[1.,1.]
    kw['coherence_xcut']=[0,50]
    kw['coherence_color']=['grey', 'k']
    kw['coherence_p_conf95_linestyle']='--'
    kw['hatchs_ti_ti']=['','']
    kw['label_model']='Black=Model'
    kw['label_exp']='White=Exp., Mallet et al 2008'
    kw['linewidth']=1.
    kw['set_text_on_bars']=False
    kw['top_label']=False
    kw['phases_diff_with_cohere_colors']=['grey','k']
    kw['phases_diff_with_cohere_xcut']=[-numpy.pi*0.97, numpy.pi**0.97]
    kw['phases_diff_with_cohere_remove_peaks']=True
    kw['scale']=1
    kw['spk_stats_color_axis']=1
    kw['spk_stats_colors']=['k', 'w']
    kw['spk_stats_colors_ti_ta']=['k','w']
    kw['xlim_cohere']=[-1, 51]
    

    kw.update(k)
    figs.append(base_oscillation.show_summed2(d, **kw))
        
    kw=setup.plot_summed_STN()
    kw['alphas']=[1.,1.]
    kw['coherence_color']=['grey','k']
    kw['coherence_p_conf95_linestyle']='--'
    kw['hatchs_ti_ti']=['','']
    kw['label_model']='Black=Model'
    kw['label_exp']='White=Exp., Mallet et al 2008'
    kw['linewidth']=1.
    kw['phases_diff_with_cohere_xcut']=[-numpy.pi*0.97, numpy.pi**0.97]
    kw['phases_diff_with_cohere_remove_peaks']=True
    kw['phases_diff_with_cohere_colors']=['grey','k']
    kw['scale']=1
    kw['set_text_on_bars']=False
    kw['spk_stats_colors']=['k', 'w']
    kw['spk_stats_colors_ti_ta']=['k','w']
    kw['spk_stats_color_axis']=1
    kw['top_label']=False    
    kw['xlim_cohere']=[-1, 51]
    if flag=='slow_wave':
        kw['ylim_cohere']=[0, 1.0]
    elif flag=='beta':
        kw['ylim_cohere']=[0, 0.4]
        
    kw['coherence_xcut']=[0,50]
    kw.update(k)
    figs.append(base_oscillation.show_summed_STN(d, **kw))
    
    return figs