コード例 #1
0
def conn_figure_3d(fig,
                   layer,
                   connd,
                   targets=None,
                   showmask=True,
                   xticks=range(-5, 6),
                   yticks=range(-5, 6),
                   xlim=[-5.5, 5.5],
                   ylim=[-5.5, 5.5]):
    if targets is None:
        targets = ((nest.FindCenterElement(layer), 'red'), )

    nest.PlotLayer(layer, fig=fig, nodesize=20, nodecolor=(.5, .5, 1.))
    for src, clr in targets:
        if showmask:
            mask = connd['mask']
        else:
            mask = None
        nest.PlotTargets(src,
                         layer,
                         fig=fig,
                         mask=mask,
                         probability_parameter=None,
                         src_size=250,
                         tgt_color=clr,
                         tgt_size=60,
                         probability_cmap='Greens')

    ax = fig.gca()
    # ax.set_aspect('equal', 'box')
    plt.draw()
コード例 #2
0
    def test_PlotLayer(self):
        """Test plotting layer."""
        nest.ResetKernel()
        layer = nest.Create('iaf_psc_alpha',
                            positions=nest.spatial.grid(shape=[3, 3],
                                                        extent=[2., 2.],
                                                        edge_wrap=True))
        nest.PlotLayer(layer)

        plotted_datapoints = plt.gca().collections[-1].get_offsets().data
        reference_datapoints = nest.GetPosition(layer)
        self.assertTrue(np.allclose(plotted_datapoints, reference_datapoints))
コード例 #3
0
def conn_figure(fig,
                layer,
                connd,
                targets=None,
                showmask=True,
                kern=None,
                xticks=range(-5, 6),
                yticks=range(-5, 6),
                xlim=[-5.5, 5.5],
                ylim=[-5.5, 5.5]):
    if targets is None:
        targets = ((nest.FindCenterElement(layer), 'red'), )

    nest.PlotLayer(layer, fig=fig, nodesize=60)
    for src, clr in targets:
        if showmask:
            mask = connd['mask']
        else:
            mask = None
        nest.PlotTargets(src,
                         layer,
                         fig=fig,
                         mask=mask,
                         probability_parameter=kern,
                         src_size=250,
                         tgt_color=clr,
                         tgt_size=20,
                         mask_color='red',
                         probability_cmap='Greens')

    beautify_layer(layer,
                   fig,
                   xlim=xlim,
                   ylim=ylim,
                   xticks=xticks,
                   yticks=yticks,
                   xlabel='',
                   ylabel='')
    fig.gca().grid(False)
コード例 #4
0
#
# For reference purposes, e.g., printing, we collect all populations
# in a tuple:
populations = (retina, TpRelay, TpInter, Rp) + tuple(
    Vp_h_layers.values()) + tuple(Vp_v_layers.values())

##############################################################################
# Inspection
# ----------
#
# We can now look at the network using `PrintNodes`:
nest.PrintNodes()

# We can also try to plot a single layer in a network. All layers have
# equal positions of the nodes.
nest.PlotLayer(Rp)
plt.title('Layer Rp')

##############################################################################
# Synapse models
# =-------------
#
# Actual synapse dynamics, e.g., properties such as the synaptic time
# course, time constants, reversal potentials, are properties of
# neuron models in NEST and we set them in section `Neuron models`_
# above. When we refer to *synapse models* in NEST, we actually mean
# connectors which store information about connection weights and
# delays, as well as port numbers at the target neuron (``rport``)
# and implement synaptic plasticity. The latter two aspects are not
# relevant here.
#
コード例 #5
0
ファイル: layers.py プロジェクト: huzhoudaxia/nest-simulator
    ax.grid(True)
    ax.set_axisbelow(True)
    ax.set_xlabel(xlabel)
    ax.set_ylabel(ylabel)
    return


# --------------------------------------------------

nest.ResetKernel()

