Skip to content

Instantly share code, notes, and snippets.

@jlstevens
Created November 1, 2012 16:43
Show Gist options
  • Save jlstevens/3994938 to your computer and use it in GitHub Desktop.
Save jlstevens/3994938 to your computer and use it in GitHub Desktop.
Displaying activity in IPython notebook
{
"metadata": {
"name": "Displaying Topographica sheets"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"%pylab inline"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
"For more information, type 'help(pylab)'.\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import topo"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%run -i ./examples/gcal.ty"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def imact(objs, size=1.0, show_axes=False, label_name=True, norm_type=0, fig={},\n",
" show={'interpolation':'nearest', 'cmap':plt.cm.gray}):\n",
" \"\"\"\n",
" Displays the activity array of the given list of objects in row format.\n",
"\n",
" size: An overall size factor.\n",
" show_axes: Whether or not to show axes for each subplot.\n",
" label_name: Show the object name above the subplot\n",
" norm_type: 0:No normalization, 1:Individually, 2: Together.\n",
"\n",
" fig: Extra kwargs for the pyplot figure.\n",
" show: Extra kwargs for imshow. Note: norm will override norm_type if set.\n",
" \"\"\"\n",
"\n",
" fig = plt.figure(*fig)\n",
" (width, height) = fig.get_figwidth(), fig.get_figheight()\n",
" fig.set_figwidth(width*size)\n",
" fig.set_figheight(height*size)\n",
" \n",
" if norm==1:\n",
" show= dict({'norm':matplotlib.colors.Normalize()}, **show)\n",
" if norm==2:\n",
" activities = [obj.activity for obj in objs]\n",
" vmax = min(act.max() for act in activities)\n",
" vmin = min(act.min() for act in activities)\n",
" show= dict({'norm':matplotlib.colors.Normalize(vmin=vmin, vmax=vmax)}, **show)\n",
"\n",
" plot_num = len(objs)\n",
" for (i, obj) in enumerate(objs):\n",
" ax = plt.subplot(1,plot_num,i)\n",
" if label_name: plt.title(obj.name)\n",
" if not show_axes:\n",
" ax.yaxis.set_visible(False)\n",
" ax.xaxis.set_visible(False)\n",
" imshow(obj.activity, **show)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"topo.sim.run(1)\n",
"imact([topo.sim.Retina, topo.sim.LGNOn, topo.sim.LGNOff, topo.sim.V1], size=3, norm_type=1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAA/oAAAD3CAYAAACtkC/iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlwVeX9+PFPiIGQfWNfEkBWEXEZKlLEhTqIldpSceuI\ndjqdjh2l7dSxajt1Rm2/o06daaetTu2MWtraamtxKY6CbFK0iEVQECQSTSAsISxZzAKc3x/93dPP\n8znn3puEJPfm5P2aceZ5znnuzbnBe3Of83w+nyfD8zxPAAAAAABAJAxI9QUAAAAAAIDuw0QfAAAA\nAIAIYaIPAAAAAECEMNEHAAAAACBCmOgDAAAAABAhTPQBAAAAAIgQJvoAAMf+/ftl1qxZkpubK3ff\nfbecPn1abr75ZsnPz5eLL7441ZcHAAB6SH5+vlRVVaX6MtANmOinWEVFhaxevTpwvKGhQX7wgx/I\nuHHjJD8/X4YOHSqLFi2SjRs3+mMGDBggM2bMEM/z/GM//vGP5fbbb/f7ra2tcu+990p5ebnk5+fL\npEmT5LHHHuvZFwWgy9LhM+GJJ56QsWPHSlNTkzz66KOydu1a2bBhgxw+fFjefvvtHnjVAHrCggUL\n5Kc//Wng+IoVK2TEiBGyatUqufzyy6WoqEjGjRuXgisE0B0qKiokJydH8vPzpbi4WJYsWSL19fVJ\nH3fZZZfJ73//e+dYQ0ODVFRU9NCVojcx0U+xjIwMycjIcI61trbKFVdcIVVVVbJ69WppaGiQqqoq\nWbp0qaxatcoZW1tbK88995zzfNr1118vmzZtkrVr10pDQ4O88MIL8vTTT8uyZct67kUB6LJ0+Eyo\nqamRqVOnOv2KigrJzs7uzpcKoIfddtttsnz58sDxP/zhD/KNb3xDCgsL5Vvf+pY8+uijKbg6AN0l\nIyNDXnnlFWloaJCPPvpIdu/eLQ888ECHHocI85BSFRUV3urVq51jv/vd77yKigqvra0t4WMzMjK8\nRx55xJs4caJ38uRJz/M87/777/duu+02z/M8b9WqVV5OTo5XV1fnPG779u1eZmamV1lZ6Xme582b\nN8/7yU9+4n3xi1/0cnNzvblz53qHDh3qrpcIoBNS+ZmwZ88eb+nSpV5WVpY3cOBALy8vz3vyySe9\n7OxsLzMz08vLy/MeeOCBbny1AHpSc3OzV1hY6K1fv94/Vl9f72VnZ3vbtm3zj73xxhteRUVFKi4R\nQDew3x3uvvtub8GCBZ7ned7q1au9mTNnevn5+d7kyZO9lStXep7neffdd5+XmZnpZWdne3l5ed6d\nd97ped5/v0vE5ghLly717rjjDu/LX/6yl5eX55133nnerl27/J9zxx13eCNHjvRyc3O96dOne6tW\nreqtl4wOYEU/Da1atUoWLlwoWVlZScd+9atflYKCAnn66acD59544w259NJLpbS01Dk+ffp0mTBh\nghMe/Oc//1n++Mc/Sl1dnWRmZsr//d//nfHrANA9eusz4c0335Snn35abrnlFrnnnnukoaFBvv3t\nb8sTTzwhs2fPloaGhtAwYADpafDgwbJkyRJ59tln/WN//etfZerUqXLuueem8MoAdDfv/6ft1dTU\nyGuvvSazZ8+WyspKWbx4sTz22GNy4sQJefLJJ+XGG2+U2tpaefjhh2Xu3Lny61//WhoaGuSXv/xl\n6PP+5S9/kYcffliOHTsm06dPl3vvvdc/N2/ePNm1a5c0NjbKd77zHbn++uulpaWlV14vkmOin4aO\nHDkiZWVlfn/r1q1SXFwshYWFMmXKFGfsgAED5MEHH5QHH3xQ2tvbnXN1dXUyZMiQ0J8xdOhQqaur\nE5H/hu3cfvvtMnbsWMnOzpYlS5bI+++/382vCkBX9fZngud5Tp6/bgPoW5YuXSovvPCCtLW1iYjI\ns88+K0uXLk3xVQHoTp7nyXXXXScFBQUyduxYmTBhgtx///2yfPlyufbaa+XKK68Ukf9OzC+++GJ5\n+eWXncfGk5GRIV/72tdkxowZkpmZKbfccoszR1iyZInk5eWJiMh3v/tdyczMlO3bt/fQq0RnMdFP\nQ6WlpXLo0CG/P3PmTDl69Kj8/e9/l9bW1sD4q6++WkaPHi1PPvmkk2szZMgQ53m0gwcPOhOH4cOH\n++3BgweH/hwAqdHbnwnk7AHRMWfOHCkrK5MXX3xRKisrZfPmzXLzzTen+rIAdKOMjAxZsWKFnDhx\nQtatWydr1qyRLVu2SE1NjTz//PNSXFzs/7dx40anUF+yv/nDhg3z23aO8OCDD8rEiROlsLBQiouL\npb6+XhobG7v/BaJLmOinoSuvvFJWrlzp332PSXTH7eGHH5af/exn0tzc7DzPhg0b/FW6mO3bt0tl\nZaVcccUV3XvhAHoEnwkAzsStt94qzz77rCxfvlwWLFgQN7IHQN83d+5cueuuu+See+6RESNGyDe/\n+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\nAAAASUVORK5CYII=\n"
}
],
"prompt_number": 5
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment