예제 #1
0
print('i = %d'%(i))
data = np.load(foldername + '/Series%s'%(k_id) + '/param.npy', allow_pickle=True)
param = data.item()
for key, val in param.items():
  exec(key + '=val')

# Import model simulation function and stimulus generation function.
sys.path.append('%s/Parameters'%(codedirectory))
from model_simulation_all import simulation, stimulate

T_all = T + T_relax # simulation time and randomization of initial condition 
spike_time_duration = []
for k in range(rep): 
  print('Loop at %d\n' %(k))
  seednumber = i*100+k # i is Series number. k is repitition number.
  va = simulation(model, tau, posNa, T_all, mean, std, dt=dt, seednumber=seednumber, stim_type=stim_type, amplitude=amplitude, frequency=frequency)
  a = np.diff((np.array(va)>spthr)*1.0)
  sp_id = np.where(a==1)[0] # spike time index
  b = np.diff((np.array(va)>v_loc)*1.0)
  v_loc_id_all = np.where(b==1)[0] # index of passing v_loc from below 
  v_loc_pair = [] # the last time to pass v_loc from below before each spike time
  for sp in sp_id:
    if sum(np.diff((v_loc_id_all<sp)*1.0)) == 0: # if sp is larger than all the v_loc_id, then the last one is paired.
      v_loc_pair.append(v_loc_id_all[-1])
    else:
      c = np.diff((v_loc_id_all<sp)*1.0) 
      v_loc_last_id = np.where(c==-1)[0][-1]
      v_loc_pair.append(v_loc_id_all[v_loc_last_id])
  spike_time_duration += list((np.array(list(sp_id)) - np.array(v_loc_pair))*dt)
  sys.stdout.flush()
예제 #2
0
#! /usr/bin/python

'''
Firing rate estimation 
'''

import sys, os
import numpy as np
foldername = sys.argv[-1]

# Parameters loading
data = np.load(foldername + '/param.npy', allow_pickle=True)
param = data.item()
for key, val in param.items():
  exec(key + '=val')

os.environ.keys()
i = int(os.environ['SLURM_ARRAY_TASK_ID'])
stim_mean = Iconst[i-1]

from model_simulation_all import simulation
va = simulation(model, 5, posNa, T, stim_mean, 0, dt=dt) # stim_std = 0
a = np.diff((np.array(va)>spthr)*1)
itemindex = np.where(a==1)
T_s = T/1000.0
fr = len(itemindex[0])/T_s
print("Firing rate is %s Hz"%(fr))
np.save('%s/mean_fr_%i'%(foldername, i),{'mean':stim_mean, 'fr':fr})