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()
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))
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
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
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
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 = []
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'))
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)
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,
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,
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'))
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)
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'))