Beispiel #1
0
def simulate():
    tstop = 75
    rownb = 10
    colnb = 10
    c = sKCSD_utils.simulate(fname_base,
                             morphology=7,
                             tstop=tstop,
                             seed=1988,
                             weight=0.04,
                             n_syn=1000,
                             simulate_what='oscillatory',
                             electrode_distribution=1,
                             electrode_orientation=3,
                             xmin=-400,
                             xmax=400,
                             ymin=-400,
                             ymax=400,
                             colnb=colnb,
                             rownb=rownb,
                             dt=0.5)
    return c.return_paths_skCSD_python()
Beispiel #2
0
 scale_factor_LFP = 1000
 R_inits = np.array([(2**(i - .5)) / scale_factor for i in range(3, 9)])
 lambdas = np.array([(10**(-i)) for i in range(5)])
 colnb = 10
 rownb = 10
 fname = '%s_rows_%d' % (fname_base, rownb)
 dt = .5
 if sys.version_info < (3, 0):
     c = sKCSD_utils.simulate(fname,
                              morphology=6,
                              tstop=tstop,
                              seed=1988,
                              weight=0.04,
                              n_syn=1000,
                              simulate_what='oscillatory',
                              electrode_distribution=1,
                              electrode_orientation=3,
                              xmin=-400,
                              xmax=400,
                              ymin=-400,
                              ymax=400,
                              colnb=colnb,
                              rownb=rownb,
                              dt=dt)
     data_dir = c.return_paths_skCSD_python()
 else:
     data_dir = os.path.join('simulation', fname)
 data = utils.LoadData(data_dir)
 ele_pos = data.ele_pos / scale_factor
 data.LFP = data.LFP / scale_factor_LFP
 morphology = data.morphology
 morphology[:, 2:6] = morphology[:, 2:6] / scale_factor
 R_inits = [2**i*1e-6/np.sqrt(2) for i in range(3,8)]
 lambdas = [10**(-i) for i in range(-3, 6, 1)]
 electrode_number = [8, 32 , 128]
 data_dir = []
 xmin, xmax = -100, 600
 ymin, ymax = 0, 200
 orientation = 1
 for rownb in electrode_number:
     fname = "Figure_3"
     c = sKCSD_utils.simulate(fname,
                              morphology=1,
                              simulate_what="random",
                              colnb=1,
                              rownb=rownb,
                              xmin=xmin,
                              xmax=xmax,
                              ymin=ymin,
                              ymax=ymax,
                              tstop=tstop,
                              seed=1988,
                              weight=0.05,
                              n_syn=100,
                              dt=0.125)
     data_dir.append(c.return_paths_skCSD_python())
 seglen = np.loadtxt(os.path.join(data_dir[0], 'seglength'))
 ground_truth = np.loadtxt(os.path.join(data_dir[0], 'membcurr'))
 ground_truth = ground_truth/seglen[:, None]*1e-3
 gvmax, gvmin = pl.get_min_max(ground_truth)
 data_paths = []
 
 fig =   plt.figure(figsize=(20, 6))
 
Beispiel #4
0
 for i in range(7):
     colnb = different_trials_parameters[i]['colnb']
     rownb = different_trials_parameters[i]['rownb']
     xmin = different_trials_parameters[i]['xmin']
     xmax = different_trials_parameters[i]['xmax']
     ymin = different_trials_parameters[i]['ymin']
     ymax = different_trials_parameters[i]['ymax']
     
     c = sKCSD_utils.simulate(fname_base,
                              morphology=7,
                              tstop=tstop,
                              seed=1988,
                              weight=0.01,
                              n_syn=1000,
                              simulate_what='oscillatory',
                              electrode_distribution=1,
                              electrode_orientation=3,
                              xmin=xmin,
                              xmax=xmax,
                              ymin=ymin,
                              ymax=ymax,
                              colnb=colnb,
                              rownb=rownb,
                              dt=dt)
     c.save_for_R_kernel()
     data_dir.append(c.return_paths_skCSD_python())
 
 data = utils.LoadData(data_dir[0])
 ele_pos = data.ele_pos/scale_factor
 data.LFP = data.LFP/scale_factor_LFP
 morphology = data.morphology
 morphology[:, 2:6] = morphology[:, 2:6]/scale_factor
