Beispiel #1
0
def single_run(filter, spk_src, bg_src, params):
    import evaluate as eval

    sp_win    = params['sp_win']
    spadd_win = params['sp_add_win']
    pow_frac  = params['pow_frac']
    f_filter  = params['f_filter']
    type      = params['sp_type']
    thresh    = params['thresh']
    feats     = params['features']
    contacts  = params['contacts']
    n_pts     = params['n_pts']

    sp, stim, spt_real = eval.mix_cellbg(filter, spk_src, bg_src, 
                                         spadd_win, pow_frac)
    sp = eval.filter_data(sp, f_filter)

    spt, clust_idx, n_missing = eval.spike_clusters(sp, spt_real,
                                                    stim,
                                                    thresh,
                                                    type, sp_win) 
    
    features = eval.calc_features(sp, spt, sp_win, feats, contacts)
    
    uni_metric = eval.univariate_metric(eval.mutual_information, 
                                        features, clust_idx)

    multi_metric = eval.k_nearest(features, clust_idx, n_pts=n_pts)

    n_total = len(spt_real['data'])

    result_dict= {"cell" : spk_src,
                  "electrode" : bg_src,
                  "spikes_total" : n_total,
                  "spikes_missed" : n_missing,
                  "mutual_information" : uni_metric,
                  "k_nearest" : multi_metric}

    result_dict.update(params)
    
    import socket
    #from sim_manager import get_version

    result_dict['host'] = socket.gethostname()
    #result_dict['dependencies'] ={'evaluate': get_version(eval),
    #                              'spike_sort': get_version(eval.sort)}
    
    return result_dict
Beispiel #2
0
from spike_analysis import basic
import evaluate as eval

spike_src = "/Gollum/s44gollum07/el3/cell1"
background_src = "/Gollum/s44gollum01/el4"
sp_win = [-2, 2]
pow_frac = 5
out_dataset = "/TestSubject/sSession01/el1"


if __name__ == "__main__":
    in_filter = filters.BakerlabFilter("../data/gollum.inf")
    out_filter = filters.PyTablesFilter("simulated.h5")

    sp_sim, stim_bg, spt_sim = eval.mix_cellbg(in_filter, spike_src,
                                               background_src,
                                              sp_win, pow_frac) 
    #export
    out_filter.write_spt(spt_sim, out_dataset+"/cell1_orig",
                        overwrite=True)
    out_filter.write_spt(stim_bg,out_dataset+ "stim",
                        overwrite=True)
    out_filter.write_sp(sp_sim, out_dataset+"/raw",
                       overwrite=True)
   
    #plotting
    print "Total spikes: ", len(spt_sim['data'])
    raw_bg, _ = eval.read_data(in_filter, background_src)
    basic.plotPSTH(spt_sim['data'], stim_bg['data'], win=[0,300])
    plt.figure()
    plt.plot(raw_bg['data'][0,:25E3])