{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "%matplotlib inline"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "\n# Create a 4x3 grid with one pyramidal cell and one interneuron at each position\n\nBCCN Tutorial @ CNS*09\nHans Ekkehard Plesser, UMB\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "import nest\nimport matplotlib.pyplot as plt\nimport numpy as np\n\nnest.ResetKernel()\n\nnest.CopyModel('iaf_psc_alpha', 'pyr')\nnest.CopyModel('iaf_psc_alpha', 'in')\n\npos = nest.spatial.grid(shape=[4, 3], extent=[2., 1.5])\n\nctx_pyr = nest.Create('pyr', positions=pos)\nctx_in = nest.Create('in', positions=pos)\n\nnest.PrintNodes()\n\n# extract position information\nppyr = nest.GetPosition(ctx_pyr)\npin = nest.GetPosition(ctx_in)\n\nppyr_x = np.array([x for x, y in ppyr])\nppyr_y = np.array([y for x, y in ppyr])\n\npin_x = np.array([x for x, y in pin])\npin_y = np.array([y for x, y in pin])\n\n# plot\nplt.clf()\nplt.plot(pin_x - 0.05, ppyr_y - 0.05, 'bo', markersize=20,\n         label='Pyramidal', zorder=2)\nplt.plot(pin_x + 0.05, pin_y + 0.05, 'ro', markersize=20,\n         label='Interneuron', zorder=2)\nplt.plot(pin_x, ppyr_y, 'o', markerfacecolor=(0.7, 0.7, 0.7),\n         markersize=60, markeredgewidth=0, zorder=1, label='_nolegend_')\n\n# beautify\nplt.axis([-1.0, 1.0, -1.0, 1.0])\nplt.axes().set_aspect('equal', 'box')\nplt.axes().set_xticks((-0.75, -0.25, 0.25, 0.75))\nplt.axes().set_yticks((-0.5, 0, 0.5))\nplt.grid(True)\nplt.xlabel('4 Columns, Extent: 1.5')\nplt.ylabel('3 Rows, Extent: 1.0')\nplt.legend(numpoints=1)\n\nplt.show()\n\n# plt.savefig('ctx_2n.png')"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.8.6"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}