Beispiel #1
0
# synapses
synparams = []
for inloc in inlocs:
    synparams.append(copy.deepcopy(inloc))
    synparams[-1]['weight'] = w; synparams[-1]['E_r'] = 0.
    synparams[-1]['tau1'] = t1; synparams[-1]['tau2'] = t2
# synparams_2 = []
# for inloc in inlocs_2:
#     synparams_2.append(copy.deepcopy(inloc))
#     synparams_2[-1]['weight'] = w; synparams_2[-1]['E_r'] = 0.
#     synparams_2[-1]['tau1'] = t1; synparams_2[-1]['tau2'] = t2
# poisson spiketrains
import spikeTrainGenerator as s
spiketimes = []
for i in range(len(synparams)):
    spiketimes.append({'ID': synparams[i]['ID'], 'spks': s.poissonTrain(rate,tmax)})
    # spiketimes.append({'ID': synparams[i]['ID'], 'spks': []})
inlocs_IDs = np.array([inloc['ID'] for inloc in inlocs])
# spiketimes_2 = [copy.deepcopy(spiketimes[0])]
# for i, synpar in enumerate(synparams_2[1:]):
#     spks = []
#     for ID in synpar['IDs']:
#         ind = np.where(inlocs_IDs == ID)[0][0]
#         spks += spiketimes[ind]['spks']
#     spiketimes_2.append({'ID': synpar['ID'], 'spks': np.sort(spks)})
# spiketimes[0]['spks'] = [0.125] + spiketimes[0]['spks']
# for i in range(len(synparams)): 
    # spiketimes.append({'ID': synparams[i]['ID'], 'spks': [i*100.+2.]})
# calc inloc conductances 
# gs_point, es_point, gcalctype_point = greenstree_sim.calc_IP_conductances(inlocs)
# for key in gs_point.keys():
Beispiel #2
0
for N in range(2,len(inlocs_all)):
    print '\n>>> simulation with ' + str(N) + ' inlocs'
    inlocs = inlocs_all[:N]
    IDs = IDs_all[:N]
    NNs,_ = greenstree.get_nearest_neighbours(inlocs, add_leaves=False, separate=False, test=False)
    # synapses
    synparams = []
    for inloc in inlocs:
        synparams.append(copy.deepcopy(inloc))
        synparams[-1]['weight'] = w; synparams[-1]['E_r'] = 0.
        synparams[-1]['tau1'] = t1; synparams[-1]['tau2'] = t2
    # poisson spiketrains
    import spikeTrainGenerator as s
    spiketimes = []
    for i in range(len(synparams)):
        spiketimes.append({'ID': synparams[i]['ID'], 'spks': np.array(s.poissonTrain(rate/N,tmax))})
        # spiketimes.append({'ID': synparams[i]['ID'], 'spks': np.array([100.+100.*i])})
        # spiketimes.append({'ID': synparams[i]['ID'], 'spks': np.array([])})
        # spiketimes.append({'ID': synparams[i]['ID'], 'spks': np.linspace(0.,tmax, int(tmax/dt))})
    inlocs_IDs = np.array([inloc['ID'] for inloc in inlocs])
    # compute SGF
    alphas, gammas, pairs, Ms = gfcalc.kernelSet_sparse(inlocs, FFT=False, kernelconstants=True, pprint=False)
    # preprocessor 
    prep = neurM.preprocessor()
    # C model no spikes
    sgfM_ns, nK = prep.construct_C_model_hybrid(dt, inlocs, NNs, alphas, gammas, K)
    sgfM_ns.add_recorder(ind_recloc)
    print "<n_K> =", nK
    nK_avg_list.append(nK)
    # C model spikes
    sgfM_s, _ = prep.construct_C_model_hybrid(dt, inlocs, NNs, alphas, gammas, K)