Beispiel #5
0
    scaling_factor_LFP = 1000
    data_dir = []
    colnb = 4
    rownb = 8
    xmin, xmax = 0, 500
    ymin, ymax = -80, 80
    t1 = int(5.5 / dt)
    fname = "Figure_9"
    c = sKCSD_utils.simulate(fname,
                             morphology=2,
                             simulate_what="symmetric",
                             colnb=colnb,
                             rownb=rownb,
                             xmin=xmin,
                             xmax=xmax,
                             ymin=ymin,
                             ymax=ymax,
                             tstop=tstop,
                             seed=1988,
                             weight=0.04,
                             n_syn=100,
                             electrode_distribution=1,
                             dt=dt)

    data_dir = c.return_paths_skCSD_python()

    seglen = np.loadtxt(os.path.join(data_dir, 'seglength'))

    ground_truth = np.loadtxt(os.path.join(data_dir, 'membcurr'))

    ground_truth = ground_truth / seglen[:, None] * 1e-3
Beispiel #6
0
 data_dir = []
 colnb = 16
 lfps = []
 extent = [-200, 200, -200, 600]
 xmin = [50, -200]
 dt = 0.15
 for i, rownb in enumerate(electrode_number):
     fname = '%s_%d' % (fname_base, rownb)
     if sys.version_info < (3, 0):
         c = sKCSD_utils.simulate(fname,
                                  morphology=2,
                                  colnb=colnb,
                                  rownb=rownb,
                                  xmin=-200,
                                  xmax=600,
                                  ymin=xmin[i],
                                  ymax=200,
                                  tstop=tstop,
                                  seed=1988,
                                  weight=0.01,
                                  n_syn=100,
                                  simulate_what="symmetric",
                                  dt=dt)
         new_dir = c.return_paths_skCSD_python()
     else:
         new_dir = os.path.join('simulation', fname)
     data_dir.append(new_dir)
 seglen = np.loadtxt(os.path.join(data_dir[0], 'seglength'))
 ground_truth = np.loadtxt(os.path.join(data_dir[0], 'membcurr'))
 ground_truth = ground_truth / seglen[:, None] * 1e-3
 ground_truth_grid = []
 ground_truth_t1 = None
Beispiel #7
0
 lambdas = [10**(-i) for i in range(6)]
 electrode_number = [8, 32, 128]
 data_dir = []
 xmin, xmax = -100, 600
 ymin, ymax = 0, 200
 orientation = 1
 for rownb in electrode_number:
     fname = '%s_rows_%d' % (fname_base, rownb)
     if sys.version_info < (3, 0):
         c = sKCSD_utils.simulate(fname,
                                  morphology=1,
                                  simulate_what="random",
                                  colnb=1,
                                  rownb=rownb,
                                  xmin=xmin,
                                  xmax=xmax,
                                  ymin=ymin,
                                  ymax=ymax,
                                  tstop=tstop,
                                  seed=1988,
                                  weight=0.1,
                                  n_syn=100)
         new_dir = c.return_paths_skCSD_python()
     else:
         new_dir = os.path.join('simulation', fname)
     data_dir.append(new_dir)
 seglen = np.loadtxt(os.path.join(data_dir[0], 'seglength'))
 ground_truth = np.loadtxt(os.path.join(data_dir[0], 'membcurr'))
 ground_truth = ground_truth / seglen[:, None] * 1e-3
 gvmax, gvmin = pl.get_min_max(ground_truth)
 data_paths = []
Beispiel #8
0
    scaling_factor_LFP = 1000
    data_dir = []
    colnb = 4
    rownb = 8
    xmin, xmax = 0, 500
    ymin, ymax = -80, 80
    t1 = int(5.5/dt)
    fname = "Figure_9"
    c = sKCSD_utils.simulate(fname,
                             morphology=2,
                             simulate_what="symmetric",
                             colnb=colnb,
                             rownb=rownb,
                             xmin=xmin,
                             xmax=xmax,
                             ymin=ymin,
                             ymax=ymax,
                             tstop=tstop,
                             seed=1988,
                             weight=0.04,
                             n_syn=100,
                             electrode_distribution=1,
                             dt=dt)
    
    data_dir = c.return_paths_skCSD_python()

    seglen = np.loadtxt(os.path.join(data_dir,
                                     'seglength'))

    ground_truth = np.loadtxt(os.path.join(data_dir,
                                           'membcurr'))
Beispiel #9
0
 dt = 2**(-4)
 rows = [2, 4, 8, 16]
 xmin, xmax = -100, 600
 ymin, ymax = -100, 100
 sim_type = {'1': "grid", '2': "random"}
 for i, rownb in enumerate(rows):
     for orientation in [1, 2]:
         fname = "Figure_6_" + sim_type[str(orientation)]
         c = sKCSD_utils.simulate(fname,
                                  morphology=2,
                                  simulate_what="symmetric",
                                  colnb=rownb,
                                  rownb=colnb,
                                  xmin=-100,
                                  xmax=500,
                                  ymin=-100,
                                  ymax=100,
                                  tstop=tstop,
                                  seed=1988,
                                  weight=0.04,
                                  n_syn=100,
                                  electrode_distribution=orientation,
                                  electrode_orientation=2,
                                  dt=2**(-4))
         data_dir.append(c.return_paths_skCSD_python())
 seglen = np.loadtxt(os.path.join(data_dir[0], 'seglength'))
 ground_truth = np.loadtxt(os.path.join(data_dir[0], 'membcurr'))
 ground_truth = ground_truth / seglen[:, None] * 1e-3
 t1 = int(42 / dt)
 t2 = int(5 / dt)
 atstart = t2
 atstop = int(t2 + 10 / dt)
Beispiel #10
0
 colnb = [4, 16]
 lfps = []
 xmax = [100, 500]
 ymax = [500, 100]
 cell_itself = []
 
 for i, electrode_orientation in enumerate([1, 2]):
     fname = fname_base
     c = sKCSD_utils.simulate(fname,
                              morphology=2,
                              colnb=rownb[i],
                              rownb=colnb[i],
                              xmin=-100,
                              xmax=xmax[i],
                              ymin=-100,
                              ymax=ymax[i],
                              tstop=tstop,
                              seed=1988,
                              weight=0.01,
                              n_syn=100,
                              simulate_what="symmetric",
                              electrode_orientation=electrode_orientation,
                              dt=dt)
     data_dir.append(c.return_paths_skCSD_python())
     data = utils.LoadData(data_dir[i])
     ele_pos = data.ele_pos/scaling_factor
     morphology = data.morphology
     morphology[:, 2:6] = morphology[:, 2:6]/scaling_factor
     if i == 0:
         cell_itself.append(sKCSDcell(morphology,
                                      ele_pos,
Beispiel #11
0
 xmax = [100, 500]
 ymax = [500, 100]
 cell_itself = []
 morpho = []
 extent = []
 
 for i, electrode_orientation in enumerate([1, 2]):
     fname = fname_base
     c = sKCSD_utils.simulate(fname,
                              morphology=2,
                              colnb=rownb[i],
                              rownb=colnb[i],
                              xmin=-100,
                              xmax=xmax[i],
                              ymin=-100,
                              ymax=ymax[i],
                              tstop=tstop,
                              seed=1988,
                              weight=0.01,
                              n_syn=100,
                              simulate_what="symmetric",
                              electrode_orientation=electrode_orientation,
                              dt=dt)
     data_dir.append(c.return_paths_skCSD_python())
     data = utils.LoadData(data_dir[i])
     ele_pos = data.ele_pos/scaling_factor
     morphology = data.morphology
     morphology[:, 2:6] = morphology[:, 2:6]/scaling_factor
     if i == 0:
         cell_itself.append(sKCSDcell(morphology,
                                      ele_pos,
Beispiel #12
0
    scale_factor_LFP = 1000
    R_inits = np.array([(2**(i - .5)) / scale_factor for i in range(3, 7)])
    lambdas = np.array([(10**(-i)) for i in range(5, 0, -1)])
    n_srcs = np.array([32, 64, 128, 512, 1024])
    x_ticklabels = [2**i for i in range(3, 7)]
    y_ticklabels = [str(lambd) for lambd in lambdas]
    colnb = 4
    rownb = 4
    c = sKCSD_utils.simulate(fname_base,
                             morphology=2,
                             colnb=colnb,
                             rownb=rownb,
                             xmin=0,
                             xmax=500,
                             ymin=-100,
                             ymax=100,
                             tstop=tstop,
                             seed=1988,
                             weight=0.04,
                             n_syn=100,
                             electrode_orientation=2,
                             simulate_what='symmetric',
                             dt=dt)
    new_path = c.return_paths_skCSD_python()
    data = utils.LoadData(new_path)
    ele_pos = data.ele_pos / scale_factor
    pots = data.LFP / scale_factor_LFP
    morphology = data.morphology
    morphology[:, 2:6] = morphology[:, 2:6] / scale_factor

    ground_truth = np.loadtxt(os.path.join(new_path, 'membcurr'))
Beispiel #13
0
 dt = 2**(-4)
 rows = [2, 4, 8, 16]
 xmin, xmax = -100, 600
 ymin, ymax = -100, 100
 sim_type = {'1': "grid", '2': "random"}
 for i, rownb in enumerate(rows):
     for orientation in [1, 2]:
         fname = "Figure_6_" + sim_type[str(orientation)]
         c = sKCSD_utils.simulate(fname,
                                  morphology=2,
                                  simulate_what="symmetric",
                                  colnb=rownb,
                                  rownb=colnb,
                                  xmin=-100,
                                  xmax=500,
                                  ymin=-100,
                                  ymax=100,
                                  tstop=tstop,
                                  seed=1988,
                                  weight=0.04,
                                  n_syn=100,
                                  electrode_distribution=orientation,
                                  electrode_orientation=2,
                                  dt=2**(-4))
         data_dir.append(c.return_paths_skCSD_python())
 seglen = np.loadtxt(os.path.join(data_dir[0],
                                  'seglength'))
 ground_truth = np.loadtxt(os.path.join(data_dir[0],
                                        'membcurr'))
 ground_truth = ground_truth/seglen[:, None]*1e-3
 t1 = int(42/dt)
 t2 = int(5/dt)
Beispiel #14
0
 scale_factor_LFP = 1000
 R_inits = np.array([(2**(i - .5))/scale_factor for i in range(3, 7)])
 lambdas = np.array([(10**(-i))for i in range(5, 0, -1)])
 n_srcs = np.array([32, 64, 128, 512, 1024])
 x_ticklabels = [2**i for i in range(3, 7)]
 y_ticklabels = [str(lambd) for lambd in lambdas]
 colnb = 4
 rownb = 4
 c = sKCSD_utils.simulate(fname_base,
                          morphology=2,
                          colnb=colnb,
                          rownb=rownb,
                          xmin=0,
                          xmax=500,
                          ymin=-100,
                          ymax=100,
                          tstop=tstop,
                          seed=1988,
                          weight=0.04,
                          n_syn=100,
                          electrode_orientation=2,
                          simulate_what='symmetric',
                          dt=dt)
 data = utils.LoadData(c.return_paths_skCSD_python())
 ele_pos = data.ele_pos/scale_factor
 pots = data.LFP/scale_factor_LFP
 morphology = data.morphology
 morphology[:, 2:6] = morphology[:, 2:6]/scale_factor
 
 ground_truth = np.loadtxt(os.path.join(new_path,
                                        'membcurr'))