#{ layer1 #}
l = nest.Create('iaf_psc_alpha', positions=nest.spatial.grid(shape=[5, 5]))
#{ end #}

fig = nest.PlotLayer(l, nodesize=50)
beautify_layer(l, fig, xlabel='x-axis (columns)', ylabel='y-axis (rows)')
ax = fig.gca()
tx = []
for r in range(5):
    tx.append(
        ax.text(0.65,
                0.4 - r * 0.2,
                str(r),
                horizontalalignment='center',
                verticalalignment='center'))
    tx.append(
        ax.text(-0.4 + r * 0.2,
                0.65,
                str(r),
                horizontalalignment='center',
コード例 #6
0
"""

import nest
import matplotlib.pyplot as plt

nest.ResetKernel()

pos = nest.spatial.free(
    [nest.random.uniform(-0.75, 0.75),
     nest.random.uniform(-0.5, 0.5)],
    extent=[2., 1.5])

l1 = nest.Create('iaf_psc_alpha', 12, positions=pos)

nest.PrintNodes()

nest.PlotLayer(l1, nodesize=50)

# beautify
plt.axis([-1.0, 1.0, -0.75, 0.75])
plt.axes().set_aspect('equal', 'box')
plt.axes().set_xticks((-0.75, -0.25, 0.25, 0.75))
plt.axes().set_yticks((-0.5, 0, 0.5))
plt.grid(True)
plt.xlabel('Extent: 2.0')
plt.ylabel('Extent: 1.5')

plt.show()

# plt.savefig('grid_iaf_irr.png')
コード例 #7
0
ファイル: layers.py プロジェクト: terhorstd/nest-simulator
    ax.set_axisbelow(True)
    ax.set_xlabel(xlabel)
    ax.set_ylabel(ylabel)
    return


# --------------------------------------------------

nest.ResetKernel()

#{ layer1 #}
layer = nest.Create('iaf_psc_alpha',
                    positions=nest.spatial.grid(shape=[5, 5]))
#{ end #}

fig = nest.PlotLayer(layer, nodesize=50)
beautify_layer(layer, fig, xlabel='x-axis (columns)', ylabel='y-axis (rows)')
ax = fig.gca()
tx = []
for r in range(5):
    tx.append(ax.text(0.65, 0.4 - r * 0.2, str(r),
                      horizontalalignment='center',
                      verticalalignment='center'))
    tx.append(ax.text(-0.4 + r * 0.2, 0.65, str(r),
                      horizontalalignment='center',
                      verticalalignment='center'))

# For bbox_extra_artists, see
# https://github.com/matplotlib/matplotlib/issues/351
# plt.savefig('../user_manual_figures/layer1.png', bbox_inches='tight',
#             bbox_extra_artists=tx)
コード例 #8
0
BCCN Tutorial @ CNS*09
Hans Ekkehard Plesser, UMB
"""

import nest
import matplotlib.pyplot as plt
import numpy as np

for ctr in [(0.0, 0.0), (-2.0, 2.0), (0.5, 1.0)]:
    plt.figure()
    nest.ResetKernel()

    l1 = nest.Create('iaf_psc_alpha',
                     positions=nest.spatial.grid(shape=[4, 3],
                                                 extent=[2., 1.5],
                                                 center=ctr))

    nest.PlotLayer(l1, nodesize=50, fig=plt.gcf())

    # beautify
    plt.axis([-3, 3, -3, 3])
    plt.axes().set_aspect('equal', 'box')
    plt.axes().set_xticks(np.arange(-3.0, 3.1, 1.0))
    plt.axes().set_yticks(np.arange(-3.0, 3.1, 1.0))
    plt.grid(True)
    plt.xlabel('4 Columns, Extent: 1.5, Center: %.1f' % ctr[0])
    plt.ylabel('2 Rows, Extent: 1.0, Center: %.1f' % ctr[1])

    plt.show()
    # plt.savefig('grid_iaf_oc_{}_{}.png'.format(ctr[0], ctr[1]))