{ "metadata": { "name": "adaptive" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from display import parse_and_show, displacement_field\n", "import matplotlib.pyplot as plt\n", "import subprocess\n", "import time\n", "import numpy as np\n", "import cPickle as pickle\n", "import os\n", "import sys\n", "from config import frame_cols, frame_rows, get_px_ndx, get_image_pair" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "image_dir = '../../data/vort_sim'\n", "im_pair = get_image_pair(image_dir)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 44 }, { "cell_type": "code", "collapsed": false, "input": [ "X, Y, U, V = displacement_field(pickle.load(open(os.path.join(image_dir, 'stdout.pck'), 'rb')), image_dir)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy import mgrid, signal" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "def gauss_kern(size, sizey=None):\n", " \"\"\" Returns a normalized 2D gauss kernel array for convolutions \"\"\"\n", " size = int(size)\n", " if not sizey:\n", " sizey = size\n", " else:\n", " sizey = int(sizey)\n", " x, y = mgrid[-size:size+1, -sizey:sizey+1]\n", " g = exp(-(x**2/float(size)+y**2/float(sizey)))\n", " return g / g.sum()\n", "def blur_image(im, n, ny=None) :\n", " \"\"\" blurs the image by convolving with a gaussian kernel of typical\n", " size n. The optional keyword argument ny allows for a different\n", " size in the y direction.\n", " \"\"\"\n", " g = gauss_kern(n, sizey=ny)\n", " improc = signal.convolve(im,g, mode='valid')\n", " return(improc)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "Z = np.power(U, 2) + np.power(V, 2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "plt.contourf(Z)\n", "plt.colorbar()\n", "plt.gca().invert_yaxis()\n", "plt.savefig('sample_density.pdf')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAVUAAAD9CAYAAAAMNOQZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnX10FNX5x78biVUaBUGyoYQ2HCSSQEhWg7ESISFuOFGJ\ngSA1WsgRWuFY7cG2Emj/6FSPEERLwZeiFjBCf0F65EikAQmSDTQUUiUovmKF1EBDFELA8FJCMr8/\nkll2N/syMzsv9848n3P2ZLM7c+eZyeazz33unRmHKIoiCIIgCE2IMTsAgiAIK0FSJQiC0BCSKkEQ\nhIaQVAmCIDSEpEoQBKEhJFWCIAgNUS3V7du3Y/To0Rg1ahSWLVumZUwEQRCGcvHiRWRlZSEjIwOp\nqalYvHgxAODJJ59ESkoK0tPTMX36dJw5cyZiWw4181S7urpw8803Y+fOnRg2bBjGjx+PyspKpKSk\nKN8bgiAIBjh//jz69++Py5cvIzs7G8899xwuXLiAvLw8xMTEYNGiRQCA8vLysO2oylQbGhpw0003\nISkpCbGxsXjggQewZcsWNU0RBEEwQf/+/QEAly5dQldXFwYNGgS3242YmB5NZmVl4dixYxHbUSXV\n48ePY/jw4d7fExMTcfz4cTVNEQRBMEF3dzcyMjLgdDqRm5uL1NRUv/fXrl2Lu+++O2I7/dRs3OFw\naLocQRAEAERz1vz1Dge+U7B8XFwcvvvuyhoxMTE4ePAgzpw5gylTpsDj8SAnJwcA8Mwzz+Dqq6/G\ngw8+GLFdVVIdNmwYmpubvb83NzcjMTEx+MJ12l1aoGDiZtXrfim8iVHCT2QvPx+vqN6WHCqFr1Ai\njNS0zdWYp2q9+XhFl3iiQa941ByjwM/Ott3Tr7wpaBCUUo4KwIgoN1y7X/k6uVnBX9ciHgHApOiS\nsO8A/EPB8tkdHUFfHzBgAO655x68//77yMnJweuvv47q6mq89957stpVJdXMzEx8+eWXaGpqwg9+\n8AO8+eabqKysVNOUbKIRqhpWY57uYtWa+XhFtVjtgpK/abBjabpQtUBLoWqFoG/zkTh58iT69euH\ngQMH4sKFC6ipqcHvf/97bN++HcuXL0ddXR2uueYaWW2pkmq/fv3w4osvYsqUKejq6sLcuXMtOfLP\no1jtTOGHO/q8VpWer7q9wC8pEqp1aWlpQWlpKbq7u9Hd3Y1Zs2YhLy8Po0aNwqVLl+B2uwEAP/7x\nj/Hyyy+HbUvVlCq5OBwOzbr/0WaqpzwfY3DO2Kjj0EqyhzxtSMsZpElbgajJVid4luoWjxqUHp9g\nQpWIRqyrMc/vs8OEWE97gBty1K2rh1SjiceXWkdUNVWHw6Gs+4/oarihsM0ZVVoIFVBftwxET4Gp\nEX99zmIdIlGPVkLVAt/PjtFlqKAYKVQ5aCFUC2EbqWoJD3VLu5Qt/IS6LMgjcBktEfRpVhFyRamX\nUIk+cCFVJrKDAKwoVh72STE6iNXv8yho1qxyJFFGEiYJ1VC4kCqr8CAhEitUizXcsTBdrIGiDCbO\n2v3RC9UGg1Raw7xUWcxSfeFBQnYpBchBt4yVBXwzVy2yUxKqKlRNqTIK5j60HGP7OazLAJTJX1zu\nsSqYuLlnRoAA7TNWNWLUqqtPQlUNs5kqT0K1taxYQc7VJ2WWAUz/e2qVaaqFhBoVTGeqPMHDiQJW\ny1ZVdeV7M9ZQJwqYfnzMHlQioUYNs5kqj5j+DykDOeLnYT/6TKWKQH1lzyPS8qx/MRLsQ1LVGB6E\nxLtY1Qi1z/Mg66nJfP3OsNKL3Ky+D722Q0QNSVUHWBaSBK9ijUaofV4LcqKAEgwTqpLXtd4OoRiS\nqk6sxjy/B4vwKla5BBNqJAo/3CHruPQRqqB8W4Q1IakaBKtyohpicObjFb+HIZg1SMVClmr2AJ2G\nkFQNhMRqHGqyVIlgtVXfY6RLt99CUlGMxfadpGowrIrVSkQjVFMwc5K/2VhlP3xgcp4qTxP/1RAo\nVhYyRR7msMoZpLKFUHnGBvvLXKZqdaEGgxWZhZI7C/FZUqhyMEJCRonOBkIFGJOqHYUqwYK4ADay\n5rDYSagSVhCrTYQKMNr9tyusnOrKQgy+RJqUb6RQDZmbGoza/fqP0uu1DRsJFSCpMgeL9VaWMUqo\ninoSkkRYmKpkBhxKtLm5GbNnz8Y333wDh8OBRx55BL/85S/R0NCAxx57DJ2dnejXrx9efvlljB8/\nPmxbTHX/ib6wUhYwk2hu3BeMCSW9T8oCHlpvT2u58CArHmIMQmxsLFasWIFPPvkE+/btw0svvYTP\nPvsMCxcuxNNPP43GxkY89dRTWLhwYcS2SKocQGL1wUd+emSpWgs8pGTUXt4v0npmZsecChUAEhIS\nkJGRAQCIi4tDSkoKjh8/jqFDh+LMmTMAgPb2dgwbNixiW9T95wRW6q1G4/1CSdf4Bn4KLlgdNYG1\nSr3kI20jN8t4wXEs1ECamprQ2NiI22+/HaNGjUJ2djZ+85vfoLu7G//85z8jrk9S5Qg7ilWP+bP1\nlcAEoI9YNc9SfZHEapR8jNwWQ0L1lnaC4GkFPN/4vPBx32U6OjowY8YMrFy5EnFxcSgqKsKqVasw\nbdo0/O1vf8OcOXNQU1MTNgaHKIqiuvAj43A4gDr5zdt5SpVa7CLZwg939JlOFU3337euKkemktiD\njv4LPs9Zu2K/2njClRF028fbEY2OHA4HxDBS7bN8Jfy219nZiXvvvRcFBQVYsGABAOD666/H2bNn\nAfQsO3DgQG85IBRUU+Ucq9dbCz/c4SdU34tNh8tKIuF7+b+oygqCz3OGMraoCVcLtiCiKGLu3LlI\nTU31ChUAbrrpJtTV1QEAdu3aheTk5IhtUfffAlitLBDs7KnArLS+MjqpBrZR+OEO5d1/wec5q7KJ\npgxgVC2YAerr67FhwwaMGzcOLpcLALBkyRK8+uqr+MUvfoH//e9/uPbaa/Hqq69GbIukahGsIlY5\nQpWQpGjK2VRCwO9WlY/RtWCTyM7ORnd3d9D39u9Xtu8kVQsRrBTAk2iVXtUfMEaofeqpgv7bVAWd\nEcUEVFMl2MNHqEZloaG6/twIVYIEaDokVYvDy0BWsMEiVi6Ssm339B6ZCiYHIhcSq6mEleqcOXPg\ndDqRlpbmfa2trQ1utxvJycnIz89He3u77kES0cGLWAGougGfXqzGvCtC5Q1JrCRYwwk7T3XPnj2I\ni4vD7NmzcejQIQDAwoULceONN2LhwoVYtmwZTp8+jfLy8uCN0zxV2yO3puvNVJf5j8obka1OKEGf\n+apRCZVEphJz56lqRdiBqjvvvBNNTU1+r1VVVXnnbZWWliInJyekVAlCLZJYzRjdjyhUkiYRBsU1\n1dbWVjidTgCA0+lEa2ur5kER1kFR6WFZcIFGOx9V7rYlSKhENEQ1pcrhcPR08cOxTrjyPCMHcOVE\ns0mCQ9TOoVU6wV+LksFqzOsRarDpSSRUjTnQ+7AWiqXqdDpx4sQJJCQkoKWlBfHx8eFXeFhQGRph\nJdTOoZUjSKkm6v1d6bqhMOJq+7bmlt6HxF/MCkRTFEu1sLAQFRUVKCsrQ0VFBYqKivSIi7ABWpwF\nNuFg3zmmhWU9g14Tgq0QSMCVqky7XQphGcJKtaSkBHV1dTh58iSGDx+Op556CosWLcLMmTOxZs0a\nJCUlYdOmTUbFShB+TDgI3J3+FoArMiyYuBlI73lfkitBGElYqVZWBu8/7dy5U5dgCPuhNluVhOo3\nqCT0ynViT2lB7gVSQl6lKrDrb4Nz4InooXP/CdNZjXlYnT4P1WXF8rrs6OnyBxulL5i4WbGkJfn6\nDVKFgsRKRICkSjDD3elvYf7/vdIncwyWcd63+11gks9AkqBOqBKrMQ/bJk+nO6ESUUNSJZhiNeZ5\na6Kh5rhu2z29R6gSgsFCpWyVCANJlWAO7xlNgO7n3fttS0l2SmIlQkBXqSKYRPZ1IGr3hxSv91Ys\nIZAy4YKJm1Gwa7NygVOJgAgCSZVgivl4xfsomChTdLX7sW3ydL9ygfe+ViHuQeW7bPWHxaj+sBhb\nJk4hsRJRQ91/ghnmI2CQKh3ARGCbIONqUbX7sW33dMyf2FtX9bmOwAT0zFn1G+XvpfrDYtRn9Dwv\nPLgDWyZOwX3Cuz0vRNqmBJ3OSvhAmSrhh2+mqPc2QhLsmqqCjIaFK8IMd4qqtO3qD4v9t9Wb1XpL\nD3K2GQzKXrmjubkZubm5GDNmDMaOHYtVq1b5vf/8888jJiYGbW1tEduiTJUwHe9A0UQA6f5nQqkZ\nsCr8cAfqfX6vr7ySrXqXQe/zsp736ivhvaaq36mqgrJte6GBLK6IjY3FihUrkJGRgY6ODtx6661w\nu91ISUlBc3Mzampq8KMf/UhWWyRVwktg9jgfr2h+14BwGap0NlSfKVVCwIIqZCWJ1Y+yKz8n9Ar1\nvt3vKm6b4J+EhAQkJCQAAOLi4pCSkoL//ve/SElJwa9+9Ss8++yzuO+++2S1RVIlAISWnZZilVtS\n8LvZnuDzRpSZX2BJYALgFWtVen7o/RRA2aoF8LQCnm8iL9fU1ITGxkZkZWVhy5YtSExMxLhx42Rv\nh6RKRJRdsPeVilauUPt0vX0JJinf+qXQux0Ft7eWxOo3XzUYQpB4rIp0THn8QigL/VZO70PiDxl9\nl+no6MCMGTOwcuVKxMTEYMmSJaipqfG+L+f2KzRQZXPUDkgpXU9VtisEeS03y/8h9CxXsGsztkyc\n0lNPVXCR6vpKAMtwZQqX0nisjM0G3Do7O1FcXIyf/vSnKCoqwldffYWmpiakp6djxIgROHbsGG69\n9VZ88034dJcyVRuj5wh/MFRdkUpA2CxREqE0Has+SPYRifrK3oGr/0PPFC6tMlYeM71AbFLCEEUR\nc+fORWpqKhYsWAAASEtL87td1IgRI/DBBx9g0KBBYdsiqdoULYSqpt4qR6ySKANH/oNlkt65rSHu\nbyUXX7FuQ4QLVQsRfgf4FVGw7NQGYq2vr8eGDRswbtw4uFwuAMCSJUtQUFDgXSbiraN6IalaCKMz\nT2mbkli12L6vOH2fh2pbC6EGtlcwcbOyOwAI0HRAjUksfoJDdnY2uru7wy5z5MgRWW2RVC2CGUKN\ndvuSkCWJhcpEgTAXktZQqFEh4IpYbZDZ2WIfVUJStQA8CtV3XUmswdr0nsMfAiaEKiGAxEqQVHnH\nbKFqgSTWwH0pfFDZSD4TCCCx2hySKmdYQaLB6CPUMJfs4wqL1yIB2GMfFUDzVDnCqkK1HEKY96T5\ntSyiVVys7p9BkFQ5gUWhan1dAF+q0vN7zskv0W0TITHkWLMmHq3jYW3/DIS6/xzAolCNoCo9H4Vl\nO8LeYVWvmqviaVVqYKUeqZcAWdk/gyGpMgCP0lR1dpRayhByBsCEEs7FanVsWG8lqZoMq0KN1LU3\nKu6q9PyeQSvpQhlB5EpijQKju+k2yF6Zqqla+sMbBF6FyiJ61l5l34SQN8yqe1q83sqUVAH7iJVn\nobIa+4QS/wfBMBYWK3NSBawvVlalxLNQg6GlWC2XrbIgtcDLOFoEJqVqZViVktWEqgeWEqvF65pm\nQlIlmBeqdGtpAGGv7B41ZRFuqwISKxEZGv03EBYzPdaFKuGdBQCEnWKllgklAfIOQzCxWr1kRciH\npKoTLIgoEryN8vuJVUMmlMCbARt+TMyeYlS731L1TBYI2/1vbm5Gbm4uxowZg7Fjx2LVqlUAgLa2\nNrjdbiQnJyM/Px/t7e2GBMsLPAiVe2SWASINVklClbJUU/52Zg/UUBlAU8JKNTY2FitWrMAnn3yC\nffv24aWXXsJnn32G8vJyuN1uHD58GHl5eSgvLzcqXkIjeMtSoyGUWAOFKmHal6KZciWxakZYqSYk\nJCAjo+dOanFxcUhJScHx48dRVVWF0tJSAEBpaSnefvtt/SPlBB6yVDsJVUISq9881iBClYjq7yio\nXxWAdnJV2o6Nxaplr1z26H9TUxMaGxuRlZWF1tZWOJ1OAIDT6fS746CdsaJQedgnuXgz1jKEFaqE\n6fsejVh911UyF9SmYtWyVy5roKqjowPFxcVYuXIlrrvuOr/3HA5H+LsMrhOuPM/IAVw5cjbJHab/\nA8rAzkL10luLlTvSLwe/kX9Bs2Z7UDOQFW2Wa9Tg1WkP0O7RfzsySEhIQEJCAoC+vfK6ujoAPb3y\nnJyciGKNmKl2dnaiuLgYs2bNQlFREYCe7PTEiRMAgJaWFsTHx4du4GHhykOBUHmaosKDfKzS5Tds\nzqoaBJ3aVSI4rWRoRMZ6Qw4wQrjyYIRoe+VhM1VRFDF37lykpqZiwYIF3tcLCwtRUVGBsrIyVFRU\neGWrNaHusMkSVhUqy/ul95xVJRj25W/GAJbFplt53u95hCOqXrm0nCiKYqg3//GPf2DixIkYN26c\nt7GlS5fitttuw8yZM/H1118jKSkJmzZtwsCBA/s27nAAdSGblw1LYmVZNsGwmlB98ZuzKlesCrv/\n4Y6frt1+vTC6lKCEWgfC6CgiDocDW0T5ZZ37HDv8ttfZ2Yl7770XBQUF3iRy9OjR8Hg8SEhIQEtL\nC3Jzc/H555+HjyOcVKNFK6kCbIiVF9n4YvU6qmKxqqipBjuGXApVglWxmihVURRRWlqKwYMHY8WK\nFd5lFi5ciMGDB6OsrAzl5eVob2+PvqZK9MCbbNTA4z4qqrGqHKQKPC5cCxVQLkkbzAior6/Hhg0b\nUFtbC5fLBZfLhe3bt2PRokWoqalBcnIydu3ahUWLFkVsi05TlQGPslEKz/soq8aqw6g/l0KVUDqr\nQM/6qiBtQ5/m5ZCdnY3u7u6g7+3cuVNRW5SpRoBn2cjFCvsYVpYaCFU6Rt4sVVDdFL/YIGPVApJq\nGKwgGzvhlaZvGUCjDNUqU9KihsQaEW6kavS8VSsI1dYi6D1rSmu8A6aC9m0T1oCrmioP81ZZwa5C\nDXZ5QClL1fyYCCC5En3gJlM1Et6zVLsKVULTwagg+H2xC7puiuAQrjJVQP9s1W5C5X1/QxEoVrt/\n0QTF7AtkA5b8UuIyU9Wrvsq7YEgcwaHjEgY106S0ErGgTTOswV2mKqF1xmpHofK+z3IgocrAiIxV\n0Ld5luAyU5XQKmPlXS4k1OCQUBVAZ1lpBtdSBaIXqx3kYkdIqAYgV6yCrlEwB/dSjQYrCJXkQTCN\nYHYAxsNtTTVaSKjWhY6LiQhmB2A+tpUq75A4eqDjwBCC2QGwgS2lynuWSiKx0DEQIvzOGqEGtARD\no2AaS0hVyfQq3oVKyBdqsL+1FjJWdT1VJcvJXdZoSKiysIRUAXliJaHyj68Ug838kD4Dof7W8/FK\nVGLVVagsY6F7VemNZaQaCRIq/0gyZOJOu4KyxeX0pPyu1aqwfV3xFapgWhTcYKkpVUz8sxG6oKVQ\n1X7Bqtq2IH/RPhdqUbCuJuRmBX/4xkRExFJSBawvVssM0ChEq57Gaszj6xgKZgfQi2B2APxgOakC\n1hUrVzJgEMOPn6BhO4EPLduUs6zFmTNnDpxOJ9LS0vxef+GFF5CSkoKxY8eirEzeVc8tW1O12gWt\nSag9FEzcrOpL03IXqI5m+4HrqW3HQjz88MN4/PHHMXv2bO9rtbW1qKqqwkcffYTY2Fh8++23stqy\nZKYqYdWMlVCGZb+QBIPWsQF33nknbrjhBr/X/vznP2Px4sWIjY0FAAwZMkRWW5aWqlWwrBQ0JtR0\nKi3qsdEOUslZX++BMBKqMr788kvs3r0bt99+O3JycvD+++/LWs+y3X8JqQywGvO4nFZFQu0h0nFQ\nMz/VkJ6MAK/MwpWkoopFUL+qnTjkacPHntOyl798+TJOnz6Nffv24V//+hdmzpyJI0eORFzP8lIF\n+BUrCbWHwOMQWFeNJFSJaCf+q0YAic8gwv59c3ofEn8oDttWYmIipk/v+ZyNHz8eMTExOHXqFAYP\nHhx2Pdt0/6V/Ql5EpWecVvhiiXYQUpMsVdBmu1T7Z5OioiLs2rULAHD48GFcunQpolABG0kV4E+s\nemAFoUoUTNwsO0vVDUH5ctLncNvu6SRURigpKcEdd9yBw4cPY/jw4Vi3bh3mzJmDI0eOIC0tDSUl\nJXjjjTdktWWL7r8vvJYCtMBu+2sYQsDPcMv1LkMyZYvKysqgr69fv15xW7bKVAl+UNKbMOvLwjdT\nBkAT6QkAEaR68eJFZGVlISMjA6mpqVi8eDEAoK2tDW63G8nJycjPz0d7e7shwWqFHcsAPGWpPPxd\nfGVKYiV8cYiiKIZb4Pz58+jfvz8uX76M7OxsPPfcc6iqqsKNN96IhQsXYtmyZTh9+jTKy8v7Nu5w\nAHVhmzeVUIMdZgtID6mYvU+A/36Fikfpvivdr0iXDpRDsM+NqksCKl3W6kxyIIKOwuJwOFAgviV7\n+W2O4qi2F4qINdX+/fsDAC5duoSuri7ccMMNqKqqQl1dHQCgtLQUOTk5QaXKOqHmDZpZb+UhS1ND\n4H5psZ/RCBWIfgaBJggBPwnuiVhT7e7uRkZGBpxOJ3JzczFmzBi0trbC6XQCAJxOJ1pbW3UPVC9C\nZStmyM2qQtUDFjJvTRHMDoDQioiZakxMDA4ePIgzZ85gypQpqK2t9Xvf4XD0dPNDsU648jwjB3Dl\nqItURwLFykQGYyHkXgvV9rfEEWAvuTZ6gIMes6PQnIg1VV+efvppXHvttfjLX/4Cj8eDhIQEtLS0\nIDc3F59//nnfxhmvqYbD6PmPemepZu+H3PqlnrfE0fsYq66rBhLNujxjkZpq2O7/yZMnvSP7Fy5c\nQE1NDVwuFwoLC1FRUQEAqKioQFFRkeaBmY0dZwhES7RCjbRstF8Men+xKJ4FEAoh4EFwRViptrS0\nYPLkycjIyEBWVhamTp2KvLw8LFq0CDU1NUhOTsauXbuwaNEio+I1FBKrfLQQajTryIUbsfqiVTuE\nISjq/itunOPuvy9GlAJ47/7rcVM+X0FpHb+ex1uzMkAgWrbFInbo/hM9+Gasvg+e0DNeve5yqlfG\nytvfzotgdgCEHEiqMgn2D87bP6ce8ep922it2+Xtb9YHwewAiEiQVBVAYg3elhEXB9Eibm5v/Bes\nXd8HwRS2u0pVtASb02rHK14ZKVQg+poqb19+ihBAcmUIylSjJJoZAmbVZ6PdnpFC5fpEDMGi2yLC\nQpmqBvheo9WKBNsvI4XKWi+A2WuhClAuVyHEcyMwc9s6QlLViHA3deMZs4TKKor3XQBlrMEQIvzO\nMSRVDYlGNiwK2ei6qS8sZqmqj4MAPqQhwJg4jdiGiVBNlRGMFlekei4JVWMEswOQicB5+wxAZ1Qx\nBksZq1WEauYXRB8EswNghNr9QG5WwGvmnVE1Z84c/P3vf0d8fDwOHToEAHjyySexdetWXH311Rg5\nciTWrVuHAQMGRI6DpGpfwgncKkIFGJMqwK5Yg4lOr+0ATEl1z549iIuLw+zZs71SrampQV5eHmJi\nYrzXN5FzMX6qqdoYZiRDsIPeYpWEyhh33nknmpqa/F5zu93e51lZWXjrLXnCJqkSlobJaW4C2M1W\nAWbFZyZr165FSUmJrGVJqgRhBgLYFqsFOeX5GG2eTxSv98wzz+Dqq6/Ggw8+KGt5kipBmIUAEqvG\nhC1pxUwHJvv8/odNEdt7/fXXUV1djffee092DDSlimACS06jkoNgdgBEKLZv347ly5djy5YtuOaa\na2SvR1IlTMcIodKgHBGOkpIS3HHHHfjiiy8wfPhwrF27Fo8//jg6Ojrgdrvhcrnw6KOPymqLuv+E\nqeg5L5e5qVQEs1RWVvZ5bc6cOaraokyVYALLz00lbANJlTAN29ZRCUtDUiVMQU+hcpelCmYHQGgJ\nSZUwHMpQgyCYvH0zJvxb9CQDkiphKCTUMAgmbddMuVlQrCRVwjBIqAxiQamZDUmVMAQSqkwEA7fF\nilBr97MTiwaQVAndIaEqRDA7ACIaSKoEwSKC2QEQaiGpErpCWWoUCGYHQKiBpEroBglVAwSzAyCU\nQlIldMEsoXI38V8Ogg5tWmhgiDXogiqE5pBQdUCI8LsSSKi6QpkqoSkkVIMQzA6ACIUsqXZ1dcHl\ncmHq1KkAgLa2NrjdbiQnJyM/Px/t7e26BknwAQnVYAQV61CWqjuypLpy5Uqkpqb23HIaPbdpdbvd\nOHz4MPLy8mTdtpWwNjQoZRKCgmVJqIYQUarHjh1DdXU1fvazn3nvkV1VVYXS0lIAQGlpKd5++219\noyQIIjSCjGVIqIYRUapPPPEEli9fjpiYK4u2trbC6XQCAJxOJ1pbW/WLkGAeylIZQAjzHgnVUMKO\n/m/duhXx8fFwuVzweDxBl3E4HN6yQFDWCVeeZ+QArhzFQRLsQkJlHKaFeqD3YS3CSnXv3r2oqqpC\ndXU1Ll68iLNnz2LWrFlwOp04ceIEEhIS0NLSgvj4+NCNPCxoHDJhFqHuJ0VCZQQBnM0KuKX3IfEX\nswIBACxduhQbNmxATEwM0tLSsG7dOnzve99T3E7Y7v+SJUvQ3NyMo0ePYuPGjZg8eTLWr1+PwsJC\nVFRUAAAqKipQVFSkbi8I7iGhMoZgdgB80tTUhNdeew0HDhzAoUOH0NXVhY0bN6pqS9Hkf6mbv2jR\nIsycORNr1qxBUlISNm3apGrjBD9QN58jBJBcFXL99dcjNjYW58+fx1VXXYXz589j2LBhqtqSLdVJ\nkyZh0qRJAIBBgwZh586dqjZI8Ieet5EmdELofeRmMV5XZYNBgwbh17/+NX74wx/i2muvxZQpU3DX\nXXepaotOUyXCwrpQbTvxXwl2EqsQ5r3THqDdE/Str776Cn/605/Q1NSEAQMG4P7778df//pXPPTQ\nQ4pDoNNUiZCwLlQiAoLP89wss6JghxtygBHClYcP77//Pu644w4MHjwY/fr1w/Tp07F3715VmyGp\nEtxCWaoMBJ/nJNaQjB49Gvv27cOFCxcgiiJ27tyJ1NRUVW1R958ICutZKglVAQKuyDVQrHYpC0Qg\nPT0ds2fPRmZmJmJiYnDLLbfgkUceUdWWQ5TOPdUBh8MB1OnWPKETkYTKwgwAkqoKhBCvMyPW2xGN\njhwOB5BOfvDJAAAKiUlEQVSrYP1aR1TbCwV1/wk/5GSoktAIzhBCvE5lAU0hqRJelHT5SaycIgQ8\nJEismkFSJQCoq6GSWC2A4PPcLLHmZllK6jRQZRNYH3giTESA/0CWkTVWC8lUgjJVG6CnUClbtQiC\nz3MLis5ISKoWx4gMlcRqEQSDt2dReVP338IY2eVfjXlMTLUiNCKS8JiZhsUelKkSmkEZqwUQZC5n\n0SxTC0iqFsWsgSkSqwUQZC5HYg0Kdf8tiNkj/VQKsACCzPftdAUsmZBULYbZQpUgsVocAaGvJxCI\nzaRLUuUMVqQpBxKrxREgr1Rgs2yWaqocwZNQCZsgyFzORvVXylQ5gVehUrZqAwSZ79skY6VMlQN4\nFaoEzQiwOYLPc+k8fwtnrpSpMg7vQpUIJlbKYG2EANvc4VV3qRZM3EwXElaAVSRKELIRen/WmhmE\ndhiSqZJY5WE3oVK91WYIZgdgDFRTZQS7CVWC6q2E1dD9HlVbxHxN/nF4yHTtKkY9CJfB0v2pLMqk\n6O4ZpcU9qrq6upCZmYnExES88847quIwJFO1QxePhKotob6ISaiEnqxcuRKpqak9glaJYaP/0Yh1\nNeYxXZeVhKpmH6n7Kx8SKqEnx44dQ3V1NX73u9/hj3/8o+p2uKipSrJiMRuMRqjSetKD8Mf3C4eE\nSujNE088geXLlyMmJjotcjNPdT5e8WasrKGVEKV9JK7gezxIqEREwp6xdaD30ZetW7ciPj4eLpcL\nHo8nqhAMGajSEtako0eGydo+sgAJ1QZoMVCFfQrWuN27vd/+9rdYv349+vXrh4sXL+Ls2bMoLi7G\nG2+8oTwO3qRqB0iq/pBQbYKJUvWlrq4Ozz33HNuj/4QyqL5KEOai6+h/UlISrr/+elx11VWIjY1F\nQ0MD2tra8JOf/AT/+c9/kJSUhE2bNmHgwIGqgyCIUFCWShjNpEmTMGnSJNXrR8xUHQ4HPB4PGhsb\n0dDQAAAoLy+H2+3G4cOHkZeXh/LyctUBEARBWAlZ3f/AukNVVRVKS0sBAKWlpXj77be1j4wgCIJD\nZGWqd911FzIzM/Haa68BAFpbW+F0OgEATqcTra2t+kZJEATBCRFrqvX19Rg6dCi+/fZbuN1ujB49\n2u99h8MRtqhbKXzlfT425wak5QyKIlz7QHNWCcvT6AEOesyOQnMiSnXo0KEAgCFDhmDatGloaGiA\n0+nEiRMnkJCQgJaWFsTHx4dcv0QYqV20NoPESlgaV07PQ+L1P5gViaaE7f6fP38e3333HQDg3Llz\n2LFjB9LS0lBYWIiKigoAQEVFBYqKivSP1KbQ9CqC4IuwmWprayumTZsGALh8+TIeeugh5OfnIzMz\nEzNnzsSaNWu8U6oIgiCICFIdMWIEDh482Of1QYMGYefOnboFRRAEwSt0RhXBLDTxn+ARkirBJCRU\ngldIqhxgt8EqEirBMyRVTrCbWAmCV0iqBEEQGkJS5QjKVgmCfUiqnEFiJQi2IalyiJXFSoNUBO+Q\nVDnFimIloRJWgKTKMVYUK0HwDkmVc6wiVspSCatgG6ke8rSZHYIfrMVzyvOxadsOKtRGj+FxhISl\nWACKRye2b9+O0aNHY9SoUVi2bJnqdmwj1Y89p80OwQ/W4mnzfGJ2CP6wdPFilmIBKB4d6OrqwmOP\nPYbt27fj008/RWVlJT777DNVbdlGqgRBEKFoaGjATTfdhKSkJMTGxuKBBx7Ali1bVLVFUiUIwvYc\nP34cw4cP9/6emJiI48ePq2rLIQbeKlVDwt27iiAIIpBodKTUN3Fxcd47m7z11lvYvn279+amGzZs\nwP79+/HCCy8ojiPiPaqiQUdfEwRB+BGNb4YNG4bm5mbv783NzUhMTFTVFnX/CYKwPZmZmfjyyy/R\n1NSES5cu4c0330RhYaGqtnTNVAmCIHigX79+ePHFFzFlyhR0dXVh7ty5SElJUdWWLpmqVvO91DJn\nzhw4nU6kpaV5X2tra4Pb7UZycjLy8/PR3t5uSCzNzc3Izc3FmDFjMHbsWKxatcrUeC5evIisrCxk\nZGQgNTUVixcvNjUeoGc6i8vlwtSpU02PJSkpCePGjYPL5cJtt91mejzt7e2YMWMGUlJSkJqaiv37\n95sWzxdffAGXy+V9DBgwAKtWrTL1+GhJQUEBvvjiC/z73//2/l+oQtSYy5cviyNHjhSPHj0qXrp0\nSUxPTxc//fRTrTcTlt27d4sHDhwQx44d633tySefFJctWyaKoiiWl5eLZWVlhsTS0tIiNjY2iqIo\nit99952YnJwsfvrpp6bFI4qieO7cOVEURbGzs1PMysoS9+zZY2o8zz//vPjggw+KU6dOFUXRvL+V\nKIpiUlKSeOrUKb/XzIxn9uzZ4po1a0RR7Pl7tbe3mxqPRFdXl5iQkCB+/fXXTMTDEppLde/eveKU\nKVO8vy9dulRcunSp1puJyNGjR/2kevPNN4snTpwQRbFHdDfffLPhMYmiKN53331iTU0NE/GcO3dO\nzMzMFD/++GPT4mlubhbz8vLEXbt2iffee68oiub+rZKSksSTJ0/6vWZWPO3t7eKIESP6vM7CZ+fd\nd98Vs7OzmYmHJTTv/ms530tLWltb4XQ6AQBOpxOtra2Gx9DU1ITGxkZkZWWZGk93dzcyMjLgdDq9\npQmz4nniiSewfPlyxMRc+SiaeWwcDgfuuusuZGZmeqfXmBXP0aNHMWTIEDz88MO45ZZb8POf/xzn\nzp1j4rO8ceNGlJSUAGDjf4slNJcqD3NTHQ6H4XF2dHSguLgYK1euxHXXXWdqPDExMTh48CCOHTuG\n3bt3o7a21pR4tm7divj4eLhcrpDTYYw+NvX19WhsbMS2bdvw0ksvYc+ePabFc/nyZRw4cACPPvoo\nDhw4gO9///soLy83LR6JS5cu4Z133sH999/f5z0z4mENzaWq5XwvLXE6nThx4gQAoKWlBfHx8YZt\nu7OzE8XFxZg1axaKiopMj0diwIABuOeee/DBBx+YEs/evXtRVVWFESNGoKSkBLt27cKsWbNMPTZD\nhw4FAAwZMgTTpk1DQ0ODafEkJiYiMTER48ePBwDMmDEDBw4cQEJCgqmfnW3btuHWW2/FkCFDALDx\nWWYJzaWq5XwvLSksLERFRQUAoKKiwis3vRFFEXPnzkVqaioWLFhgejwnT570js5euHABNTU1cLlc\npsSzZMkSNDc34+jRo9i4cSMmT56M9evXm3Zszp8/7z3D5ty5c9ixYwfS0tJMiychIQHDhw/H4cOH\nAQA7d+7EmDFjMHXqVFPikaisrPR2/QHzPsvMokehtrq6WkxOThZHjhwpLlmyRI9NhOWBBx4Qhw4d\nKsbGxoqJiYni2rVrxVOnTol5eXniqFGjRLfbLZ4+fdqQWPbs2SM6HA4xPT1dzMjIEDMyMsRt27aZ\nFs9HH30kulwuMT09XUxLSxOfffZZURRF0+KR8Hg83tF/s2I5cuSImJ6eLqanp4tjxozxfnbNPDYH\nDx4UMzMzxXHjxonTpk0T29vbTY2no6NDHDx4sHj27Fnva2Z/dlhD13P/CYIg7AadpkoQBKEhJFWC\nIAgNIakSBEFoCEmVIAhCQ0iqBEEQGkJSJQiC0JD/B7biUfV7d5rnAAAAAElFTkSuQmCC\n" } ], "prompt_number": 143 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "plt.contourf(blur_image(Z, 5))\n", "plt.gca().invert_yaxis()\n", "plt.colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 144, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAVUAAAD9CAYAAAAMNOQZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1UVHX+B/D3Jem4LmbYkcEVduGkKCAyo7hYP6whHIgM\nFrX1F7XID7DHbXeNNh9O2+717Emm3LZFq83KDGuP5T6o1CInTMZS11wD0lw3PCpnkQXKBzQUQ5j7\n+4MGeRhm7tyHud977+d1zhxluPO9n+Hhzed+7xMnCIIAQgghigjRugBCCDESClVCCFEQhSohhCiI\nQpUQQhREoUoIIQqiUCWEEAVJDtXq6mpMmzYNU6ZMwbPPPqtkTYQQElRXrlxBamoqrFYrEhISsGrV\nKgDAk08+ifj4eCQnJ2PhwoW4cOGC37E4Kcep9vb2YurUqdi1axcmTZqE2bNnY8uWLYiPjw/83RBC\nCAMuX76MMWPGoKenB2lpafjd736Hrq4uZGRkICQkBCtXrgQAOJ1On+NI6lQPHjyIyZMnIyYmBqGh\nobj33nuxY8cOKUMRQggTxowZAwDo7u5Gb28vxo8fD4fDgZCQvphMTU3F6dOn/Y4jKVRbWloQHR3d\n/3FUVBRaWlqkDEUIIUxwu92wWq2wWCxIT09HQkLCoM+/8cYbuOuuu/yOM0rKyjmOU3Q5QggBADln\nzd/Acfg6gOXDwsLw9dfXXhESEoKGhgZcuHABWVlZcLlcsNvtAIBnnnkG119/Pe677z6/40oK1UmT\nJqG5ubn/4+bmZkRFRXldNlv4q5RViPIwNsgeYwt/Avn8zQpUox6z1pj72QfiFgxgPyl/BOCT/Cy0\nwvvTlcmZw557BQ8Ne27nRwtHWLmf9Xqc4oHYAQvXfiLyhcH0OoClI386PTXwIWvlNWFfA9gbwPJp\nnZ1enx83bhzmz5+PQ4cOwW63480330RVVRU+/PBDUeNK2vxPSUnB8ePH0dTUhO7ubrz77rvIzc2V\nMhQhXqkRqPu2iFyQpYNZmAxU4zlz5gw6OjoAAF1dXaipqYHNZkN1dTXWrl2LHTt2YPTo0aLGktSp\njho1Ci+++CKysrLQ29uLkpIS2vNPmDUwTJs/B/Z9DvxPvnb1iKbnQK39RFq3qpHW1lYUFhbC7XbD\n7XajoKAAGRkZmDJlCrq7u+FwOAAAt9xyC15++WWfY0kKVQDIzs5Gdna21JczY7o9XOsS/KIaRyCi\noxzandoGPK9GsMre9AeAG+06CNSZWhegqKSkJNTV1Q17/vjx4wGPZfozqpLs47UuwS+qURpvm/u2\n4U9J5m0+VRHhdnXGVZSIUGX+D4M6TB+qhD2i51N9EDN/KnqONdiMFEZGei8iUagSfWJpZ5I/fADL\nmjCEjIZClRARvB1OpTijBqpR39cIKFQJU0Rt+vvpUrXarB9xJxUxVbDqNlSVOPCfEKlE76TiRQ5o\nhtAxw3uETkOVAtXE9DSXKpZJwgaAKd6r7kKVAtW4lNjrrxXa9A+AwYNVV6FKgWpyEg721xQvYhmD\nB8yIDPy+dRWqhATFkAuqDN3zP3Q+lbpUiQwarBSqxFACOfVU1fP/eRHLGDRUAmLArwGFKmGCkvOp\nYsJSaqAqdmqqAcNEMoN9LShUiT4EuNffV2gq2aF63fTnlRvfNAwUrJKvUkUI6ySFp5/5VEUYKEDI\ncNSpEiKSqB1UvJ9BKFANj0KVEI8RbqNCSCBkbf7HxMTghhtuwHXXXYfQ0FAcPHhQqboIGcwTeEE8\no8rXpj91qWQksjpVjuPgcrlQX19PgUpkET13qVY36Wdc1S5ITQxH9ua/nFvKEiLJCigbrl7GCngH\nFe/n89SlmoaszX+O4zBv3jxcd911eOihh/DAAw8MW+Y4/27//8fbE3GTfbqkddEpqmQYX8EqdppA\nQjgP2/Tn/byAAnUEdd8+tNfc3IwlS5bgyy+/BMdxePDBB/Hzn/8cBw8exGOPPYarV69i1KhRePnl\nlzF79myfY8kK1X379mHixIn46quv4HA4MG3aNMydO3fQMlP4/5WzCmIilcmZyp0EIKOT9XdaKlHK\nTAy+19XrWhWC0NBQvPDCC7Barejs7MSsWbPgcDiwfPly/Pa3v0VWVhZ27tyJ5cuXo7a21udYsjb/\nJ06cCACYMGECFixYoNq8KnWp5hGUK+zLEPB5/tSl6kJkZCSsVisAICwsDPHx8WhpacHEiRNx4cIF\nAEBHRwcmTZrkdyzJnerly5fR29uLsWPH4tKlS/jggw/wm9/8RupwI6JANR9FO1YJ6w4Ir0oZRENN\nTU2or6/HnDlzMGXKFKSlpeGXv/wl3G43/vGPf/h9veRQbW9vx4IFCwAAPT09uP/++5GZqWyXQYFq\nXgPDLVgB6y1QadNfX3ydRedqB1xfDnji8+HLdHZ24p577kF5eTnCwsKQl5eHdevWYcGCBfjzn/+M\n4uJi1NTU+KyBE1Tcfc9xHLKFv0p+PYUqkUtsII/Uofo9i4r3MzBt/gdgjqyjiTiOgxDAqcnclsFH\nL129ehV33303srOzsWzZMgDADTfcgIsXLwLoW/bGG2/snw4YCZ1RRQytMjnT7ya95EAlhiEIAkpK\nSpCQkNAfqAAwefJk7NmzBwCwe/duxMXF+R2LLqhCTMETnHq+ZQtRz759+/D2229jxowZsNlsAIA1\na9bg1VdfxU9/+lN88803+M53voNXX33V71gUqsRUWD+6gGgjLS0Nbrfb6+c++SSwKRwKVaI7vnYe\n0Tw80RqFKlGFmL3mYgIw0L3vnuWZCdf0VNpZZTIUqkRRgYQgHa5EjIjpvf/0S0ekUuNnJ/u2v0l7\nYXqqsoUQpjEdqgAFK1FP7mcf+DwaQNQUAi9yZRSspsF8qAIUrER5dGgVUYsuQhWgYCXKGRqovjrW\nod2q1ykAXuSKqVs1Bd2EKiGB8Lbp7m9zPyjdKwWr4VGoEkWxcCjTSIEqhuRg5QNYloLV0ChUCRli\naLCKmgIg5FsUqsRQ5HSpsvEBLEvd6mAG+npQqBLFaTUFoGSgBqVbNVCQSJaearivg89QLS4uhsVi\nQVJSUv9z586dg8PhQFxcHDIzM9HR0aF6kUR/gh2sAQfqswMeSuIDXN5ggRIQg753n6FaVFSE6urq\nQc85nU44HA40NjYiIyMDTqdT1QKJfgUjWB/GBvGBOlKQjhCudCyrSgzYnQ7kM1Tnzp2L8PDwQc9V\nVlaisLAQAFBYWIjt27erVx0hPowU2iMGqj9+glX0FAAvYl0DGThghjHBew34girt7e2wWCwAAIvF\ngvb2dsWLImQk/rpfyYE6cFkZt7fuxyPwHVdGv5qVCQIVkHmVKo7jwHGcz2WO8+/2/3+8PRE32afL\nWSXRGU8IKnFGnOqBKrIGOrtPAm+Bet4FdLiCXYnq/N74r6mpCTk5OThy5AgAYNq0aXC5XIiMjERr\nayvS09Px73//2/vgMm/85w0LB5cTaaSEkdjvt+KBOqRbHXjHgIDuXcUHuF4jdqtiO9RaTtMb/ykl\n4E41NzcXFRUVWLFiBSoqKpCXl6d4UcSYAulaZYUpoPxefUJE8rmjKj8/H7feeiu++OILREdHY9Om\nTVi5ciVqamoQFxeH3bt3Y+XKlcGqFQBdWMUIRtpj73meiUBVKpT5AJc32ryjTt5Pc3Mz0tPTkZiY\niOnTp2PdunWDPv/8888jJCQE586d8zuW381/OdTY/PegaQDz8nv8qQ/7tgx/7n9G2mQcMAUw9IaB\nAd++mvf96WGMMA0QaKBquPnf1taGtrY2WK1WdHZ2YtasWdi+fTvi4+PR3NyMBx54AF988QU+/fRT\njB8/3ue4uj2jijpWc5Jz7Ki3QCUq0UmH6hEZGQmr1QoACAsLQ3x8PP773/8CAEpLS/Hcc8+JHku3\noUrIMCrOo8o+EYAPcHmdhZIeuNoB/si1x0iamppQX1+P1NRU7NixA1FRUZgxY4bo9dCN/4huKL3Z\nP/BzI04BiJR929/8TwGYhZZ/EHwcY2z/9uGx2jp8mc7OTtxzzz0oLy9HSEgI1qxZg5qamv7Pi5me\noE6V6IIhThnlA1yeutWgunr1KhYtWoSf/OQnyMvLw4kTJ9DU1ITk5GTExsbi9OnTmDVrFr788kuf\n4+g2VGlHlXn4DVQNDp+in78R6PQPgSAIKCkpQUJCApYtWwYASEpKQnt7O06dOoVTp04hKioKdXV1\niIiI8DmWbkOVmIOeOlRRlwPkAxxUpyGlN/v27cPbb7+N2tpa2Gw22Gw27Ny5c9Ay/s4e9aA5VWJ6\ncudTVWeG6wJoLC0tDW632+cyJ0+eFDUWdarEFJgPTiOgrhoAhSphmNKb/t6CVZOw5SW8hgJLN2jz\nn5iKrjtWmgbQBepUCSHyUSfdj0KVEG8kXqha9A0BeWnjU3ixj0KV6J8SV+r3Y+gFVTRFwco0ClVC\nhgpCSMvGUrCyVAsDKFQJkwLe86+HIByKl/l6CjMmUagSQoiC/IZqcXExLBYLkpKS+p/jeR5RUVH9\np3NVV1erWiQxH0lzmEp0q17G8FYLM9fz1bpb1Xr9DPIbqkVFRcNCk+M4lJaWor6+HvX19bjzzjtV\nK5CQgMgJVj1OIQAUbIzxG6pz585FeHj4sOdVvAsLIfIEGo4rJLyGNVoEK4W5V5LnVNevX4/k5GSU\nlJSgo6NDyZoIkU9sSPpZTvVDqXgFx6KQY4Kk01QfeeQR/PrXvwYAPP3003jiiSewceNGr8se59/t\n//94eyJusk+XskpCAucJzKHXW9V7V+pLsE5lVSLAz7uADpf8cRgjKVQHXqR16dKlyMnJGXHZKfz/\nSlkFIcqRGKJMHfAfCE/gqRWuSnXE4fa+h0fTamXG1Zikzf/W1tb+/2/btm3QkQGEGIGvQGVmz78/\nSk8HpKfSFIMIfjvV/Px87NmzB2fOnEF0dDRWr14Nl8uFhoYGcByH2NhYbNhAt5YgyqtMztTkyv+6\n7VC9kdO1UoBK4jdUt2wZfhvK4uJiVYohhKiEAjJo6IwqwrRgd42G6lKJaM3NzUhPT0diYiKmT5+O\ndevWAQDOnTsHh8OBuLg4ZGZmijrSiUKVMC9YQSdmPbqZTyUBCQ0NxQsvvICjR4/iwIEDeOmll3Ds\n2DE4nU44HA40NjYiIyMDTqfT71gUqkQX1AzWyuRMClSTi4yMhNVqBQCEhYUhPj4eLS0tqKysRGFh\nIQCgsLAQ27dv9zsWhSrRDTWCVekxd360UNHxSPA1NTWhvr4eqampaG9vh8ViAQBYLBa0t7f7fT3d\no4roilJHBAQaptSl6p/rUN/Dl87OTixatAjl5eUYO3bsoM9xHAeO4/yuh0KV6I6cYGVuRxSvdQHG\n4vP7mwzMLBnw8SuDf4auXr2KRYsWoaCgAHl5eQD6utO2tjZERkaitbV10IlPI1E9VHd+tFD8fXsI\nEWnoL4+vkJUbpNSlGp8gCCgpKUFCQgKWLVvW/3xubi4qKiqwYsUKVFRU9IetL9SpEkNQqwOlQDWH\nffv24e2338aMGTNgs9kAAGVlZVi5ciUWL16MjRs3IiYmBlu3bvU7VlBClbpVojdSwpR2UulXWloa\n3G6318/t2rUroLGCtveffuCIXgStO+WDsxoSXHRIFSED0OY+kSuooUrdKmEZBSpRAu2oIqanRJgG\n3DDwsldJGBX0zX/qVglLqDslSqM5VWJaFKhEDZqEKnWrREuv4CFFA5U2/clAPkNVyWsMEsIC6k6J\n2nyGqpLXGBxKbrdKvxxELE9nSj8zJBh87v2PjIxEZGQkgOHXGNyzZw+AvmsM2u12ScFKiJqCEaI0\nlUWGEn1IldxrDHpDp68SJemiE+W1LoCoTVSoyrrG4Cb+2v+tdsBmD7xKQnzQKkxV7VJ5mZ/Xg/Mu\noMOldRWK8xuqsq8xWMT7HF9Ot/oKHsLDoNtjm5kuutNA8AEuJ3Z5FoXb+x4eTau1qkRRPndU+bvG\nIADR1xj0healiBRaBqoqP7N8kF5DVOWzU1XyGoOEKMm0Haqv18oZgyjGZ6gqeY1Bf6ROA9AUANE9\nXsFxlBqLSEanqRLd0bpLVXTTn1duKFXGIwFjKlSl/rBq/UtGgsdQ32teZ+MSUZgKVUJYJ7tL5Yf8\nqxa1x1car3UBymEuVKlbJYbHG2w9cvBgos7i4mJYLBYkJSUNen79+vWIj4/H9OnTsWLFClFj0UWq\niW5o/YdTl4f+8WAitIbhtS5gsKKiIvzsZz/DkiVL+p+rra1FZWUlDh8+jNDQUHz11VeixmKuUwWo\nWyVEUTzYCTEe7NQywNy5cxEeHj7ouT/+8Y9YtWoVQkNDAQATJkwQNRaToQpQsJLB6PuqAB7BDzR+\nyENHjh8/jo8++ghz5syB3W7HoUOHRL3OkJv/dOwqIT7wfj72t7xOHXGdw+eu86KX7+npwfnz53Hg\nwAH885//xOLFi3Hy5Em/r2M6VOm6AARgo0vV5XyqWLzWBSjH58+K/duHx+pFPseKiorCwoV93/fZ\ns2cjJCQEZ8+exU033eTzdcxu/iuBhV9GQog+5eXlYffu3QCAxsZGdHd3+w1UQAehSncIMDf6/pFg\nyM/Px6233orGxkZER0dj06ZNKC4uxsmTJ5GUlIT8/Hxs3rxZ1FicIAiCWoVyHAfsUWZ4JS5mTdMB\n+sJSoBp6858Vt3OQE0ccxyFb+Kvo5Xdyi2StbyRMz6kqjeZZ2cdSkBIihW46VUCZbhWgjjVYjBaQ\n1K2qzCCdKvNzqgMp9UNttF921rBy59KHsYH+gJKg093mv1I3C6SpAGWxEKIeQ7+vAz9mqU5iTD47\n1ebmZqSnpyMxMRHTp0/HunXrAAA8zyMqKgo2mw02mw3V1dVBKdZDyY6V9V8y1mtkqT4xnamcP6R0\n518ihs851ba2NrS1tcFqtaKzsxOzZs3C9u3bsXXrVowdOxalpaW+B1d4TnUoJX/IWepa/YUUK7Wy\nEqZAYF8TuXXT3KpKDDKn6nPzPzIyEpGRkQCAsLAwxMfHo6WlBQBUKSZQSk0FAGxMB4j9Zde6VpbC\nVIqHsUHWe8i+7W/a3p5a7DJEE6J3VDU1NaG+vh5z5swB0HedweTkZJSUlKCjo0O1Av1R8odbq01Z\nljah/WGxTi3+wGg+FcBDlxcpMQNRh1R1dnbCbrfjV7/6FfLy8vDll1/2Xwbr6aefRmtrKzZu3Dh8\ncI4D/u83156w2gGbXanaB1H6h1ztX1SlwimYgWKkQFXivTBzm2olXquFehfQ4Lr28ZurDbH57zdU\nr169irvvvhvZ2dlYtmzZsM83NTUhJycHR44cGT64ynOqQ6nVPSgRXGoHkprhymKYesh530wGK8/I\nGFoww5yqIAgoKSlBQkLCoEBtbW3FxIkTAQDbtm0bdgsCrXh+wJUO14G/fGJ+ibWaQgCUD1eWA5UF\nis6v8soME7T7YBGvfHaqe/fuxW233YYZM2b0dZ0A1qxZgy1btqChoQEcxyE2NhYbNmyAxWIZPniQ\nO9WBNJ/z0pAeOmslyH2fSr5HRYKVlz9EUMZUixk61bS0NLjd7mHPZ2dnK16I0pQ8MkBv5B4doIdA\nJSLxQ/4lqtPdGVWBMHuweogNWDXD1F8nZ9bvU9DwQ/4lqjF0qALqzbPqiZadp9jNYjP/AQwqfsi/\nRHG6uqCKHHQWTHDt/Gihql9zrU/U0D0eFKwqMU2oAhSswUJfZx3hQeGqMMNv/g9Fm5nqkRumwfze\n0M64IXg/HxPRTBeqAM2zqsHM3akh3zuvkzEZZMpQ9aCuVRlKhYrevheGDFM18VoXMLLi4mL8/e9/\nR0RERP/ZoU8++STef/99XH/99bj55puxadMmjBs3zu9YpppT9UbtHSpGptevHZOnpxJNFRUVDbsu\ndGZmJo4ePYrPPvsMcXFxKCsrEzWW6UPVQ68BoRUzf63M/N6Nau7cuQgPDx/0nMPhQEhIX0Smpqbi\n9OnTosYy9ea/NzTf6p9ZQ0X1982D6U1kM3vjjTeQn58valkK1REM/AWigO1jhDCVuulvhPdudmdd\nn+Oc62jAr3vmmWdw/fXX47777hO1PIWqCGJ/oYwcvmqHSiBfu2Af+E+Bqh8+v1chC4E7Bny8eqvf\n8d58801UVVXhww8/FF0DhaqCxPzy6S14jRQoUrrUoL9/HjQFwIjq6mqsXbsWe/bswejRo0W/jkI1\nyHz9krIUuMEMk2C8b10EKtFMfn4+9uzZgzNnziA6OhqrV69GWVkZuru74XA4AAC33HILXn75Zb9j\nibqdilRaXk+V9BEbWFoGSKChKmXzP9BQ1TxQeW1Xr4la+ddTDShvZF6/dSTUqRqc5uHgB4tdKutf\nM8I2n8epXrlyBampqbBarUhISMCqVasAAOfOnYPD4UBcXBwyMzM1vZsqMZdAu1TdBiqvdQFEKp+h\nOnr0aNTW1qKhoQGHDx9GbW0t9u7dC6fTCYfDgcbGRmRkZMDpdAarXmIgLM0hE6IUv2dUjRkzBgDQ\n3d2N3t5ehIeHo7KyEoWFhQCAwsJCbN++Xd0qCZFAt12qB691AUQKv3OqbrcbM2fOxIkTJ/DII48g\nMTER7e3t/Tf6s1gsaG9vH3mATfy1/1vtgM0ur2JiCFK61EA2/XUfqGZw3gV0uLSuQnF+QzUkJAQN\nDQ24cOECsrKyUFtbO+jzHMf132nVqyJebo3EYGizPwA8jNuxhtv7Hh5Nq7WqRFGiL6gybtw4zJ8/\nH59++iksFgva2toAAK2trYiIiFCtQEIAk3epvNYFkED4DNUzZ87079nv6upCTU0NbDYbcnNzUVFR\nAQCoqKhAXl6e+pUSQ6AulRidz83/1tZWFBYWwu12w+12o6CgABkZGbDZbFi8eDE2btyImJgYbN3q\n/xxaQqQGqprn+jPfpXrwoI5VJ3yGalJSEurq6oY9P378eOzatUu1oojx0L2niFnQRaoJ0+hW1APw\nWhdAxKBQJapjcbMf0NGm/0C81gUQfyhUiaqCuWOKNv0JCyhUiWrkBCpt9vvAa10A8YVClagi2IFq\nuGNT/eG1LoCMhEKVMIU6VKJ3FKpEcXSAf5DwWhdAvKFQJYrSwzyq7jf9B+K1LoAMRaFKFKNVoJp+\nrz+vdQFkIApVogg9dKiGxmtdgP6VlZUhMTERSUlJuO+++/DNN99IGodClcimp0A11Kb/ULzWBehX\nU1MTXnvtNdTV1eHIkSPo7e3FO++8I2ksClUiC+2UYgyvdQH6dMMNNyA0NBSXL19GT08PLl++jEmT\nJkkai0KVSCY3UJXoUk0/n+oNr3UB+jN+/Hg88cQT+P73v4/vfe97uPHGGzFv3jxJY9EtqokkLAQq\n8YGHOcOV9/E5H7dvOXHiBP7whz+gqakJ48aNw49//GP86U9/wv333x9wCdSpkqDTKlANPZ/qDQ9z\nButIwu1ALH/tMcChQ4dw66234qabbsKoUaOwcOFC7N+/X9JqfIbqlStXkJqaCqvVioSEBKxatQoA\nwPM8oqKiYLPZYLPZUF1dLWnlRJ/0tGOKgIJVhGnTpuHAgQPo6uqCIAjYtWsXEhISJI3lc/N/9OjR\nqK2txZgxY9DT04O0tDTs3bsXHMehtLQUpaWlklZK9IulQKX51ADwoHD1ITk5GUuWLEFKSgpCQkIw\nc+ZMPPjgg5LG8junOmbMGABAd3c3ent7ER4eDgAQBEHSCol+0Z5+YmTLly/H8uXLZY/jd07V7XbD\narXCYrEgPT0diYmJAID169cjOTkZJSUl/TcHJMal9x1TpptP9YbXugBz4ASRLeeFCxeQlZUFp9OJ\nhIQETJgwAQDw9NNPo7W1FRs3bhw+OMcB//eba09Y7YDNrkTdJIhYDFTTXepPSbzWBXxr6N74ptWy\ntoA5jgPSA3h9LafKFrfoQ6rGjRuH+fPn49ChQ7Db7f3PL126FDk5OSO/sIiXUR7RGouBSmTiwUaw\nhtv7Hh5Nq7WqRFE+N//PnDnTv2nf1dWFmpoa2Gw2tLW19S+zbds2JCUlqVsl0YRRApW6VC94rQsw\nLp+damtrKwoLC+F2u+F2u1FQUICMjAwsWbIEDQ0N4DgOsbGx2LCBjV8eohyjBCohwSZ6TlXS4BwH\n7KGjBPSG9UCl+VQF8VoXMIDMOU5W5lTpjCpCCFEQhSoZhPUuNVDUpfrBa12A8VCokn5GC1QiEq91\nAcZCoUoA6CdQ6dRUwjoKVaKbQCUq4rUuwDgoVE3OyOfz03xqgHitCzAGClUTUyJQqUslZDAKVZMy\ncodKZOC1LkD/6HYqJqNkmFKXalA8KFxloE7VRKg7JaLxWhegX9SpmoAaYapFlxrI4VS0k0oBPChc\nJaBQNTDqTIlsPChYA0ShakAUpkRRPChYA0BzqgYTjEClHVQmxGtdQHD09vbCZrP5vvC+H9SpGgR1\np0R1PAwfruXl5UhISMDXX38teQzqVA2AApUEDa91Aeo5ffo0qqqqsHTpUlnXWRUVqkNb4nPnzsHh\ncCAuLg6ZmZl0N1WNZN/2t6AHqlab/nQhFYbwWhegjscffxxr165FSIi8XlPU5v/QltjpdMLhcGD5\n8uV49tln4XQ64XQ6ZRVCAkPdKdEUP+RfVtR+4uOTdd8+hnv//fcREREBm80Gl8slqwS/keytJa6s\nrERhYSEAoLCwENu3b5dVBBFPi+5Ub+gY1SDitS4gEDMBLB3wuGb//v2orKxEbGws8vPzsXv3bixZ\nskTSWvyGqreWuL29HRaLBQBgsVjQ3t4uaeVEPApTwixe6wLkW7NmDZqbm3Hq1Cm88847uOOOO7B5\n82ZJY/nc/BfTEnMc13fDrZFs4q/932oHbPaAizQzloKUDqUiI+KH/CvGeRfQ4VK6EkX4zDQ/fIaq\npyWuqqrClStXcPHiRRQUFMBisaCtrQ2RkZFobW1FRETEyIMU8ZKLMzOWwlRrtJNKR/gh//oSbu97\neDStVroaSW6//Xbcfvvtkl/vc/PfW0v81ltvITc3FxUVFQCAiooK5OXlSS6ADEab+cQQeK0L0E5A\nB/97WuKVK1di8eLF2LhxI2JiYrB161ZVijMTClJiOPwI/zc4TpBzlKu/wTkO2KPa8LqnpyDV0/Gp\ntPefYbyudwwFAAAHuUlEQVSPz9Vysg6672v6DgTwijmy1jcSOk1VA3oKU72hQGUcP+RfA6JQDQIK\nUWloB5WB8SP83wAoVBVCwaksClQT4b/9t1bLIpRDoSoShWbwSA1U2vQnLKBQ9YGCNPioQyV6p3qo\nDg0mlrsJClHvgrXnnwKVGEHQO1WWQpZClB1yA5XlP9bEXDTf/KdgI9ShEiPRPFSJeSkVptSlEpbQ\n7VSIT2rNp1KgEqOiTpUEFW3qE6OjTpWMSOkuVelApS6VsIhClQQFdajELChUiVdKdqlqBCp1qYRV\nNKdKhlEqUKk7JWZEoUoUFYwgpS6VsExUqPb29iIlJQVRUVF47733wPM8Xn/9dUyYMAEAUFZWhjvv\nvFPVQtVy1vU5brJPD+g1Ujs5qYEjpcZgO+I6hyT7eK3L8K/exf7NJ6lGTVRXV2PZsmXo7e3F0qVL\nsWLFCknjiArV8vJyJCQk4OuvvwbQd4Xt0tJSlJaWSlopS865jvoNLKU2h32N4ytwxdSotc9d57HP\nvkr19cjuUhtc7IcB1Rh0vb29eOyxx7Br1y5MmjQJs2fPRm5uLuLj4wMey2+onj59GlVVVXjqqafw\n+9//HgAgCILo2xB4gkRP82ta3DrE2zr18jV7BQ/hON7FFK0LIUSigwcPYvLkyYiJiQEA3Hvvvdix\nY4c6ofr4449j7dq1uHjxYv9zHMdh/fr12Lx5M1JSUvD888/jxhtv9DkOq6GRgk+Rjw6ty/DK8zXb\nghODamTh6+YRzFpoLpWopaWlBdHR0f0fR0VF4ZNPPpE2mODDe++9Jzz66KOCIAhCbW2tcPfddwuC\nIAjt7e2C2+0W3G638NRTTwnFxcVeXw+AHvSgBz1EP+QIdF1hYWH9r/3LX/4iLF26tP/jt956S3js\nscck1eGzU92/fz8qKytRVVWFK1eu4OLFi1iyZAk2b97cv8zSpUuRk5Pj9fWCejdqJYSQQeTkzaRJ\nk9Dc3Nz/cXNzM6KioiSN5fPg/zVr1qC5uRmnTp3CO++8gzvuuAObN29Ga2tr/zLbtm1DUlKSpJUT\nQggLUlJScPz4cTQ1NaG7uxvvvvsucnNzJY0l+jhVQRC+va82sHz5cnz22WfgOA6xsbHYsEGbe8IT\nQogSRo0ahRdffBFZWVno7e1FSUmJpJ1UAGROYoxg586dwtSpU4XJkycLTqdTjVUErKioSIiIiBCm\nT5/e/9zZs2eFefPmCVOmTBEcDodw/vx5DSsUhP/85z+C3W4XEhIShMTERKG8vJy5Oru6uoQf/vCH\nQnJyshAfHy+sXLmSuRo9enp6BKvV2r8vgMUaf/CDHwhJSUmC1WoVZs+eLQgCe3WeP39eWLRokTBt\n2jQhPj5eOHDgAHM1skTxc/89x3tVV1fjX//6F7Zs2YJjx44pvZqAFRUVobq6etBzTqcTDocDjY2N\nyMjIgNPp1Ki6PqGhoXjhhRdw9OhRHDhwAC+99BKOHTvGVJ2jR49GbW0tGhoacPjwYdTW1mLv3r1M\n1ejhOb7as4XFYo0cx8HlcqG+vh4HDx4EwF6dv/jFL3DXXXfh2LFjOHz4MKZNm8ZcjUxROqX3798v\nZGVl9X9cVlYmlJWVKb0aSU6dOjWoU506darQ1tYmCIIgtLa2ClOnTtWqNK9+9KMfCTU1NczWeenS\nJSElJUX4/PPPmauxublZyMjIEHbv3t3fqbJWoyAIQkxMjHDmzJlBz7FUZ0dHhxAbGzvseZZqZI3i\nnaq3471aWlqUXo0i2tvbYbFYAAAWiwXt7e0aV3RNU1MT6uvrkZqaylydbrcbVqsVFosF6enpSExM\nZK5Gz/HVISHXfsRZqxHo61TnzZuHlJQUvPbaawDYqvPUqVOYMGECioqKMHPmTDzwwAO4dOkSUzWy\nRvFQ9Wxq6Q3HcczU3tnZiUWLFqG8vBxjx44d9DkW6gwJCUFDQwNOnz6Njz76CLW1tYM+r3WN77//\nPiIiImCz2UY8zEbrGj327duH+vp67Ny5Ey+99BI+/vjjQZ/Xus6enh7U1dXh0UcfRV1dHb773e8O\n29TXukbWKB6qSh7vpTaLxYK2tjYAQGtrKyIiIjSuCLh69SoWLVqEgoIC5OXlAWCzTgAYN24c5s+f\nj08//ZSpGj3HV8fGxiI/Px+7d+9GQUEBUzV6TJw4EQAwYcIELFiwAAcPHmSqzqioKERFRWH27NkA\ngHvuuQd1dXWIjIxkpkbWKB6qSh7vpbbc3FxUVFQAACoqKvpDTCuCIKCkpAQJCQlYtmxZ//Ms1Xnm\nzBl0dPSdMtvV1YWamhrYbDamavR2fPVbb73FVI0AcPny5f6LFF26dAkffPABkpKSmKozMjIS0dHR\naGxsBADs2rULiYmJyMnJYaZG5qgxUVtVVSXExcUJN998s7BmzRo1VhGwe++9V5g4caIQGhoqREVF\nCW+88YZw9uxZISMjg5nDQj7++GOB4zghOTlZsFqtgtVqFXbu3MlUnYcPHxZsNpuQnJwsJCUlCc89\n95wgCAJTNQ7kcrmEnJwcQRDYq/HkyZNCcnKykJycLCQmJvb/rrBWZ0NDg5CSkiLMmDFDWLBggdDR\n0cFcjSzhBIHOJSWEEKXQPaoIIURBFKqEEKIgClVCCFEQhSohhCiIQpUQQhREoUoIIQr6f1KjKxbl\nm7+HAAAAAElFTkSuQmCC\n" } ], "prompt_number": 144 }, { "cell_type": "code", "collapsed": false, "input": [ "P = blur_image(Z, 5)\n", "cum_P = np.cumsum(np.reshape(P, None, 1))\n", "total = cum_P[-1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 55 }, { "cell_type": "code", "collapsed": false, "input": [ "P = np.exp(Z)\n", "P.size\n", "P.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 97, "text": [ "(56, 76)" ] } ], "prompt_number": 97 }, { "cell_type": "code", "collapsed": false, "input": [ "P = np.exp(Z / 6)\n", "\n", "pixel_Z = np.kron(Z, np.ones((8, 8)))\n", "pixel_Z = np.concatenate((pixel_Z, np.zeros((448, 32))), axis=1)\n", "pixel_Z = np.concatenate((pixel_Z, np.zeros((32, 640))), axis=0)\n", "print pixel_Z.shape\n", "pixel_P = np.exp(pixel_Z/6)\n", "cum_P = np.cumsum(np.reshape(pixel_P, None, 1))\n", "total = cum_P[-1]\n", "new = np.random.sample(1000)*total\n", "ndx = np.searchsorted(cum_P, new)\n", "y = ndx // im_pair.A.size[0]\n", "x = ndx % im_pair.A.size[0]\n", "ndx[x > 600] = ndx[x > 600] - 40\n", "ndx[y > 440] = ndx[y > 440] - 40 * im_pair.A.size[0]\n", "y = ndx // im_pair.A.size[0]\n", "x = ndx % im_pair.A.size[0]\n", "plt.figure()\n", "plt.plot(x, y, 'r.')\n", "plt.gca().invert_yaxis()\n", "plt.savefig('sample_points.pdf')\n", "pickle.dump(ndx, open('adaptive_coords.pck', 'wb'))\n", "print max(ndx), 640*480" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(480, 640)\n", "282142" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 307200\n" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 145 }, { "cell_type": "code", "collapsed": false, "input": [ "print max(x), max(y)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "600 440\n" ] } ], "prompt_number": 136 }, { "cell_type": "code", "collapsed": false, "input": [ "a = np.array([1,2,3])\n", "a[a > 1]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 132, "text": [ "array([2, 3])" ] } ], "prompt_number": 132 }, { "cell_type": "code", "collapsed": false, "input": [ "np.searchsorted(cum_P, total)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 59, "text": [ "3035" ] } ], "prompt_number": 59 }, { "cell_type": "code", "collapsed": false, "input": [ "3035 // frame_cols(im_pair.A)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 60, "text": [ "39" ] } ], "prompt_number": 60 }, { "cell_type": "code", "collapsed": false, "input": [ "frame_rows(im_pair.A)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 61, "text": [ "56" ] } ], "prompt_number": 61 }, { "cell_type": "code", "collapsed": false, "input": [ "frame_cols(im_pair.A)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 66, "text": [ "76" ] } ], "prompt_number": 66 }, { "cell_type": "code", "collapsed": false, "input": [ "X.size" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 62, "text": [ "76" ] } ], "prompt_number": 62 }, { "cell_type": "code", "collapsed": false, "input": [ "Z.size" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 63, "text": [ "4256" ] } ], "prompt_number": 63 }, { "cell_type": "code", "collapsed": false, "input": [ "np.concatenate((np.array([[1],[2],[3]]), np.zeros((3,2))), axis=1)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 113, "text": [ "array([[ 1., 0., 0.],\n", " [ 2., 0., 0.],\n", " [ 3., 0., 0.]])" ] } ], "prompt_number": 113 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }