|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# -*- coding: utf-8 -*-
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'''plotting script for figure 4 in manuscript preprint on output of
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
example_parallel_network.py
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
Copyright (C) 2018 Computational Neuroscience Group, NMBU.
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
This program is free software: you can redistribute it and/or modify
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
it under the terms of the GNU General Public License as published by
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
the Free Software Foundation, either version 3 of the License, or
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
(at your option) any later version.
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
This program is distributed in the hope that it will be useful,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
GNU General Public License for more details.
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'''
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
from __future__ import division
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
import matplotlib.pyplot as plt
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
from matplotlib.gridspec import GridSpec
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
from matplotlib.collections import PolyCollection
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
from matplotlib.ticker import MaxNLocator
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
import os
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
import numpy as np
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
import h5py
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
from LFPy import NetworkCell
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
import example_parallel_network_plotting as plotting
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
from mpi4py import MPI
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# set up MPI environment
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
COMM = MPI.COMM_WORLD
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
SIZE = COMM.Get_size()
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
RANK = COMM.Get_rank()
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# # set default plotting parameters
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plt.rcParams.update({
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'axes.xmargin': 0.0,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'axes.ymargin': 0.0,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
})
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fontsize=14
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
titlesize=16
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
legendsize=12
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plt.rcParams.update({
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'axes.xmargin': 0.0,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'axes.ymargin': 0.0,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'axes.labelsize': fontsize,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'axes.titlesize': titlesize,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'figure.titlesize': fontsize,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'font.size': fontsize,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'legend.fontsize': legendsize,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
})
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
def plot_quantity_YXL(axes, PSET, quantity,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
y=['p23', 'b23', 'nb23', 'p4', 'ss4(L23)', 'ss4(L4)',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'b4', 'nb4', 'p5(L23)', 'p5(L56)', 'b5', 'nb5',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'p6(L4)', 'p6(L56)', 'b6', 'nb6'],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
label=r'$\mathcal{L}_{YXL}$', layers = ['L1', 'L2/3', 'L4', 'L5', 'L6'],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cmap=plt.get_cmap('inferno')):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'''make a bunch of image plots, each showing the spatial normalized
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
connectivity of synapses'''
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
if np.array(axes).ndim == 1:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
nrows = 1
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ncols = np.array(axes).size
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
(nrows, ncols) = np.array(axes).shape
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
#assess vlims
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
vmin = 0
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
vmax = 0
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for yi in y:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
if quantity[yi].max() > vmax:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
vmax = quantity[yi].max()
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for i, yi in enumerate(y):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax = np.array(axes).flatten()[i]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
masked_array = np.ma.array(quantity[yi], mask=quantity[yi]==0)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
im = ax.pcolormesh(masked_array,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
vmin=vmin, vmax=vmax,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cmap=cmap,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.invert_yaxis()
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.axis(ax.axis('tight'))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xticks(np.arange(len(y))+0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticks(np.arange(len(layers))+0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
if i % ncols == 0:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticklabels(layers, )
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylabel('$L$', labelpad=0.)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticklabels([])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
if i < ncols:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xlabel(r'$X$', labelpad=-1)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xticklabels(y, rotation=90)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xticklabels([])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_title(r'$Y=${}'.format(yi))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
#colorbar
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
if (i // ncols==0) and (i % ncols) == ncols-1:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
rect = np.array(ax.get_position().bounds)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
rect[0] += rect[2] + 0.0025
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
rect[2] = 0.005
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cax = fig.add_axes(rect)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cbar = plt.colorbar(im, cax=cax)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cbar.set_label(label, labelpad=0)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
def plot_multapseargs(ax, PSET, cmap=plt.get_cmap('inferno'),
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
data='multapseargs', cbarlabel=r'$\overline{n}_\mathrm{syn}$',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
key='loc'):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'''make an imshow of connectivity parameters'''
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
item = PSET.connParams[data]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
array = [[i[key] for i in j] for j in item]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
masked_array = np.ma.array(array, mask=np.array(array)==0.)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cmap.set_bad('k', 0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
im = ax.pcolormesh(masked_array, cmap=cmap, vmin=0, )
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.axis(ax.axis('tight'))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.invert_yaxis()
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.xaxis.set_ticks_position('top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xticks(np.arange(PSET.populationParameters.size)+0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticks(np.arange(PSET.populationParameters.size)+0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xticklabels(PSET.populationParameters['m_type'], rotation=270)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticklabels(PSET.populationParameters['m_type'], )
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.xaxis.set_label_position('top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xlabel(r'$Y$', labelpad=0)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylabel(r'$X$', labelpad=0, rotation=0)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
rect = np.array(ax.get_position().bounds)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
rect[0] += rect[2] + 0.0025
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
rect[2] = 0.005
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fig = plt.gcf()
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cax = fig.add_axes(rect)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cbar = plt.colorbar(im, cax=cax)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cbar.set_label(cbarlabel, labelpad=0)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
if __name__ == '__main__':
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# get simulation parameters
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
from example_parallel_network_parameters import PSET
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# cell type colors
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
colors = [plt.get_cmap('Set1', PSET.populationParameters.size)(i) for i in range(PSET.populationParameters.size)]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# Set up figure and subplots
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fig = plt.figure(figsize=(16, 10))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fig.subplots_adjust(left=0.075, right=0.95, hspace=0.2, wspace=0.7,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
bottom=0.05, top=0.95)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
gs = GridSpec(16, 40, hspace=0.2, wspace=0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
alphabet = 'ABCDEFG'
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
dz = 50 #spatial resolution of histograms
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# PANEL A. Morphology overview
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax = fig.add_subplot(gs[:12, :12])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plotting.remove_axis_junk(ax, lines=['top', 'bottom', 'right'])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
n_segs, areas = plotting.plot_m_types(ax, PSET, colors, spacing=300.)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_title('')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xticks([])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xticklabels([])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylabel('layer')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(-0.05, 1.05, alphabet[0],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
horizontalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
verticalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fontsize=16, fontweight='demibold',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
transform=ax.transAxes)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
axis = ax.axis()
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax = fig.add_subplot(gs[12:, :12])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.axis('off')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xlim(left=axis[0], right=axis[1])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# # table data with population sizes etc.
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
h_spacing=300.
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
v_spacing=100.
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
keys = ['m_type', 'm_type', 'e_type', 'me_type', 'n_seg', 'POP_SIZE', 'F_y', 'extrinsic_input_density', 'extrinsic_input_frequency',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'pop_args[loc]', 'pop_args[scale]']
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
labels = ['population ($X/Y$):', 'morphology type (m):', 'electric type (e):', 'cell model #:', 'segment count $n_\mathrm{seg}$:', 'population count $N_X$:', r'Occurrence $F_X$:', r'$n_\mathrm{ext}$:', r'$\nu_\mathrm{ext}$ (s$^{-1}$):',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
r'$\overline{z}_X^\mathrm{soma}$ ($\mu$m):', r'$\sigma_{\overline{z},X}^\mathrm{soma}$ ($\mu$m)']
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# PSET.populationParameters
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
z = -PSET.layer_data['thickness'].sum()
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylim(top=z-v_spacing, bottom=z-len(keys)*v_spacing+v_spacing)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for i, (label, key) in enumerate(zip(labels, keys)):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(axis[0], z-(i+1)*v_spacing, label, ha='right', va='top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for j, popData in enumerate(PSET.populationParameters):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
if key == 'pop_args[loc]':
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(j*h_spacing, z-(i+1)*v_spacing, int(popData['pop_args']['loc']), ha='center', va='top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
elif key == 'pop_args[scale]':
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(j*h_spacing, z-(i+1)*v_spacing, int(popData['pop_args']['scale']), ha='center', va='top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
elif key == 'me_type':
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(j*h_spacing, z-(i+1)*v_spacing, popData[key].lstrip(popData['m_type'] + '_' + popData['e_type']), ha='center', va='top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
elif key == 'n_seg':
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(j*h_spacing, z-(i+1)*v_spacing, n_segs[j], ha='center', va='top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
elif key == 'F_y':
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(j*h_spacing, z-(i+1)*v_spacing, '{:.2f}'.format(popData['POP_SIZE']/PSET.populationParameters['POP_SIZE'].sum()), ha='center', va='top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
elif key == 'extrinsic_input_density':
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(j*h_spacing, z-(i+1)*v_spacing, '{:.0f}'.format(int(areas[j]*popData[key])), ha='center', va='top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(j*h_spacing, z-(i+1)*v_spacing, popData[key], ha='center', va='top')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# PANEL B. Connection probability
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax = fig.add_subplot(gs[:3, 14:17])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plotting.plot_connectivity(ax, PSET, data='connprob', cbarlabel='')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.xaxis.set_ticks_position('bottom')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.xaxis.set_label_position('bottom')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_title(r'$C_{YX}$')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(-0.1, 1.15, alphabet[1],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
horizontalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
verticalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fontsize=16, fontweight='demibold',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
transform=ax.transAxes)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# PANEL C. Mean number of synapses per connection
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax = fig.add_subplot(gs[:3, 19:22])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plot_multapseargs(ax, PSET, data='multapseargs', cbarlabel='', key='loc')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticklabels([])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylabel('')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.xaxis.set_ticks_position('bottom')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.xaxis.set_label_position('bottom')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_title(r'$\overline{n}_\mathrm{syn}$')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(-0.1, 1.15, alphabet[2],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
horizontalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
verticalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fontsize=16, fontweight='demibold',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
transform=ax.transAxes)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# PANEL D. Layer specificites of connections
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
axes = [fig.add_subplot(gs[:3, i*4+4:i*4+8]) for i in range(5, 9)]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plot_quantity_YXL(axes=axes, PSET=PSET,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
quantity=PSET.L_YXL_m_types,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
y=PSET.populationParameters['m_type'],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
layers = PSET.layer_data['layer'],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
label=r'$\mathcal{L}_{YXL}$')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for ax in axes:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylabel('')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
axes[0].text(-0.075, 1.15, alphabet[3],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
horizontalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
verticalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fontsize=16, fontweight='demibold',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
transform=axes[0].transAxes)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# PANEL E. Population illustration
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax = fig.add_subplot(gs[6:, 13:20])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# plot electrode contact points
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.plot(PSET.electrodeParams['x'], PSET.electrodeParams['z'], 'ko',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
markersize=5, clip_on=False)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# plot ECoG electrode
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.plot([-PSET.ecogParameters['r'], PSET.ecogParameters['r']], [PSET.ecogParameters['z'][0]]*2, 'gray', lw=5, zorder=-1, clip_on=False)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plotting.remove_axis_junk(ax)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# draw the first NCELLS cells in each population
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
NCELLS = 20
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
CWD=PSET.CWD
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
CELLPATH=PSET.CELLPATH
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# cell positions and rotations file:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
f = h5py.File(os.path.join(PSET.OUTPUTPATH,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'cell_positions_and_rotations.h5'), 'r')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for i, data in enumerate(PSET.populationParameters):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
NRN = data["me_type"]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
os.chdir(os.path.join(CWD, CELLPATH, NRN))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for j in range(NCELLS):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
try:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cell = NetworkCell(**PSET.cellParameters[NRN])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cell.set_pos(x=f[NRN]['x'][j], y=f[NRN]['y'][j], z=f[NRN]['z'][j])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
cell.set_rotation(x=f[NRN]['x_rot'][j], y=f[NRN]['y_rot'][j], z=f[NRN]['z_rot'][j])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
zips = []
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for x, z in cell.get_idx_polygons(projection=('x', 'z')):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
zips.append(list(zip(x, z)))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
polycol = PolyCollection(zips,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
edgecolors=colors[i],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
linewidths=0.05,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
facecolors=colors[i],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
label=NRN,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
zorder=f[NRN]['y'][j],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.add_collection(polycol)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
neuron.h('forall delete_section()')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
except IndexError:
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
pass # NCELLS > cell count in population, plotting all there is.
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
os.chdir(CWD)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.axis(ax.axis('equal'))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylim(-PSET.layer_data['thickness'].sum(), 0)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# draw lines showing the layer boundaries
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.hlines(np.r_[0., -PSET.layer_data['thickness'].cumsum()], -536.09990331936808, 536.09990331936808, 'k', lw=0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticks(PSET.layer_data['center'])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticklabels(PSET.layer_data['layer'])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylabel('layer')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xticks([-data['pop_args']['radius'], 0, data['pop_args']['radius']])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xlabel('$x$ ($\mu$m)')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(-0.05, 1.05, alphabet[4],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
horizontalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
verticalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fontsize=16, fontweight='demibold',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
transform=ax.transAxes)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# PANEL F. Population densities across depth
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax = fig.add_subplot(gs[6:, 20:24])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plotting.remove_axis_junk(ax)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.text(-0.075, 1.05, alphabet[5],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
horizontalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
verticalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fontsize=16, fontweight='demibold',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
transform=ax.transAxes)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# open file for reading
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
f = h5py.File(os.path.join(PSET.OUTPUTPATH,
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
'cell_positions_and_rotations.h5'), 'r')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# spatial bins across depth
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
bins = np.arange(0, -PSET.layer_data['thickness'].sum(), -50)[::-1]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for color, post, key in zip(colors, PSET.populationParameters['m_type'], PSET.populationParameters['me_type']):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.hist(f[key]['z'], bins=bins, color=color, alpha=1, orientation='horizontal', histtype='step', label=r'{}'.format(post), clip_on=False)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xlabel('count')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
axis = ax.axis('tight')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.axis(axis)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylim(-PSET.layer_data['thickness'].sum(), 0)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# draw lines showing the layer boundaries
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.hlines(np.r_[0., -PSET.layer_data['thickness'].cumsum()], axis[0], axis[1], 'k', lw=0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticks(PSET.layer_data['center'])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticklabels([])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.legend(loc=8)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.xaxis.set_major_locator(MaxNLocator(3))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# PANEL G. Resulting densities of synapses across depth onto each cell type
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
axes = [fig.add_subplot(gs[6:, i*4+4:i*4+8]) for i in range(5, 9)]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
axes[0].text(-0.075, 1.05, alphabet[6],
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
horizontalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
verticalalignment='center',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fontsize=16, fontweight='demibold',
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
transform=axes[0].transAxes)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# spatial bins across depth
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
bins = np.arange(0, -PSET.layer_data['thickness'].sum(), -50)[::-1]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# file output
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
f = h5py.File(os.path.join(PSET.OUTPUTPATH, 'synapse_positions.h5'))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for i, (m_post, post) in enumerate(zip(PSET.populationParameters['m_type'], PSET.populationParameters['me_type'])):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax = axes[i]
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plotting.remove_axis_junk(ax)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_xlabel('count ($10^3$)')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticklabels([])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_title(r'$Y=${}'.format(m_post))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
for color, m_pre, pre in zip(colors, PSET.populationParameters['m_type'], PSET.populationParameters['me_type']):
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
key = '{}:{}'.format(pre, post)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.hist(f[key]['z'], bins=bins, color=color, alpha=1, orientation='horizontal', histtype='step', label=r'{}'.format(m_pre), clip_on=False, weights=1E-3*np.ones(f[key]['z'].size))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
axis = ax.axis('tight')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.axis(axis)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_ylim(-PSET.layer_data['thickness'].sum(), 0)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
# draw lines showing the layer boundaries
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.hlines(np.r_[0., -PSET.layer_data['thickness'].cumsum()], axis[0], axis[1], 'k', lw=0.5)
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.set_yticks(PSET.layer_data['center'])
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
ax.xaxis.set_major_locator(MaxNLocator(2))
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
fig.savefig(os.path.join(PSET.OUTPUTPATH, 'figure_4.pdf'), bbox_inches='tight')
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
|
|
![](https://seccdn.libravatar.org/avatar/5bd1084ba3c410e1218065d166e726101cd2f8167f2ac85e81fd841d128703ef?s=16&d=retro) |
7d68d07 |
plt.show()
|