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