Skip to content

Instantly share code, notes, and snippets.

@ycopin
Created March 25, 2016 16:08
Show Gist options
  • Save ycopin/7e3c454b239801c42d99 to your computer and use it in GitHub Desktop.
Save ycopin/7e3c454b239801c42d99 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# Thin-disk galaxy kinematics in slitless spectrography\n\n**Author:** Yannick Copin <y.copin@ipnl.in2p3.fr>"
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "# Technical stuff related to the Jupyter notebook\n%matplotlib inline",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "import numpy as N\nfrom matplotlib import pyplot as P\ntry:\n import seaborn\n seaborn.set_style(\"ticks\", {'axes.grid': True})\nexcept ImportError:\n pass\n\nRAD2DEG = 180. / N.pi # ~57 deg/rad\n\nP.rcParams['image.cmap'] = 'gray_r'",
"execution_count": 2,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Coordinates\n\nCoordinate cubes:"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "xx = N.linspace(-10, 10, 41) # Spatial coordinates\nyy = N.linspace(-9, 9, 37) # yy has a different shape just for debugging purposes\nll = N.linspace(-10, 10, 101) # Spectral coordinates\nlbda, y_in, x_in = N.meshgrid(ll, yy, xx, indexing='ij')\nprint(x_in.shape)",
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "(101, 37, 41)\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Internal thin-disk coordinates:"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "r_in = N.hypot(x_in, y_in)\ntheta = N.arctan2(y_in, x_in) # [rad]\n\nP.imshow(r_in[0] < 8, extent=[xx[0], xx[-1], yy[0], yy[-1]])",
"execution_count": 4,
"outputs": [
{
"execution_count": 4,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xaf2e29ac>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAFXCAYAAABEPvIWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADmlJREFUeJzt3V9o1XUfwPHP0eEzcFY3ooKiUllpJP6BoNIbM/NWJggL\nEUx3oxdWkgixeaGLqCtnFnTjIvJiBN1l2YWRBaXUwHCCpDkDh3fpRCb6ey6kUWluns7285zP6wUH\nnu3sHD98n7Pz7nvO+e1XKYqiCABSmlT2APv37y97hIZjTWvPmtaeNR0f97uulbJ3Ak888UScOXOm\nzBEajjWtPWtae9Z0fNzvupa+EwCgPCIAkJgIACTWVOY/fv369YiI+O2332Ly5MlljtJwLl68WPYI\nDcea1p41ra2bN29GxO3n1ubm5jHdptQ3hk+cOBFtbW1l/fMADemTTz6J5cuXj+lnS90JTJ8+PSJu\nDzxz5swyR2koZ8+ejccee6zsMRqKNa09a1p7ly5dira2tpHn1rEoNQJ/vgQ0c+bMmD17dpmjNJQr\nV65YzxqzprVnTcfP/by87o1hgMREACAxEQBITAQAEhMBgMREACAxEQBITAQAEhMBgMREACAxEQBI\nTAQAEhMBgMREACAxEQBITAQAEhMBgMREACAxEQBITAQAEhMBgMSayh6AfCqVStkj3Leenp5YuHBh\n2WNUpSiKskfgAWYnAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiTlOgPtSj5/xz64W/5851qBx2QkA\nJCYCAImJAEBiIgCQmAgAJCYCAImJAEBiIgCQmIPFknGwF9X4r48bB5s9uOwEABITAYDERAAgMREA\nSEwEABITAYDERAAgMRFoIJVKJSqVSpw4cWLkf//zAmW422Pxn49TyiECAImJAEBiIgCQmAgAJCYC\nAImJAEBiIgCQmPMJ1BGfpaaRjfb4dk6C8WEnAJCYCAAkJgIAiYkAQGIiAJCYCAAk9p8+Irpu3bpo\naWmJiIjZs2fHvn37ajIUABOj6ggMDw9HRERPT0/NhgFgYlX9clB/f39cu3YtNm/eHJs2bYq+vr5a\nzpXSv50Ixkk3wO/HeKl6J9Dc3BybN2+O9evXx/nz52PLli1x5MiRmDTJ2wwA9aJSVHks9vDwcBRF\nEf/73/8iImL9+vXR3d0dM2bMuOvP79+/P7q7u+963Ycffvivt8vkxIkTNbmf+fPnx7lz52pyX9xm\nTWuv1mu6fPnymt1XvRocHIz29va7Xrdt27bYvn37nVcUVfr000+Lzs7OoiiK4tKlS8XatWuLmzdv\n3td9DAwMFAsWLCgGBgaqHaOhRERNLj09PTW7LxdrWi9rSnXPqVW/HNTa2hq7d++Otra2qFQqsW/f\nPi8FAdSZqiPQ1NQU77zzTi1nAWCC+U93gMREACAxJ5WZID7HDONrLL9jhRPT3MFOACAxEQBITAQA\nEhMBgMREACAxEQBITAQAEhMBgMREACAxEQBITAQAEhMBgMREACAxEQBITAQAEhMBgMScVKZGnDQG\nHnyj/Z5mPOmMnQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBA\nYiIAkJgIACTmfAJj5HwB0Pgynm/ATgAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREA\nSEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAg\nMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDE\nRAAgsaZqblQURXR2dsaZM2diypQpsXfv3pgzZ06tZwNgnFW1Ezh69GgMDw/H4cOH4/XXX4+urq5a\nzwXABKgqAidPnowVK1ZERMTixYvj1KlTNR0KgIlRVQSuXr0a06ZNG/m6qakpbt26VbOhAJgYVb0n\n0NLSEkNDQyNf37p1KyZNundP9u/fH93d3Xe97uzZs3HlypVqRpkwPT09ZY8wZvPnz6+reeuBNa29\nelzT06dPlz3CPQ0ODkZExKpVq+64btu2bbF9+/Y7b1RU4ciRI8WuXbuKoiiKn376qdiyZUs1d1MM\nDAwUCxYsKAYGBqq6/USKiLq59PT0lD5Do12sqTWNqOrpckJV85xa1U5g9erVcfz48diwYUNEhDeG\nAepUVRGoVCqxZ8+eWs8CwARzsBhAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgI\nACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIA\nkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBA\nYiIAkFhT2QPUi6Io7nl9pVKZoEmA8TLa73kjshMASEwEABITAYDERAAgMREASEwEABITAYDERAAg\nMREASEwEABITAYDERAAgMREASEwEABITAYDEnE+gRpxvAB58Gc8XMBo7AYDERAAgMREASEwEABIT\nAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABJzUpkJMpaTWTjxDFTP\nCWOqYycAkFjVO4GVK1fGvHnzIiJiyZIlsWPHjlrNBMAEqSoCFy5ciEWLFsXBgwdrPQ8AE6iql4NO\nnToVg4ODsXHjxmhvb49z587Vei4AJsCoO4He3t44dOjQ377X0dER7e3tsWbNmjh58mTs3Lkzent7\nx21IAMbHqBFobW2N1tbWv33v+vXrMXny5IiIWLZsWVy+fHl8pgNgXFX1nsCBAwfi4YcfjldffTX6\n+/tj1qxZo95m//790d3dfdfrzp49G1euXKlmlIbS09NTk/uZP39+ze6L26xp7dV6TU+fPl2z+6pX\ng4ODERGxatWqO67btm1bbN++/c4bFVX4448/ivb29uKVV14pNm3aVPz666/V3E0xMDBQLFiwoBgY\nGKjq9tlExJguPT09Y/5ZF2taL2vK6Kp5Tq1qJzBt2rT44IMPqrkpAA8QB4sBJCYCAImJAEBiIgCQ\nmAgAJCYCAImJAEBiTipTR4pRTprhpDTUs9Ee34wPOwGAxEQAIDERAEhMBAASEwGAxEQAIDERAEjM\ncQIN5M/PWZ8+ffpfP3PtWALKcLfH470ep0wcOwGAxEQAIDERAEhMBAASEwGAxEQAIDERAEjMcQLJ\n/NfPZTvOICef529cdgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAk5mAx7kstDhpywNnEcqAX\n92InAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiTlOgAlXj59bP336dF3ODaOxEwBITAQAEhMBgMRE\nACAxEQBITAQAEhMBgMREACAxEQBITAQAEhMBgMREACAxEQBITAQAEhMBgMREACAxEQBITAQAEhMB\ngMREACAxEQBITAQAEhMBgMSayvzHb968GRERly5dKnOMhjM4OBjTpk0re4yGYk1rz5rW3p/PpX8+\nt45FqRG4fPlyRES0tbWVOQZAQ7l8+XLMnTt3TD9bagSefvrpiIj48ssvY/LkyWWO0lBWrVoVX3/9\nddljNBRrWnvWtPZu3rwZL7300shz61iUGoHm5uaIiDEXi7GbPXt22SM0HGtae9Z0fPz53DoW3hgG\nSEwEABITAYDEJnd2dnaWPcSzzz5b9ggNx5rWnjWtPWs6Pu5nXStFURTjOAsADzAvBwEkJgIAiYkA\nQGIiAJCYCAAkVuqfjfjqq6/iiy++iPfeey8iIvr6+mLv3r3R1NQUzz33XGzbtq3M8eraypUrY968\neRERsWTJktixY0e5A9Wpoiiis7Mzzpw5E1OmTIm9e/fGnDlzyh6r7q1bty5aWloi4vafjti3b1/J\nE9Wvvr6+ePfdd+Pjjz+OCxcuxK5du2LSpEnx+OOPR0dHx6i3Ly0Ce/fujePHj8dTTz018r2Ojo7o\n7u6O2bNnx9atW6O/vz+efPLJskasWxcuXIhFixbFwYMHyx6l7h09ejSGh4fj8OHD0dfXF11dXfH+\n+++XPVZdGx4ejoiInp6ekiepfx999FF8/vnnMXXq1IiI6Orqitdeey2WL18eHR0dcfTo0XjxxRfv\neR+lvRy0dOnS+OtxalevXo0bN26M/EGpF154Ib777ruSpqtvp06disHBwdi4cWO0t7fHuXPnyh6p\nbp08eTJWrFgRERGLFy+OU6dOlTxR/evv749r167F5s2bY9OmTdHX11f2SHVr7ty5ceDAgZGvf/nl\nl1i+fHlE3H414Pvvvx/1PsZ9J9Db2xuHDh362/e6urpi7dq18cMPP4x8b2hoaGR7GBExderUuHjx\n4niPV/futr4dHR3R3t4ea9asiZMnT8bOnTujt7e3pAnr29WrV/924pOmpqa4detWTJrk7bRqNTc3\nx+bNm2P9+vVx/vz52LJlSxw5csSaVmH16tXx+++/j3z912N/p06dGleuXBn1PsY9Aq2trdHa2jrq\nz02dOjWuXr068vXQ0FA89NBD4zlaQ7jb+l6/fn3k/AzLli0bOXkP96+lpSWGhoZGvhaA/27evHkj\nfz5+3rx58cgjj8Tly5djxowZJU9W//762Bzrc+gD82huaWmJKVOmxMDAQBRFEd9++20sW7as7LHq\n0oEDB0Z2B/39/TFr1qySJ6pfS5cujWPHjkVExM8//xwLFiwoeaL699lnn8Xbb78dEbdPMTk0NBTT\np08vearGsHDhwvjxxx8jIuKbb74Z03NoqZ8O+qc9e/bEG2+8Ebdu3Yrnn38+nnnmmbJHqktbt26N\nnTt3xrFjx6KpqSm6urrKHqlurV69Oo4fPx4bNmyIiLCWNdDa2hq7d++Otra2qFQqsW/fPrurGnnz\nzTfjrbfeihs3bsSjjz4aL7/88qi38QfkABKTX4DERAAgMREASEwEABITAYDERAAgMREASEwEABL7\nP8ahFsfgXp03AAAAAElFTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0xaf3594ec>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Projected coordinates:"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "incl = 60. / RAD2DEG # Disk inclination (0 is face-on) [rad]\n\nx = x_in * N.cos(incl) # Inclination along the vertical axis\ny = y_in\npsi = N.arctan2(y, x) # Azimuthal angle\nr = N.hypot(x, y)\nm = N.hypot(x_in / N.cos(incl), y_in) # Elliptical radius\n\nP.imshow(m[0] < 8, extent=[xx[0], xx[-1], yy[0], yy[-1]])",
"execution_count": 5,
"outputs": [
{
"execution_count": 5,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xaebba9cc>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAFXCAYAAABEPvIWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADllJREFUeJzt3V9o1fX/wPHX0SGCs7yRFBZuVJYZiX8g6I83y8xbmSAM\nRDDzRi+sRiLU5oUuoq7U6qKbFpEXEnSXpRdGFpRSA3MTBM0ZOHY5J0PRz+8iGvVtvzZPZ/t4zuvx\ngAOdbZ9zXnvv43n2OWefnUpRFEUAkNKcsgc4fPhw2SM0HGtae9a09qzpzLjXda2UfSTw+OOPx8WL\nF8scoeFY09qzprVnTWfGva5r6UcCAJRHBAASEwGAxJrKvPPx8fGIiPjtt99i7ty5ZY7ScK5du1b2\nCA3HmtaeNa2tO3fuRMQfj63z58+f1jalvjB89uzZ6OzsLOvuARrSZ599FuvWrZvW15Z6JLB48eKI\n+GPgJUuWlDlKQ7l06VI8+uijZY/RUKxp7VnT2rt+/Xp0dnZOPLZOR6kR+PMpoCVLlkRLS0uZozSU\n0dFR61lj1rT2rOnMuZen170wDJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIA\niYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCNCQKpVKTS9nz56t+W1WKpWy\nlwlEACAzEQBITAQAEhMBgMREACAxEQBITAQAEmsqewCoRqP8jv1U30dRFLM0CVk5EgBITAQAEhMB\ngMREACAxEQBITAQAEhMBgMREACAxJ4tx32mUE8FqYTpr4YQy/gtHAgCJiQBAYiIAkJgIACQmAgCJ\niQBAYiIAkJjzBJh1zgOoLW9Mw3/hSAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREA\nSEwEABITAYDERAAgMREASOw//SnpzZs3R3Nzc0REtLS0xKFDh2oyFACzo+oI3Lp1KyIi+vr6ajYM\nALOr6qeDBgcH4+bNm7Fjx47Yvn179Pf313Iu6lilUvnXC7PLz4N/U/WRwPz582PHjh2xZcuWuHLl\nSuzcuTNOnDgRc+Z4mQGgXlQdgdbW1li2bNnEfy9atChGRkbioYcemvTrDx8+HEeOHJn0c5cuXYrR\n0dFqR+F/jI+Px8DAQGn334hPEba1tTXk9xURpe0rZe+njWh4eDgiItrb2//xud27d8eePXv+uVFR\npc8//7zo6ekpiqIorl+/XmzatKm4c+fOPd3G0NBQsXz58mJoaKjaMZjEhQsXSr3/iGi4S19fX+kz\nzNSlLGXvp42omsfUqo8EOjo6Yv/+/dHZ2RmVSiUOHTrkqSCAOlN1BJqamuLdd9+t5SwAzDL/6w6Q\nmAgAJCYCAImJAEBiIgCQmAgAJCYCAImJAEBiIgCQmAgAJCYCAImJAEBiIgCQmAgAJCYCAImJAEBi\nIgCQmAgAJCYCAIlV/R7D5FSpVMoegRqbzs+0KIpZmIQyOBIASEwEABITAYDERAAgMREASEwEABIT\nAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwE\nABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREA\nSEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAg\nMREASEwEABITAYDERAAgMREASKypmo2Kooienp64ePFizJs3Lw4ePBgPP/xwrWejBJVKpewRuA9N\ntV8URTFLk1BrVR0JnDx5Mm7duhXHjh2L119/PXp7e2s9FwCzoKoInDt3Ll544YWIiFi1alWcP3++\npkMBMDuqisCNGzdi4cKFE9ebmpri7t27NRsKgNlR1WsCzc3NMTY2NnH97t27MWfOv/fk8OHDceTI\nkUk/d+nSpRgdHa1mFCYxPj4eAwMDVW3b19dX42kaQ1tbm7X5F9Xsb/9lP2Vyw8PDERHR3t7+j8/t\n3r079uzZ88+NiiqcOHGi2LdvX1EURfHzzz8XO3furOZmiqGhoWL58uXF0NBQVdszuQsXLlS9bUS4\nTHLp6+srfYb7+TLb+ymTq+YxtaojgQ0bNsSZM2di69atERFeGAaoU1VFoFKpxIEDB2o9CwCzrKoI\n0LiKKX7f23kEOU21X1C/nDEMkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJ\niQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQm\nAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgI\nACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIA\nkFhT2QNQX4qimPJrKpXKLExCrUznZ0rjciQAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIA\nkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACRW9dtLrl+/PlpbWyMiYvXq1bF3795a\nzQTALKkqAlevXo2VK1fGhx9+WOt5AJhFVT0ddP78+RgeHo5t27bFrl274vLly7WeC4BZMOWRwPHj\nx+OTTz7528e6u7tj165dsXHjxjh37lx0dXXF8ePHZ2xIAGbGlBHo6OiIjo6Ov31sfHw85s6dGxER\na9eujZGRkZmZDoAZVdVrAkePHo0HH3wwXnnllRgcHIylS5dOuc3hw4fjyJEjk37u0qVLMTo6Ws0o\nTGJ8fDwGBgZKu/++vr7S7numtLW1NeT3FRGl7Stl76eNaHh4OCIi2tvb//G53bt3x549e/7x8UpR\nFMW93tHo6Gh0dXXF2NhYNDU1xdtvvx1tbW33PPC1a9eivb09Tp06FS0tLfe8PZMbGBiIFStWlD3G\n/6tSqZQ9wj3r6+uLbdu2lT1GVar4Jz4r7vf9tB5V85ha1ZHAwoUL46OPPqpmUwDuI04WA0hMBAAS\nEwGAxEQAIDERAEhMBAASEwGAxEQAIDERAEhMBAASEwGAxEQAIDERAEhMBAASEwGAxKp6PwH4L6Z6\nk5N6fNOZMt2vbxpDfXAkAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiTlPgPvOdH7vPcu5BM4BYKY5\nEgBITAQAEhMBgMREACAxEQBITAQAEhMBgMREACAxJ4tRlxrljWmcDEbZHAkAJCYCAImJAEBiIgCQ\nmAgAJCYCAImJAEBizhOgIdX69+8HBgb8Tj8NyZEAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIA\niYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAk\n1lTmnd+5cyciIq5fv17mGA1neHg4Fi5cWPYYDcWa1p41rb0/H0v/fGydjlIjMDIyEhERnZ2dZY4B\n0FBGRkZi2bJl0/raUiPw1FNPRUTE119/HXPnzi1zlIbS3t4ep06dKnuMhmJNa8+a1t6dO3fipZde\nmnhsnY5SIzB//vyIiGkXi+lraWkpe4SGY01rz5rOjD8fW6fDC8MAiYkAQGIiAJDY3J6enp6yh3jm\nmWfKHqHhWNPas6a1Z01nxr2sa6UoimIGZwHgPubpIIDERAAgMREASEwEABITAYDESv2zEd988018\n9dVX8f7770dERH9/fxw8eDCampri2Wefjd27d5c5Xl1bv359tLa2RkTE6tWrY+/eveUOVKeKooie\nnp64ePFizJs3Lw4ePBgPP/xw2WPVvc2bN0dzc3NE/PGnIw4dOlTyRPWrv78/3nvvvfj000/j6tWr\nsW/fvpgzZ0489thj0d3dPeX2pUXg4MGDcebMmVixYsXEx7q7u+PIkSPR0tISr776agwODsYTTzxR\n1oh16+rVq7Fy5cr48MMPyx6l7p08eTJu3boVx44di/7+/ujt7Y0PPvig7LHq2q1btyIioq+vr+RJ\n6t/HH38cX375ZSxYsCAiInp7e+O1116LdevWRXd3d5w8eTJefPHFf72N0p4OWrNmTfz1PLUbN27E\n7du3J/6g1PPPPx/ff/99SdPVt/Pnz8fw8HBs27Ytdu3aFZcvXy57pLp17ty5eOGFFyIiYtWqVXH+\n/PmSJ6p/g4ODcfPmzdixY0ds3749+vv7yx6pbi1btiyOHj06cf3XX3+NdevWRcQfzwb88MMPU97G\njB8JHD9+PD755JO/fay3tzc2bdoUP/7448THxsbGJg4PIyIWLFgQ165dm+nx6t5k69vd3R27du2K\njRs3xrlz56KrqyuOHz9e0oT17caNG39745Ompqa4e/duzJnj5bRqzZ8/P3bs2BFbtmyJK1euxM6d\nO+PEiRPWtAobNmyI33//feL6X8/9XbBgQYyOjk55GzMegY6Ojujo6Jjy6xYsWBA3btyYuD42NhYP\nPPDATI7WECZb3/Hx8Yn3Z1i7du3Em/dw75qbm2NsbGziugD8d62trRN/Pr61tTUWLVoUIyMj8dBD\nD5U8Wf3767453cfQ+2Zvbm5ujnnz5sXQ0FAURRHfffddrF27tuyx6tLRo0cnjg4GBwdj6dKlJU9U\nv9asWROnT5+OiIhffvklli9fXvJE9e+LL76Id955JyL+eIvJsbGxWLx4cclTNYYnn3wyfvrpp4iI\n+Pbbb6f1GFrqbwf9rwMHDsQbb7wRd+/ejeeeey6efvrpskeqS6+++mp0dXXF6dOno6mpKXp7e8se\nqW5t2LAhzpw5E1u3bo2IsJY10NHREfv374/Ozs6oVCpx6NAhR1c18uabb8Zbb70Vt2/fjkceeSRe\nfvnlKbfxB+QAEpNfgMREACAxEQBITAQAEhMBgMREACAxEQBITAQAEvs/vgbpC8/JQvIAAAAASUVO\nRK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0xaf2c464c>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**TODO:** include position angle."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Simple case: uniform disk, no rotation\n\nThe model is restricted to a uniform disk without any internal kinematics: the spectrum is uniform over the disk extent."
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "r0 = 8. # Disk radius\n\ndisk = N.zeros_like(m)\ndisk[m < r0] = 1\nP.imshow(disk[0], extent=[xx[0], xx[-1], yy[0], yy[-1]])",
"execution_count": 6,
"outputs": [
{
"execution_count": 6,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xaeb11a8c>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAFXCAYAAABEPvIWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADllJREFUeJzt3V9o1fX/wPHX0SGCs7yRFBZuVJYZiX8g6I83y8xbmSAM\nRDDzRi+sRiLU5oUuoq7U6qKbFpEXEnSXpRdGFpRSA3MTBM0ZOHY5J0PRz+8iGvVtvzZPZ/t4zuvx\ngAOdbZ9zXnvv43n2OWefnUpRFEUAkNKcsgc4fPhw2SM0HGtae9a09qzpzLjXda2UfSTw+OOPx8WL\nF8scoeFY09qzprVnTWfGva5r6UcCAJRHBAASEwGAxJrKvPPx8fGIiPjtt99i7ty5ZY7ScK5du1b2\nCA3HmtaeNa2tO3fuRMQfj63z58+f1jalvjB89uzZ6OzsLOvuARrSZ599FuvWrZvW15Z6JLB48eKI\n+GPgJUuWlDlKQ7l06VI8+uijZY/RUKxp7VnT2rt+/Xp0dnZOPLZOR6kR+PMpoCVLlkRLS0uZozSU\n0dFR61lj1rT2rOnMuZen170wDJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIA\niYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCNCQKpVKTS9nz56t+W1WKpWy\nlwlEACAzEQBITAQAEhMBgMREACAxEQBITAQAEmsqewCoRqP8jv1U30dRFLM0CVk5EgBITAQAEhMB\ngMREACAxEQBITAQAEhMBgMREACAxJ4tx32mUE8FqYTpr4YQy/gtHAgCJiQBAYiIAkJgIACQmAgCJ\niQBAYiIAkJjzBJh1zgOoLW9Mw3/hSAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREA\nSEwEABITAYDERAAgMREASOw//SnpzZs3R3Nzc0REtLS0xKFDh2oyFACzo+oI3Lp1KyIi+vr6ajYM\nALOr6qeDBgcH4+bNm7Fjx47Yvn179Pf313Iu6lilUvnXC7PLz4N/U/WRwPz582PHjh2xZcuWuHLl\nSuzcuTNOnDgRc+Z4mQGgXlQdgdbW1li2bNnEfy9atChGRkbioYcemvTrDx8+HEeOHJn0c5cuXYrR\n0dFqR+F/jI+Px8DAQGn334hPEba1tTXk9xURpe0rZe+njWh4eDgiItrb2//xud27d8eePXv+uVFR\npc8//7zo6ekpiqIorl+/XmzatKm4c+fOPd3G0NBQsXz58mJoaKjaMZjEhQsXSr3/iGi4S19fX+kz\nzNSlLGXvp42omsfUqo8EOjo6Yv/+/dHZ2RmVSiUOHTrkqSCAOlN1BJqamuLdd9+t5SwAzDL/6w6Q\nmAgAJCYCAImJAEBiIgCQmAgAJCYCAImJAEBiIgCQmAgAJCYCAImJAEBiIgCQmAgAJCYCAImJAEBi\nIgCQmAgAJCYCAIlV/R7D5FSpVMoegRqbzs+0KIpZmIQyOBIASEwEABITAYDERAAgMREASEwEABIT\nAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwE\nABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREA\nSEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAgMREASEwEABITAYDERAAg\nMREASEwEABITAYDERAAgMREASKypmo2Kooienp64ePFizJs3Lw4ePBgPP/xwrWejBJVKpewRuA9N\ntV8URTFLk1BrVR0JnDx5Mm7duhXHjh2L119/PXp7e2s9FwCzoKoInDt3Ll544YWIiFi1alWcP3++\npkMBMDuqisCNGzdi4cKFE9ebmpri7t27NRsKgNlR1WsCzc3NMTY2NnH97t27MWfOv/fk8OHDceTI\nkUk/d+nSpRgdHa1mFCYxPj4eAwMDVW3b19dX42kaQ1tbm7X5F9Xsb/9lP2Vyw8PDERHR3t7+j8/t\n3r079uzZ88+NiiqcOHGi2LdvX1EURfHzzz8XO3furOZmiqGhoWL58uXF0NBQVdszuQsXLlS9bUS4\nTHLp6+srfYb7+TLb+ymTq+YxtaojgQ0bNsSZM2di69atERFeGAaoU1VFoFKpxIEDB2o9CwCzrKoI\n0LiKKX7f23kEOU21X1C/nDEMkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJ\niQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQm\nAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgI\nACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIA\nkFhT2QNQX4qimPJrKpXKLExCrUznZ0rjciQAkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIA\nkJgIACQmAgCJiQBAYiIAkJgIACQmAgCJiQBAYiIAkJgIACRW9dtLrl+/PlpbWyMiYvXq1bF3795a\nzQTALKkqAlevXo2VK1fGhx9+WOt5AJhFVT0ddP78+RgeHo5t27bFrl274vLly7WeC4BZMOWRwPHj\nx+OTTz7528e6u7tj165dsXHjxjh37lx0dXXF8ePHZ2xIAGbGlBHo6OiIjo6Ov31sfHw85s6dGxER\na9eujZGRkZmZDoAZVdVrAkePHo0HH3wwXnnllRgcHIylS5dOuc3hw4fjyJEjk37u0qVLMTo6Ws0o\nTGJ8fDwGBgZKu/++vr7S7numtLW1NeT3FRGl7Stl76eNaHh4OCIi2tvb//G53bt3x549e/7x8UpR\nFMW93tHo6Gh0dXXF2NhYNDU1xdtvvx1tbW33PPC1a9eivb09Tp06FS0tLfe8PZMbGBiIFStWlD3G\n/6tSqZQ9wj3r6+uLbdu2lT1GVar4Jz4r7vf9tB5V85ha1ZHAwoUL46OPPqpmUwDuI04WA0hMBAAS\nEwGAxEQAIDERAEhMBAASEwGAxEQAIDERAEhMBAASEwGAxEQAIDERAEhMBAASEwGAxKp6PwH4L6Z6\nk5N6fNOZMt2vbxpDfXAkAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiTlPgPvOdH7vPcu5BM4BYKY5\nEgBITAQAEhMBgMREACAxEQBITAQAEhMBgMREACAxJ4tRlxrljWmcDEbZHAkAJCYCAImJAEBiIgCQ\nmAgAJCYCAImJAEBizhOgIdX69+8HBgb8Tj8NyZEAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIA\niYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAkJgIAiYkAQGIiAJCYCAAk\n1lTmnd+5cyciIq5fv17mGA1neHg4Fi5cWPYYDcWa1p41rb0/H0v/fGydjlIjMDIyEhERnZ2dZY4B\n0FBGRkZi2bJl0/raUiPw1FNPRUTE119/HXPnzi1zlIbS3t4ep06dKnuMhmJNa8+a1t6dO3fipZde\nmnhsnY5SIzB//vyIiGkXi+lraWkpe4SGY01rz5rOjD8fW6fDC8MAiYkAQGIiAJDY3J6enp6yh3jm\nmWfKHqHhWNPas6a1Z01nxr2sa6UoimIGZwHgPubpIIDERAAgMREASEwEABITAYDESv2zEd988018\n9dVX8f7770dERH9/fxw8eDCampri2Wefjd27d5c5Xl1bv359tLa2RkTE6tWrY+/eveUOVKeKooie\nnp64ePFizJs3Lw4ePBgPP/xw2WPVvc2bN0dzc3NE/PGnIw4dOlTyRPWrv78/3nvvvfj000/j6tWr\nsW/fvpgzZ0489thj0d3dPeX2pUXg4MGDcebMmVixYsXEx7q7u+PIkSPR0tISr776agwODsYTTzxR\n1oh16+rVq7Fy5cr48MMPyx6l7p08eTJu3boVx44di/7+/ujt7Y0PPvig7LHq2q1btyIioq+vr+RJ\n6t/HH38cX375ZSxYsCAiInp7e+O1116LdevWRXd3d5w8eTJefPHFf72N0p4OWrNmTfz1PLUbN27E\n7du3J/6g1PPPPx/ff/99SdPVt/Pnz8fw8HBs27Ytdu3aFZcvXy57pLp17ty5eOGFFyIiYtWqVXH+\n/PmSJ6p/g4ODcfPmzdixY0ds3749+vv7yx6pbi1btiyOHj06cf3XX3+NdevWRcQfzwb88MMPU97G\njB8JHD9+PD755JO/fay3tzc2bdoUP/7448THxsbGJg4PIyIWLFgQ165dm+nx6t5k69vd3R27du2K\njRs3xrlz56KrqyuOHz9e0oT17caNG39745Ompqa4e/duzJnj5bRqzZ8/P3bs2BFbtmyJK1euxM6d\nO+PEiRPWtAobNmyI33//feL6X8/9XbBgQYyOjk55GzMegY6Ojujo6Jjy6xYsWBA3btyYuD42NhYP\nPPDATI7WECZb3/Hx8Yn3Z1i7du3Em/dw75qbm2NsbGziugD8d62trRN/Pr61tTUWLVoUIyMj8dBD\nD5U8Wf3767453cfQ+2Zvbm5ujnnz5sXQ0FAURRHfffddrF27tuyx6tLRo0cnjg4GBwdj6dKlJU9U\nv9asWROnT5+OiIhffvklli9fXvJE9e+LL76Id955JyL+eIvJsbGxWLx4cclTNYYnn3wyfvrpp4iI\n+Pbbb6f1GFrqbwf9rwMHDsQbb7wRd+/ejeeeey6efvrpskeqS6+++mp0dXXF6dOno6mpKXp7e8se\nqW5t2LAhzpw5E1u3bo2IsJY10NHREfv374/Ozs6oVCpx6NAhR1c18uabb8Zbb70Vt2/fjkceeSRe\nfvnlKbfxB+QAEpNfgMREACAxEQBITAQAEhMBgMREACAxEQBITAQAEvs/vgbpC8/JQvIAAAAASUVO\nRK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0xaeac52ec>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**TODO:** include pixel integration (\"antialiasing\")."
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "def disperse_cube(cube):\n \"\"\"Disperse a cube in a slitless image.\"\"\"\n \n nl, ny, nx = cube.shape\n ima = N.zeros((ny, nx + (nl - 1))) # Empty image\n for i, subima in enumerate(cube): # Loop over constant-wavelength slices\n ima[:, i:i+nx] += subima\n \n return ima",
"execution_count": 7,
"outputs": []
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "ima = disperse_cube(disk)\nprint(ima.shape)\nP.imshow(ima)",
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "(37, 141)\n"
},
{
"execution_count": 8,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xae4b312c>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAesAAACZCAYAAAAPbhLfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFudJREFUeJzt3XtsU+cZBvDHjnFC4sSgkF7GJWwJlDsSpIVqImJcukRj\n6rpBC+TSiHQKHSBKykjALklQGloq0QulUjokpCaMaNJQu06bShPKskIElAm2pG4kLiOFtlGgkDhJ\nUzv42x/MrnOxYxs75/h8z+8vO8fn5H3a9Lw9n+3z6oQQAkRERKRaeqULAIADBw4oXYJiZM4OyJ2f\n2eUlc35mD41ODVfWjzzyCFpbW5UuQxEyZwfkzs/scmYH5M7P7KFlV8WVNREREfnGZk1ERKRybNZE\nREQqZ1DqF/f19aG5uRkpKSkAgOvXrytViuJkzg7InZ/Z5SVzfpmzX7t2DR0dHZgzZw7i4uIC3m/E\nD5i5XC5YrVZcvXoVer0eFRUVcDqdKCoqwtSpUwEA69atQ3Z2dlAFf/bZZ8jJyQlqHyIiIi04cuQI\nMjIyAn79iFfWJ06cgE6nw9GjR3H27Fns378fP/vZz7BhwwYUFBSEXKj7ivrIkSPo7u5Genp6yMeK\nZpcuXZI2OyB3fmaXMzsgd37Zs5tMJuTk5Hh6YKBGbNYrVqzAsmXLAAA3btyA2WxGS0sLrl69ivr6\neqSmpsJisSA+Pj6oXxwTEwMAeOihh2C32zFp0qSg9tcKmbMDcudndjmzA3Lnlz17YmIigB96YKAC\n+oCZXq/Hzp078fLLL+OXv/wl5s+fj5KSEtTW1mLy5MlSf8mdiIgo0oK6KcqtW7ewZs0a1NXV4YEH\nHgAAXL58GZWVlTh8+LDP/Q4cOIC333572G3V1dUwm81BvdGuJX19fdJmB+TOz+xyZgfkzi979s7O\nThQVFQ27ffPmzdiyZcuw20Zs1u+//z7a29tRVFSE7u5uPPnkk5gwYQIsFgvmzZuH2tpafPPNN9i+\nfXtQRV+/fh3Lly9HQ0MD7HY7Zs6cGdT+WmGz2aTNDsidn9nlzA7InV/27ImJiZ7eF8zbASO+Z52V\nlYXS0lLk5uaiv78fVqsVDz/8MCoqKjBmzBikpKRgz5499xWAiIiIfBuxWcfFxeGNN94Y8vOjR49G\npCAiIiIaiHcwIyIiUjnF7mAmi87OzmEfu587nU785z//GbDtzp07o1af0pKTk/HXv/5V6TIUwexy\nZgfkyj9u3DjPY7PZ7Dnnmc3mAa/zfj54G/HKmoiISPXYrImIiFSOy+AR4Gvpe7hl8NjYWPT29g5Y\n+u7q6vK5j9YkJSXhyy+/VLoMRTC7nNkB7ef3t4ztPueF41gy4ZU1ERGRyrFZExERqRyXwcMkkKXv\nwUvad+7cQXJyMu7cueNz6dvf/lqQnp6OtrY2pctQBLPLmR3QZv5Al6vd57xI/g4tGrFZDzfP2mg0\norS0FHq9HtOmTUNZWdlo1EpERCSlkOZZCyFQXFyMjIwMlJWVob6+HitWrBiNeomIiKQT1Dzrr776\nCmazGadPn0ZGRgYAIDMzE6dPn5ayWQe79D146aerqwvjx49HV1fXfR8rWjkcDly7dk3pMhTB7HJm\nB7ST3/uGJ4Fyn/Pul2xL4kHNs66srMSqVavgPagrISEBdrs9YgUSERHJLuh51qtXr0Zvby/OnDkD\nAGhoaEBTUxOsVqvP/bQ6z/ru3btBPe7v7x+wv8vlgtFohMPhCGgfX6+JZsnJybh165bSZSiC2eXM\nDmgnf0xMzLCPDQaDz9e4z3l6/cBrRX/7jPQ4WtzPPOsRl8G951nHxsZCr9djzpw5OHv2LB577DE0\nNjZi8eLFfo+xZcuWIQW451mnp6dH7TzrQJarvb/8P9wyeGpqKq5duybtMnhOTg6OHDmidBmKYHY5\nswPayT/4vt+BPHaf85KSku77WNHGZrMhJSUFAEZnnvVPfvITWK1WOJ1OpKWlISsrK/TqiYiIyK+Q\n51nX1NREpCAiIiIaiHcwIyIiUjnewSwIww3iGOmxrwEd7tfdvXsXnZ2dYTlWNHI4HJoeaOAPs8uZ\nHYje/OF4n9h9zgu3aHwPOxi8siYiIlI5NmsiIiKVY7MmIiJSOTZrIiIilWOzJiIiUjk2ayIiIpXz\n+9Wt/v5+7Nq1Czdu3IDT6cTGjRvx8MMPo6ioCFOnTgUArFu3DtnZ2aNRKxERkZT8Nuu//OUvGD9+\nPPbt24fOzk786le/wqZNm7BhwwYUFBSMUolERERy89uss7OzPff9drlcMBgMaGlpwZUrV1BfX4/U\n1FRYLBbEx8ePSrFK8HWDEn/bfN28ZLj9R7opSjDH8rVNzRwOB9ra2pQuQxHMLmd2ILryh/tmI5G6\nKYo3Ld4gxe971mPHjkV8fDy6u7uxdetWvPDCC5g3bx5KSkpQW1uLyZMn48CBA6NVKxERkZRGnGf9\n9ddfY/PmzcjNzcVTTz0Fu92OxMREAMDly5dRWVmJw4cP+/0l0TzP2t8M6UBmULtcLr/7JyQkoKen\nJ6C51aHUonaTJk3C9evXlS5DEcwuZ3YguvL7myEd7Nxpg8HgOef5O5b3rOtA5lyPtE0t7meetd9m\nffPmTeTn52P37t2emdXPPPMMrFYr5s6di9raWnzzzTfYvn170EW751k3NDSoep51pJfBFy1ahDNn\nzki7DL5v3z7s2LFD6TIUwexyZgeiK7+/GdLez73nU/ubTe0+54XjWIHWqRY2mw2JiYme3he2edbV\n1dXo6urCO++8g4MHD0Kn02HXrl2oqqrCmDFjkJKSgj179tx3ACIiIvLNb7O2WCywWCxDfn706NGI\nFUREREQD8aYoREREKsdmTUREpHJs1kRERCrHZk1ERKRybNZEREQqx2ZNRESkcmzWREREKsdmTURE\npHJBz7NOT09HaWkp9Ho9pk2bhrKystGqlYiISEoBz7Pu6urCk08+iRkzZqC4uBgZGRkoKytDfX09\nVqxYMVr1EhERScfvMnh2dja2bt0K4N4kp5iYGHz++efIyMgAAGRmZqKpqSnyVRIREUksqHnW27Zt\ng/eQroSEBNjt9ogXSUREJLOg51kvXboUJ0+eBAA0NDSgqakJVqvV7y/hPGvf+3OedfTM9Q03Zpcz\nOxBd+TnPOnzuZ5613/esb968icLCwgHzrGfOnIlz587h0UcfRWNjo+fn/mzZsmVIAe551unp6ZqY\nZ93b2+t5zHnWgYumub7hxuxyZgeiKz/nWYePzWZDSkoKAER+nrXFYkFlZSWcTifS0tKQlZV1f9UT\nERGRXyHNs66pqYlYQURERDSQ32YtK19Lyv6WngNZrh5u//7+fnR2doblWIG8Tm0cDgfa2tqULkMR\nzC5ndkD9+SO5jOw+540WtS6JB4t3MCMiIlI5NmsiIiKVY7MmIiJSOb5nPYzRfI/DYDBE9Pep/f0a\no9GIKVOmKF2GIphdzuxAdOUP91e33Oc8Gb+6dT94ZU1ERKRybNZEREQqx2ZNRESkcgE164sXLyIv\nLw/AvdulZWZmIj8/H/n5+fj73/8e0QKJiIhkN+IHzA4dOoQPPvgACQkJAIDm5mZs2LABBQUFka6N\niIiIEMCVdWpqKg4ePOh53tLSgpMnTyI3NxcWi2XAAAsiIiIKvxGb9cqVKweMG5s/fz527NiB2tpa\nTJ48GQcOHIhogURERLIbcZ41ANy4cQMvvvgi6urqYLfbkZiYCAC4fPkyKisrcfjwYb/7c5617/05\nzzp65vqGG7PLmR2IrvycZx0+EZtnPZznnnsOVqsVc+fORVNTE2bPnj3iPpxn7Xt/zrOOnrm+4cbs\ncmYHois/51mHT8TmWQ+noqICFRUVGDNmDFJSUrBnz55gD0FERERBCKhZT5w4EXV1dQCAGTNm4OjR\noxEtioiIiH7Am6IQERGpHJs1ERGRyrFZExERqRybNRERkcqxWRMREakcmzUREZHKsVkTERGpHJs1\nERGRygU9z7qtrQ3r169Hbm4uKioqIlocERERBdCsDx06BKvVCqfTCQDYu3cviouLUVtbC5fLhfr6\n+ogXSUREJLMRbzfqnmftvul8S0sLMjIyAACZmZk4ffo0VqxYEdkqFRTpG8LHxMSE/Xeo9Sb2wzEa\njZgyZYrSZSiC2eXMDkRv/sHnlmAHbpjNZs85LxzH8leb1gQ9z9p7omZCQgLsdntkKiMiIiIAIUzd\n8p4z2tPTM+D/hnzxN8/60qVLMJvNsNlswZYy6gKdIR0bG+t5nJyc7Hk8fvz4IfvHxcVh9uzZPudh\nhzLPOpo8+OCDKC4uVroMRTC7nNmB6M0fyjzrwfOo3ee8wcfyNcPa/RYsANy+fdvz2HtkMAB89dVX\nAedQSl9fH9rb2wEAy5cvH7I9rPOsZ82ahXPnzuHRRx9FY2MjFi9ePOI+0TzP2lugM6QDmW3t3mf2\n7NloaWnxeaxAZlsPV1u0KC4uxv79+5UuQxHMLmd2IHrzh2Pp2n3Ok3EZfFTnWZeUlOCll16C0+lE\nWloasrKygj0EERERBSHoedZTp05FTU1NRIsiIiKiH/CmKERERCrHZk1ERKRybNZEREQqF/QHzGQW\niU8bhuumKIF8hU6NjEYjJk+erHQZimB2ObMD2skf7Ke2vW+KMvicFcqxZMIrayIiIpVjsyYiIlI5\nNmsiIiKVC/k961//+tcwmUwAgEmTJqGqqipsRREREdEPQmrWDocDAPDee++FtRgiIiIaKqRl8C++\n+AK9vb0oLCxEQUEBLl68GO66iIiI6P9CurKOi4tDYWEh1qxZg//+97/47W9/i48++mjA1BQZhOOr\nA3q9PqSvXWnlawtGoxGpqalKl6EIZpczO6DN/IF8xSopKclzzvP+qlag+2vlvBcKnfAeUB0gh8MB\nIYRnFOSaNWvw9ttv48EHHxz29f5GZFZXV8NsNiMuLi7YMlQlkFGWg8dY9vf3w2AwoL+/Hy6Xa8R9\nvEdnakVSUtKQCWKyYHY5swPazD94FOZwj/V6veec5/16f/v4ehyN+vr60NnZiaKiomG3h3VEJgAc\nO3YMra2tKCsrQ3t7O3p6ejxjv4ajlRGZ/gQy4tJ7dCZwb+RlcnIybt26NeA/3ECOpRXLli3DiRMn\nlC5DEcwuZ3ZAm/kDvbJ2n/NkvLIe1RGZALB69Wrs2rULOTk50Ol0qKqqkm4JfLBQ/4gMBsOQP9pw\n/w41i42NxZQpU5QuQxHMLmd2QPv5Bzdot3HjxnnOef7mUWupQYdLSM3aYDBg37594a6FiIiIhiH3\n5TAREVEU4CCPCAhm2cbpdPp9fbQO6AjUmDFjNDHQIBTMLmd2QK78gwd0uM95gS6D0z28siYiIlI5\nNmsiIiKV4zJ4hI20tGOz2aL+a2v3w2az4fHHH1e6DEUwu5zZAbnzy37OCxWvrImIiFSOzZqIiEjl\n2KyJiIhULqT3rIUQKC8vR2trK4xGI15++WVpvoZAREQ02kK6sq6vr4fD4UBdXR1efPFF7N27N9x1\nERER0f+F1KzPnz+PJUuWAADmz5+P5ubmsBZFREREPwipWXd3dyMxMdHz3GAwDBjxSEREROET0nvW\nJpMJPT09nucul8vv1C1/86wvXboEs9kMm80WSilRr6+vT9rsgNz5mV3O7IDc+WXP3t7eDgBYvnz5\nkO1hn2e9YMECfPLJJ8jKysKFCxcwffp0v68fbp71tWvX8MQTT8BkMqGzs9PvPGwta29vlzY7IHd+\nZpczOyB3ftmzm0wmAMDx48eRmpoa8L4hNeuVK1fi1KlTWLt2LQCE9AGzjo4OAEBOTk4oJRAREUWt\njo6OoJq1TgghIliPT319fWhubkZKSgqeeOIJNDQ0KFGG4pYvXy5tdkDu/MwuZ3ZA7vyyZz9+/Dg6\nOjowZ84cxMXFBbyvYvcGj4uLQ0ZGhuf5pEmTlCpFcTJnB+TOz+zykjm/zNlTU1ODuqJ24x3MiIiI\nVI7NmoiISOXYrImIiFQupry8vFzpIgBg0aJFSpegGJmzA3LnZ3Z5yZyf2YOn2KfBiYiIKDBcBici\nIlI5NmsiIiKVY7MmIiJSOTZrIiIilWOzJiIiUjlFm7UQAmVlZVi7di3y8/Px5ZdfKllOxPX392PH\njh3IycnB008/jRMnTqCtrQ3r169Hbm4uKioqlC4x4m7duoWlS5fi6tWr0mV/9913sXbtWqxevRrv\nv/++NPmFENi1axfWrVuH3Nxcaf7dX7x4EXl5eQDgM++f/vQn/OY3v8HatWtx8uRJhSqNDO/8NpsN\nOTk5yM/Px3PPPYdvv/0WgHbze2d3+/DDDz3Dr4AQsgsFHT9+XJSWlgohhLhw4YJ4/vnnlSwn4v78\n5z+LqqoqIYQQnZ2dYunSpWLjxo3i3LlzQgghdu/eLT7++GMlS4wop9MpNm3aJH7+85+LK1euSJX9\nzJkzYuPGjUIIIXp6esSbb74pTf7GxkbxwgsvCCGEOHXqlNiyZYvms//hD38Qq1atEs8884wQQgyb\nt6OjQ6xatUo4nU5ht9vFqlWrhMPhULLssBmcPzc3V3zxxRdCCCHq6urEK6+8otn8g7MLIURLS4t4\n9tlnPT8LJbuiV9bnz5/HkiVLAADz589Hc3OzkuVEXHZ2NrZu3QoAuHv3LmJiYvD55597BppkZmai\nqalJyRIj6tVXX8W6devwwAMPQAghVfZPP/0U06dPx+9+9zs8//zzWLZsmTT5Y2NjYbfbIYSA3W6H\nwWDQfPbU1FQcPHjQ87ylpWVA3tOnT+Pf//43Fi5cCIPBAJPJhKlTp6K1tVWpksNqcP7XX38djzzy\nCIB7K4xGo1Gz+Qdnv337Nt544w1YLBbPz0LJrmiz7u7uRmJioue5wWCAy+VSsKLIGjt2LOLj49Hd\n3Y2tW7di27ZtEF73pElISIDdblewwsg5duwYkpOT8dOf/tST2fvftZazA/f+g21ubsZbb72F8vJy\nbN++XZr8CxcuxPfff4+srCzs3r0beXl5mv+7X7lyJWJiYjzPB+ft7u5GT0/PgPNffHy8Zv45DM4/\nYcIEAMC//vUv/PGPf0RBQcGQ879W8ntnd7lcsFqtKC0txdixYz2vCSW7YiMyAcBkMqGnp8fz3OVy\nQa/X9mfevv76a2zevBm5ubn4xS9+gddee82zraenB0lJSQpWFznHjh2DTqfDqVOn0NraipKSEty+\nfduzXcvZAWDcuHFIS0uDwWDAj3/8Y8TGxqK9vd2zXcv5Dx06hAULFmDbtm1ob29HXl4enE6nZ7uW\ns7t5n9fceU0mE7q7u4f8XKv+9re/obq6Gu+++y7Gjx8vRf6Wlha0tbWhvLwc33//PS5fvoy9e/di\n0aJFQWdXtDMuWLAA//jHPwAAFy5cwPTp05UsJ+Ju3ryJwsJC/P73v8dTTz0FAJg5cybOnTsHAGhs\nbMTChQuVLDFiamtrUVNTg5qaGsyYMQP79u3DkiVLpMgO3Lu6/Oc//wkAaG9vx3fffYfFixfj7Nmz\nALSdv7e3FyaTCQCQmJiI/v5+zJo1S4rsbrNmzRrytz537lycP38eDocDdrsdV65cwbRp0xSuNDI+\n+OADHDlyBDU1NZg4cSIAYN68eZrOL4TA3Llz8eGHH+K9997D/v37kZ6ejp07d4aUXdEr65UrV+LU\nqVOeT8jt3btXyXIirrq6Gl1dXXjnnXdw8OBB6HQ6WCwWVFZWwul0Ii0tDVlZWUqXOWpKSkrw0ksv\nSZF96dKl+Oyzz7B69WoIIVBeXo6JEyfCarVqPn9hYSF27tyJ9evX4+7du9i+fTtmz54tRXa34f7W\ndTod8vLysH79egghUFxcDKPRqHSpYedyuVBVVYUf/ehH2LRpE3Q6HR577DFs3rxZ0/l1Op3PbRMm\nTAg6Owd5EBERqZy23yAmIiLSADZrIiIilWOzJiIiUjk2ayIiIpVjsyYiIlI5NmsiIiKVY7MmIiJS\nOTZrIiIilfsfdAnHowFF9JQAAAAASUVORK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0xaf2b76cc>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Add a spectral component: single Gaussian emission line + constant background."
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "sigma = 2 / 2.355 # Spectral line sigma\nspec = N.exp(-0.5 * (ll / sigma)**2) + 1\nP.plot(ll, spec)",
"execution_count": 9,
"outputs": [
{
"execution_count": 9,
"output_type": "execute_result",
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0xae3d7a0c>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\netKhfXZX5rx589TR0aH+/n55vV5t27ZNq1evHvd9mpubxxQyODioK664Qq+++qpcLleyJcFCGhoa\ntHXrVrPLwCTw7OyN52dfIyMjuummm9TW1iavN7nVDUmHtjHWsmXLFoXDYTU2NurrX/+6HnjgAcXj\ncTU2NqqiomJShRvF1tXVTer1sIaamhqzS8Ak8ezsjednb8kGtpRkaFdXV2vjxo2SpJUrVyauL1u2\nTMuWLZtYdQAAYFLYIQIAAJsgtAEAsAnXU0899ZTZRRiuvvpqs0vAFPD87ItnZ288P3ubyPNzxDkK\nBwAAW6B7HAAAmyC0AQCwCUIbAACbILQBALAJQhsAAJsgtAEAsIlJn/KVSq+99ppefvllffe735Uk\ntbW16emnn5bb7da1116rpqYmkytEMj772c9qzpw5kqQlS5bokUceMbcgXFA8HtdTTz2lXbt2yePx\n6Omnn1Ztba3ZZWECvvjFL8rn80ka3X/8W9/6lskVYTxtbW36zne+o+eee04HDx7U3/3d38npdOqS\nSy7RmjVrxn296aH99NNP66233tKiRYsS19asWaN169appqZGDz74oHbu3KmFCxeaWCXGc/DgQS1e\nvFg//OEPzS4FSXr99dc1PDysjRs3qq2tTWvXrtX69evNLgtJGh4eliT9/Oc/N7kSJGvDhg3avHmz\nCgoKJElr167Vo48+qquuukpr1qzR66+/rhtvvPGC72F69/iVV16pj2/KFggEFIlEEqfWXHfddfr9\n739vUnVI1o4dO+T3+3XffffpoYce0v79+80uCeN45513dP3110uSrrjiCu3YscPkijARO3fuVCgU\n0urVq3X//ferra3N7JIwjrq6OrW2tia+/vDDD3XVVVdJGu2pfPvtt8d9j4y1tH/5y1/qZz/72RnX\n1q5dq1tuuUV//OMfE9eCwWCiu0eSCgoK1NnZmakykYRzPcs1a9booYce0s0336x33nlHX/va1/TL\nX/7SpAqRjEAgoMLCwsTXbrdbsVhMTqfpv8sjCV6vV6tXr1ZjY6MOHDigL33pS3rllVd4fha2fPly\ndXV1Jb7++IakBQUFGhgYGPc9Mhbad9xxh+64445xv6+goECBQCDxdTAY1IwZM9JZGiboXM9ycHBQ\nLpdLkrR06VL19PSYURomwOfzKRgMJr4msO1lzpw5qqurS/xzcXGxenp6VFlZaXJlSNbHP2/JZp3l\nPqE+n08ej0eHDh1SPB7X7373Oy1dutTssjCO1tbWROt7586dmjVrlskVYTxXXnmlfvOb30iStm/f\nrvnz55tcESZi06ZNeuaZZyRJfr9fwWBQ5eXlJleFibj00ku1bds2SdJvf/vbpLLO9Ilo5/L3f//3\n+upXv6pYLKbPfOYzuvzyy80uCeN48MEH9bWvfU2/+c1v5Ha7tXbtWrNLwjiWL1+ut956S3fddZck\n8cxs5o477tBjjz2me+65Rw6HQ9/61rfoKbGZv/3bv9U3vvENRSIRzZs3TytWrBj3NZzyBQCATfBr\nGQAANkFoAwBgE4Q2AAA2QWgDAGAThDYAADZBaAMAYBOENgAANvH/AZAf5PFRel1EAAAAAElFTkSu\nQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0xae2c37ec>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "cube = disk * spec[:, N.newaxis, N.newaxis] # Spectro-spatial cube \n\nima = disperse_cube(cube)\nprint(ima.shape)\nP.imshow(ima)",
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "(37, 141)\n"
},
{
"execution_count": 10,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xae29cecc>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0xae2e15ec>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false
},
"cell_type": "markdown",
"source": "## Uniform disk, solid rotation\n\nThe model is restricted to a uniform disk with a solid rotation.\n\nVelocity curve:"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "def rot_solid(r, r0=5, v0=5):\n \"\"\"Solid rotation.\"\"\"\n \n return v0 * r / r0",
"execution_count": 11,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Velocity field:"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "v_sol = rot_solid(r_in) * N.sin(incl) * N.sin(theta)\nv_map = N.ma.masked_array((v_sol * disk), mask=(disk == 0))\nP.contourf(v_map[0], extent=[xx[0], xx[-1], yy[0], yy[-1]], cmap='RdBu_r')\nP.colorbar()",
"execution_count": 12,
"outputs": [
{
"execution_count": 12,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.colorbar.Colorbar at 0xae0c92ac>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0xae27a0ec>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "spec_sol = N.exp(-0.5 * ((lbda - v_sol) / sigma)**2) + 1\ncube_sol = disk * spec_sol # Spectro-spatial cube \n\nima_sol = disperse_cube(cube_sol)\nP.imshow(ima_sol)",
"execution_count": 13,
"outputs": [
{
"execution_count": 13,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xae05b74c>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0xadfff28c>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Uniform disk, keplerian rotation\n\nWe associate a uniform disk to a realistic velocity profile."
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "def rot_plateau(r, r0=2, v0=5):\n \"\"\"Plateau rotation curve.\"\"\"\n\n return v0 * N.tanh(r / r0)\n \ndef rot_kepler(r, r0=2, v0=5):\n \"\"\"Keplerian rotation curve.\"\"\"\n \n return v0 * N.tanh(r / r0) / N.sqrt(0.5 * (1 + r / r0))\n\nrad = N.linspace(0, 10)\nP.plot(rad, rot_plateau(rad), label=\"Plateau\")\nP.plot(rad, rot_kepler(rad), label=\"Keplerian\")\nP.legend()",
"execution_count": 14,
"outputs": [
{
"execution_count": 14,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.legend.Legend at 0xaddb50ac>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nd9/teZ/x8XEefvhhRkZGAHjkkUfIzs7m6quvJjMzk6ysLEZGRrj55pvZsGEDjzzyCGNjY/T29nLP\nPfdw9913s2PHDvLz86mrq2NiYoIf/vCHxMfHL8n3ViiL1zidLl460Mx/vVDJ1IydrKQw/ubmAjbk\nxHq7NBEBdmz4xFnd1S6Fw4cP09vby+joqGfjiK997Wt8+9vfJjMzk6effpqf/exnXHbZZQwNDfHr\nX/+amZkZbrvtNq6//nrP+/z0pz9l27Zt3H333bS0tPCVr3yFX//613R3d/Pss88SGhrKV77yFQBa\nW1u55ZZbuPbaa+nt7WXHjh2egC8uLubhhx/mBz/4AS+88AIPPfTQknxvhbJ4RXvvGLv/UEpF4wBB\nVjO7PrmBay9O+dDLYIrI6hAbG8vPf/5z/vCHP/ClL32Jn/3sZzQ0NPCNb3wDALvdTmpqKgBbtmzB\naDQSEBBAVlYWbW1tnu7v2tpaDh48yIsvvojL5WJ0dBSAiIgIQkNDT/nMqKgonnzySfbs2UNQUBB2\nu93TdnJJ0vj4ePr7+5fseyuUZVnZHU7++Ho9v9lTw5zdyaXr4vncHeuJDNUKXCLyrtTUVCwWC/fc\ncw/79u3jJz/5CRkZGXz3u9/FZrNx6NAhT5f0yUFaU1NTNDY2kpaW5tmCMTMzk6KiIm6++WZ6enp4\n4YUXADAaF45zfuKJJ9i4cSN33303Bw8e5I033vC0LddaCAplWTb1bcM8+vvjNHaOEBHiz+fuWM+2\n9QneLktEVrhvfetb3HHHHXz605/mS1/6Eg6HA6PRyLe+9S16enoYHx/ngQceYGRkhJ07dxIW9u52\nrJ/97Gf56le/ym9/+1smJibYtWvXB37O1VdfzT//8z/zl7/8haysLIKCgpidnV3WxYm0S9QqslJ3\nfZmetfObl2v405sNOJ0urtuSwgO3FhLsg9ObVuo1Xm10nZfearnGJSUl7Nmzh0ceecTbpZxCu0TJ\nilTdMsj3f32Urv4JbFGB7LxzA8U5Md4uS0RkRVIoy5JwuVy8sK+J/3yuHJfLxe1XZXLPDXlYLfoj\nJyIXzpYtW9iyZYu3y7hg9DekXHBTM3Z2//44bx7vIDzYny/t2Mz6LN0di4iciUJZLqi2njH+5ckS\n2nrGyU+L5B/uu4iosABvlyUi4hMUynLB7Cvt4N9/d4ypGQcfuyKD+28txGzS8uoiImdLoSwfmt3h\n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\n",
"text/plain": "<matplotlib.figure.Figure at 0xae0b16ec>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "v_kep = rot_kepler(r_in) * N.sin(incl) * N.sin(theta)\nv_map = N.ma.masked_array((v_kep * disk), mask=(disk == 0))\nP.contourf(v_map[0], 11, extent=[xx[0], xx[-1], yy[0], yy[-1]], cmap='RdBu_r')\nP.colorbar()",
"execution_count": 15,
"outputs": [
{
"execution_count": 15,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.colorbar.Colorbar at 0xadfc488c>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n5QAAAABJRU5ErkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0xae05562c>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "spec_kep = N.exp(-0.5 * ((lbda - v_kep) / sigma)**2) + 1\ncube_kep = disk * spec_kep # Spectro-spatial cube \n\nima_kep = disperse_cube(cube_kep)\nP.imshow(ima_kep)",
"execution_count": 16,
"outputs": [
{
"execution_count": 16,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xad44e5ec>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAesAAACZCAYAAAAPbhLfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH/JJREFUeJzt3XlsFNcdB/DvrtcXa+NyGAgGmZYjQDgkcBLaCEQDpEal\nTZNCA9hQhFNBCohwlMsOtpGBlKppWkIkUiqk2BRUqSgJUg9qUkoLNBAqiGwcJI5AMcE1hJr1+tr1\nTv+gu3k73jeeXe96Zne+n3+YPWb2/ez1POY3772fTVEUBURERGRadqMbAAB79+41ugmGsXLsgLXj\nZ+zWZeX4GXtkbGa4sn788cdx5coVo5thCCvHDlg7fsZuzdgBa8fP2COL3RRX1kRERCTHzpqIiMjk\n2FkTERGZnMOoD25ra0NNTQ2ys7MBALdv3zaqKYazcuyAteNn7NZl5fitHPvNmzfR2NiICRMmIC0t\nTfd+3Q4w8/l8KCkpwY0bN2C321FeXg6Px4MVK1ZgxIgRAIBFixZh7ty5YTX4448/RkFBQVj7EBER\nJYJDhw4hLy9P9/u7vbL+8MMPYbPZcPjwYZw7dw5vvPEGvvnNb2L58uVYtmxZxA31X1EfOnQIzc3N\nGDVqVMTHimdXr161bOyAteNn7NaMHbB2/FaPPSMjAwUFBYE+UK9uO+vZs2fj2WefBQDU19cjKysL\ntbW1uHHjBqqrq5Gbm4vi4mL06dMnrA9OSkoCAAwZMgQulwvDhg0La/9EYeXYAWvHz9itGTtg7fit\nHntmZiaAL/tAvXQNMLPb7di6dSt27tyJ73znO5g8eTI2b96MqqoqDB8+3NKT3ImIiGItrEVR7t+/\njwULFuDIkSMYNGgQAODatWuoqKjAwYMHpfvt3bsXb731VsjX9u/fj6ysrLButCeStrY2y8YOWDt+\nxm7N2AFrx2/12JuamrBixYqQr69evRpr1qwJ+Vq3nfV7772HhoYGrFixAs3NzXj++ecxcOBAFBcX\nY9KkSaiqqsLdu3excePGsBp9+/ZtzJo1CydOnIDL5cK4cePC2j9R1NXVWTZ2wNrxM3Zrxg5YO36r\nx56ZmRno+8K5HdDtPev8/Hxs2bIFhYWF8Hq9KCkpwWOPPYby8nIkJycjOzsbO3bs6FEAREREJNdt\nZ52WloY333yzy/OHDx+OSYOIiIgoGFcwIyIiMjnDVjCzitbW1pDbANDS0oKOjg7cvn076LWWlpZe\na5/RvF4vLl26ZHQzDGHG2MUhLLLtzs7OkNvAo5j8PB5PYLujoyNoe+DAgTh27FjQ8+r9xWP7fL7A\ntt3+5TWGOP0lOTk56FgpKSkht8X3idsOhyPktvozbTZbt9vdMePvPlbEab3p6emBc556um96enrI\nbXqEV9ZEREQmx86aiIjI5JgGjwFZ6lud3m5tbYXP50Nra2vQa1qp80TjdDrx8OFDo5thiFjEHsay\nCSH3kW2LaWgxPS2mutWPxRR3W1tbYLu9vR1ZWVm4ffs22tvbg/ZXp8tDtUVMN2ulwVNTUwPb4rxe\n8XlxW5YqB4LT4mJKXE96PBSn04mmpqag58JJo5udVhrbf86LxrGshFfWREREJsfOmoiIyOSYBo8S\nPanvUKPBfT4fWlpapPu73e7AtphKTBSpqam4f/++0c0wRKxj15sSl6W7Zalv2YhvAEFpbXFb/O62\ntbVh9OjRqK+v7/I3Iaa+xWOrR537iWlordHgYhpcHIUsPi9LlauPLabExTS8LCUe6nFaWhru37+f\nUKlvvUuI+s95kbBySrzbzjpUPeuUlBRs2bIFdrsdo0ePRmlpaW+0lYiIyJIiqmetKArWr1+PvLw8\nlJaWorq6GrNnz+6N9hIREVlOWPWs79y5g6ysLJw5cwZ5eXkAgBkzZuDMmTOW7KzDTX2HGg2elJSE\n1tZWXalvrZR6vBo0aJBl0+Cxjl2WBlc/L6aYZYuf6FnsBNBOfYvbHo8Hd+7c6XJrR3wsfo74+bKR\n4eqFTMTUtZiiFVOpTqczsC1LjwPyUeN6UuLqdtpsNgwePLjL7z4eU+KRpKX95zwjPjuehVXPuqKi\nAvPmzQv6Y3E6nXC5XDFrIBERkdWFXc96/vz5aGlpwUcffQQAOHHiBM6ePYuSkhLpfolaz1o2GEfP\ntv+xzWaDoijSKxo9g3/iWVpaWkIOnNPDLLHruQLXs61+LPu+KoqCfv364cGDB12+x3o/JxStQV3i\ntmyetGxba3+tz9d6zSy/+57SM+dczDjYbLbAOU/9cwz39yL7PZhZT+pZd5sGF+tZp6amwm63Y8KE\nCTh37hyeeuopnDp1CtOmTdM8xpo1a7o0wF/PetSoUXFbzzpaafDOzk7LpsHHjRuHuro6o5thiFjH\nrjcNrmfxE9lCKOo0uGwhFPX2iy++iKNHj3bpsGSjycXPlP1HVX3ylo0Gl61BLUuPq48lpsTFVLvY\nKYnbQNf/OIwfPx6XL1+WvideiD8z2W0E8WeZnp4eOOeJP1P1/rLjxvv64XV1dcjOzgaA3qln/bWv\nfQ0lJSXweDwYOXIk8vPzI289ERERaYq4nnVlZWVMGkRERETB4i/pT0REZDFcwSwM6vvE4d6nDrW/\n0+lEa2tr2PepQ93/jkder9eyU7diEbuegYehBjr6yaZriduyYhuAfOqW+HxHRwe8Xi/u3r3bpZCH\n7J61+DmyOtfqe77ifWPxPrPs3rRsG9C30pns/jXQdfCV1+vFvXv3pO8xq2jcJ/af86ItHu9hh8P8\n3w4iIiKLY2dNRERkckyDE1FIsqlEWnWbZfNrxZW+/GnspKQkzXSxuC2+T5bq15qSJpuGJkv1qwuH\nhDsXnSjaeGVNRERkcuysiYiITI5pcCILiCRFG8k+epeJtNlsgX9l+4upbzFFLUvPq9vbk+WAtUbM\nq5dO1dMWop7S7Ky9Xi+2bduG+vp6eDwerFy5Eo899hhWrFiBESNGAAAWLVqEuXPn9kZbiYiILEmz\ns/7ggw/Qr18/7NmzB01NTfje976HVatWYfny5Vi2bFkvNZGIiMjaNDvruXPnBtb99vl8cDgcqK2t\nxfXr11FdXY3c3FwUFxcHLbSeaGTFOoDwF0JR7+92u5GWlga32x32QihaC7SIC6yYXajFIawiWrHL\nRiTLUrfqkc6yIh16alirj6Vn//b2dng8Hty9ezfoef9rfrJFVWTb6tSzmC4XFyyRFYno27dvYDsj\nIyPoWJmZmSH3kS2Qoq6tra485V8QJx6Kd6gXiOkp/zkvlhJxgRTNAWbp6eno06cPmpubsXbtWrz6\n6quYNGkSNm/ejKqqKgwfPhx79+7trbYSERFZUrf1rD///HOsXr0ahYWFeOGFF+ByuQL/y7x27Roq\nKipw8OBBzQ+J53rWkQw60TsYpbOzEw6HA16vV9cVUSRtMbusrCw0NTUZ3QxDxDr2SAY/hVvDWmtu\ns9b24MGD0dDQoDkoTPY3IXtei5561lolLvUMnNM7/xyIr++9Vg3pcOtO22y2wDlPq4xoJPWs46HW\ndU/qWWt21vfu3cPSpUuxffv2QM3ql156CSUlJZg4cSKqqqpw9+5dbNy4MexG++tZnzhxwtT1rGOd\nBh8wYADu379v2TR4fn4+/vSnPxndDENEK/ZwU99aqWs9KXHZttZr4rE8Hg82bNiAn//855prg8vq\nYcvWDNdKg8vWBhfT3eK2mBIH5OuGy+pcq9Pg6o4knr736nrUIj11p9W3DfznPHV6XVarWs9xtfY3\nk7q6OmRmZgb6vqjVs96/fz8ePnyIt99+G/v27YPNZsO2bduwa9cuJCcnIzs7Gzt27OhxAERERCSn\n2VkXFxejuLi4y/OHDx+OWYOIiIgoGBdFIYpDPUl9q1PX4j6ylLi4j96xE+L+odbp7uzs7JKS10qd\nh3qP1v13MRUtjgYX09XiWBkxdSq+R/1YdlzZ/etQj4nCZc678ERERBTAzpqIiMjk2FkTERGZHO9Z\nE5mU3vnM4n1f8Z5xT6dbyeo7a93/lt3zVq865vP50N7e3mUKomy6lmzVNNkqZUDw/WhxmpC4Gpls\nupZ6WpB4LHG6luyetXqeL+9ZU0/xypqIiMjk2FkTERGZHNPgRCaiZ0oWIE9Lh7samfqxbB8907sA\neZENMY3d0tKCzs5O/Pe//w1KdXfXTj8x9SxLdQPB6W5Z6lvcR1aUAwieriUuk6k1XYsomsKuZz1q\n1Chs2bIFdrsdo0ePRmlpaW+1lYiIyJJ017N++PAhnn/+eYwdOxbr169HXl4eSktLUV1djdmzZ/dW\ne4mIiCxHdz3rzs5OJCUl4fLly8jLywMAzJgxA2fOnGFnTdQN2Whun88nHdmtVXxDz0pfshHU6hrS\n4dazlqW3geCCMrKUuNfrhdfrxYMHD6AmppVlBTfE1HVWVlbI96jfJ1udTEypy9LbAFPcZLyw6lmv\nW7cu6MTidDrhcrli3kgiIiIrC7ue9cyZM3Hy5EkAwIkTJ3D27FmUlJRofgjrWT/CetZdxVNd32jz\nx97bdaf11qCWvUfrO623HnVubi5u3rzZ5XNkNaFlV71aV8Pia7JaybIr5lhfScfT9571rKOnJ/Ws\nNdPg9+7dQ1FRUVA963HjxuH8+fN48skncerUqcDzWtasWdOlAf561qNGjWI9a9azNroZURPOaO7v\nfve7+OCDD6RpaFlKW/1YTDHL9pFtq/eRpbjVaexQ22riCGp1PemdO3eirKxMcwS3LPWtJ6Wt/nyz\nncjj6XtvRD1rceGZRKtnnZ2dDQCxr2ddXFyMiooKeDwejBw5MnBPm4iIiGIjonrWlZWVMWsQERER\nBeOiKCHIUtdiGlrrNdn+6vR0W1sbFEVBW1tbVFLq4nFlbTYbr9eLL774wuhmBGjdv9VTN1qWhlb/\nvtrb2zFnzhx88sknun7H6sVDtEZah9ruZmhKgHjfUEwjy1La6sVDZPWh1elLh8OBQYMGddlflgoV\nU9ey2triz0Edi9lGc5vte6+mTjFHk/+c11vMmhIPl/E3b4iIiEgTO2siIiKTY2dNRERkcrxnHUJv\n3uOw2WwxnWNu1vnrfg6HA/379ze0DbJ70Vq1mmXTpcR7cc3NzYFt9eJBbrcbXq8X//nPf6SrfmlN\nixKnKcmmMon3fLWmOInvk22L+8g+Q2sf9Uph6enpmDRpUpe5tlrzcxOJGb73ekV76pb/nKc1dSvc\n42rtnyh4ZU1ERGRy7KyJiIhMjmlwSiha061kU6zE1LPWVDsxrS0uFSm+T3yPeNxQS8B6PB40NjZK\np0WJq3mp03p6UtzicWUFK7Re05PSFj9Dvb9s22azwW63IyUlpUt6O9HS3UTRouvK+tKlS1iyZAmA\nR8ulzZgxA0uXLsXSpUvxxz/+MaYNJCIisrpur6wPHDiA999/PzAYoKamBsuXL8eyZcti3TYiIiKC\njs46NzcX+/btw6ZNmwAAtbW1+Oyzz1BdXY3c3FwUFxfHdLUbIj9ZkQwxva0eQS2mosWR2rLUtThq\nO9QI7lDHko3alqW3gUejYh0OB/r16xf09yNLb6v3F9PKYlpaHEEtS2+rU9d60uWy53symtsMBTWI\n4kW3fy1z5swJ+oOcPHkyNm3ahKqqKgwfPhx79+6NaQOJiIisrtt61gBQX1+PDRs24MiRI3C5XIGB\nL9euXUNFRQUOHjyouT/rWT/CetZdRVrXV28NaD0/V/HKXPa81v6ytmitTW2325GTk4P6+nrpFajW\nlameda/1ro0te1+4nxHOa/FUzzkW4il+1rOOnpjVsw7l5ZdfRklJCSZOnIizZ8/iiSee6HYf1rMO\nvT/rWXet66u3eIasYIa6QID4M3v48GFgW5b6lqW61Z8ptlM2glr8D6j6P6Pp6ekoLi7G66+/Lk13\ny9LQQHDqWpaWlhXi0EqDy7bFk596ZLdI738Q4qmecyzEU/ysZx09MatnHUp5eTnKy8uRnJyM7Oxs\n7NixI9xDEBERURh0ddY5OTk4cuQIAGDs2LE4fPhwTBtFREREX+KiKGQ42X1lQD7SW88ob0DfSG9Z\n6ltMe6vpSX2LqTh1Gjw1NRV2ux2pqam6Ut9aqWs9I8DFNqrvFepJqVtlzW4iszLnXXgiIiIKYGdN\nRERkcuysiYiITI73rMlw4j1rralb4j1k2f1rcRsIntIm3o+W1aPWqiEt3p+Vrfolu8+svk/sf5yU\nlBR0XD33idWPZZ8jW9lMb/EN3qcmMg9eWRMREZkcO2siIiKTYxqcDBHJcqHitmyJUHUaW/ZaT5dn\n1btSl4z/M/V+ttZnyFYXk6W+tVLqPY2LiGIj7HrWt27dwuLFi1FYWIjy8vKYNo6IiIh0dNYHDhxA\nSUlJYBDO7t27sX79elRVVcHn86G6ujrmjSQiIrKyiOpZ5+XlAQBmzJiBM2fOYPbs2bFtpYFivSB8\nUlJSlwXte8qsi9iHSvk6HA4MGDAg8Fhd6Up8LBbsEEdziyO+/RXh/MQVzLKysgLbsqIo4shwdXv1\njAYXVyOT1aYGHq1olpycjCFDhkj3EbfVhTxkr8kKccjS4+q4ZKnvaFcxcjgcGDhwYFSPGU/iNX71\nuUVv8Q4/p9MZOOf1tCiI1v6JKOx61uJ9Q6fTGbRsIxEREUVf2APMxP9hu91u9O3bt9t9tOpZX716\nFVlZWairqwu3Kb2up/Ws1XNtnU4n7HY7nE5n0P8+w61tHepxvHA6nXjmmWcCj/UOMNPzMwLkA9HC\nrU2tpqfus9bcZLvdjgEDBmD58uUR1ZPWM+85knrWvcXpdGLatGm9/rlmEa/xR1LPWr2OgP+cp/7e\niQNAxYyYmAV78OCBrraYVVtbGxoaGgAAs2bN6vJ6VOtZjx8/HufPn8eTTz6JU6dO6frCxXM9a5FW\nDelIa1A7nU643W5pMQk9xw11bDMK9R+Kb3zjGzh9+rT0PeIfsKyGtdbPRfyjF3/GetLg6pS8SLb4\niCwlHqqQR1FREX7zm9/oSoOr0+iyNLiskIdWGlzPSS7aJ8Jp06bhn//8Z1SPGU/iNf5opMH95zz1\nscKtYR2PafBerWe9efNmvPbaa/B4PBg5ciTy8/PDPQQRERGFIex61iNGjEBlZWVMG0VERERf4qIo\nZGp67rvK1tYG9I2OFrfFtLv68/Qs0CIeS0zpy0a5d3Z2Bn2mbDCn1r18Pc8TUXwz/x15IiIii2Nn\nTUREZHJMg4chFqMNbTZbVI4rjpI0q1ApWvXiEOr3iOljcVsctS0ukCKOEgeCR4CLo75l2+JIfPWx\nZNPjxJHSstHgoRZFcTgcGDJkSNBoWdm2OFJW/TjcEeDq9L6e2wvRpl4Mx2oSJX69I8DF9/vPeZGM\nLBefj4fR39HEK2siIiKTY2dNRERkcuysiYiITC7ie9YvvvgiMjIyAADDhg3Drl27otYoIj89S3lq\nrc4l3s8V73PrWSZRPQ0s3KVPxSlZ4rQxIHjqluy+vGypVPVjcVtsv6xd6riIyPwi6qz9A2/efffd\nqDaGiIiIuoooDf7pp5+ipaUFRUVFWLZsGS5duhTtdhEREdH/RXRlnZaWhqKiIixYsACfffYZfvSj\nH+HPf/5zXFQ9iaZoTB3wer1dpuXoEQ9TtbT4U7TdTd2SpXLFFLGs2AcQPK1LnJYlK5aiNXVLq9a1\nn6zAh/p3nJ6ejuTkZAwdOlQ6XUtr6peshrXsloCeKl1qnLoVO4kYv9Z0LXHbf85Tn8M4XUubTYlg\nfcKOjg4oihI4gSxYsABvvfUWBg8eHPL9WiUy9+/fj6ysrC5VieJNuOUytV6TLWWZiEtJJicnB3WC\nemPUc/9Y/Vj2M9ZbLlPrc/zCKXGZmZkJl8sl7Uj1zo3WWwoznPfEmvr3bjWJGL9s2V/ZdzqScpvx\nfkHY1taGpqYmrFixIuTrUS2RCQBHjx7FlStXUFpaioaGBrjd7kDZr1ASpUSmFtkiG1olMltaWuD1\neuFwOKT7y0pnxjt/Z5eTk4P6+vouz4d6nGhX1jNnzsTJkycteWU9dOhQ3LlzJ2bHN7tEjF/PlXVK\nSkrgnGfFK+teLZEJAPPnz8e2bdtQUFAAm82GXbt2xf3/eHoq0i9Rc3Oz7pS2+AcQj0JdjSYlJWmm\nA/WMupaNwAbkNbDFTlzWoYvPq48ly3iIHZysNjXwqPNNSUlBTk6OtO61bJUy9WM9K5WFe/WtFu2O\nOxHTwOFI9PhlHWyfPn0C5zy9K5jFewcdLRF11g6HA3v27Il2W4iIiCgEa18OExERxQEW8oiBcNI2\nLS0tmu9P9BSQ1+vVnQ4Md1ES//FDbYspbVmqXOuetWzBEtmiKupFUVJSUpCcnIxhw4ZJ0+Wy+9Lq\nY8sG8/Q09R1LXq8X/fv3N7oZhrFS/Or0tv+cp3XPOtHPe5HglTUREZHJsbMmIiIyOabBY0wrtdO/\nf3+4XK6whu8nmrq6urifthepuro6fP3rXze6GYaw8u8dsHb8Vj/nRYpX1kRERCbHzpqIiMjk2FkT\nERGZXET3rBVFQVlZGa5cuYKUlBTs3LkTw4cPj3bbiIiICBFeWVdXV6OjowNHjhzBhg0bsHv37mi3\ni4iIiP4vos76woULmD59OgBg8uTJqKmpiWqjiIiI6EsRddbNzc3IzMwMPHY4HNIqRERERNQzEd2z\nzsjICCrd6PP5NKtuadWzvnr1KrKyslBXVxdJU+JeW1ubZWMHrB0/Y7dm7IC147d67A0NDQCAWbNm\ndXk96vWsp0yZgr/+9a/Iz8/HxYsXMWbMGM33h6pnffPmTTz33HPIyMhAU1OTZj3sRNbQ0GDZ2AFr\nx8/YrRk7YO34rR57RkYGAOD48ePIzc3VvW9EnfWcOXNw+vRpLFy4EAAiGmDW2NgIACgoKIikCURE\nRHGrsbExrM7apogli3pRW1sbampqkJ2djeeeew4nTpwwohmGmzVrlmVjB6wdP2O3ZuyAteO3euzH\njx9HY2MjJkyYgLS0NN37GrY2eFpaGvLy8gKPrbxWrJVjB6wdP2O3LivHb+XYc3Nzw7qi9uMKZkRE\nRCbHzpqIiMjk2FkTERGZXFJZWVmZ0Y0AgKefftroJhjGyrED1o6fsVuXleNn7OEzbDQ4ERER6cM0\nOBERkcmxsyYiIjI5dtZEREQmx86aiIjI5NhZExERmZyhnbWiKCgtLcXChQuxdOlS/Pvf/zayOTHn\n9XqxadMmFBQU4Ac/+AE+/PBD3Lp1C4sXL0ZhYSHKy8uNbmLM3b9/HzNnzsSNGzcsF/s777yDhQsX\nYv78+XjvvfcsE7+iKNi2bRsWLVqEwsJCy/zuL126hCVLlgCANN7f/e53+P73v4+FCxfi5MmTBrU0\nNsT46+rqUFBQgKVLl+Lll1/GF198ASBx4xdj9zt27Fig+BUQQeyKgY4fP65s2bJFURRFuXjxovLK\nK68Y2ZyY+/3vf6/s2rVLURRFaWpqUmbOnKmsXLlSOX/+vKIoirJ9+3blL3/5i5FNjCmPx6OsWrVK\n+da3vqVcv37dUrF/9NFHysqVKxVFURS326388pe/tEz8p06dUl599VVFURTl9OnTypo1axI+9l//\n+tfKvHnzlJdeeklRFCVkvI2Njcq8efMUj8ejuFwuZd68eUpHR4eRzY4adfyFhYXKp59+qiiKohw5\nckR5/fXXEzZ+deyKoii1tbXKD3/4w8BzkcRu6JX1hQsXMH36dADA5MmTUVNTY2RzYm7u3LlYu3Yt\nAKCzsxNJSUm4fPlyoKDJjBkzcPbsWSObGFM//elPsWjRIgwaNAiKolgq9n/84x8YM2YMfvzjH+OV\nV17Bs88+a5n4U1NT4XK5oCgKXC4XHA5Hwseem5uLffv2BR7X1tYGxXvmzBl88sknmDp1KhwOBzIy\nMjBixAhcuXLFqCZHlTr+X/ziF3j88ccBPMowpqSkJGz86tgfPHiAN998E8XFxYHnIond0M66ubkZ\nmZmZgccOhwM+n8/AFsVWeno6+vTpg+bmZqxduxbr1q2DIqxJ43Q64XK5DGxh7Bw9ehQDBgzAM888\nE4hZ/F0ncuzAoz/Ympoa/OpXv0JZWRk2btxomfinTp2K9vZ25OfnY/v27ViyZEnCf+/nzJmDpKSk\nwGN1vM3NzXC73UHnvz59+iTMz0Ed/8CBAwEA//rXv/Db3/4Wy5Yt63L+T5T4xdh9Ph9KSkqwZcsW\npKenB94TSeyGlcgEgIyMDLjd7sBjn88Huz2xx7x9/vnnWL16NQoLC/Htb38bP/vZzwKvud1u9O3b\n18DWxc7Ro0dhs9lw+vRpXLlyBZs3b8aDBw8Crydy7ADwla98BSNHjoTD4cBXv/pVpKamoqGhIfB6\nIsd/4MABTJkyBevWrUNDQwOWLFkCj8cTeD2RY/cTz2v+eDMyMtDc3Nzl+UT1hz/8Afv378c777yD\nfv36WSL+2tpa3Lp1C2VlZWhvb8e1a9ewe/duPP3002HHbmjPOGXKFPztb38DAFy8eBFjxowxsjkx\nd+/ePRQVFeEnP/kJXnjhBQDAuHHjcP78eQDAqVOnMHXqVCObGDNVVVWorKxEZWUlxo4diz179mD6\n9OmWiB14dHX597//HQDQ0NCA1tZWTJs2DefOnQOQ2PG3tLQgIyMDAJCZmQmv14vx48dbIna/8ePH\nd/muT5w4ERcuXEBHRwdcLheuX7+O0aNHG9zS2Hj//fdx6NAhVFZWIicnBwAwadKkhI5fURRMnDgR\nx44dw7vvvos33ngDo0aNwtatWyOK3dAr6zlz5uD06dOBEXK7d+82sjkxt3//fjx8+BBvv/029u3b\nB5vNhuLiYlRUVMDj8WDkyJHIz883upm9ZvPmzXjttdcsEfvMmTPx8ccfY/78+VAUBWVlZcjJyUFJ\nSUnCx19UVIStW7di8eLF6OzsxMaNG/HEE09YIna/UN91m82GJUuWYPHixVAUBevXr0dKSorRTY06\nn8+HXbt2YejQoVi1ahVsNhueeuoprF69OqHjt9ls0tcGDhwYduws5EFERGRyiX2DmIiIKAGwsyYi\nIjI5dtZEREQmx86aiIjI5NhZExERmRw7ayIiIpNjZ01ERGRy7KyJiIhM7n+Os92ns7lwMAAAAABJ\nRU5ErkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0xae07f84c>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Exponential disk, keplerian rotation"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "r0_exp = 4. # Exponential disk scale length\n\ndisk_exp = N.exp(-m / r0_exp)\nP.imshow(disk_exp[0], extent=[xx[0], xx[-1], yy[0], yy[-1]])",
"execution_count": 17,
"outputs": [
{
"execution_count": 17,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xad323d8c>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAFXCAYAAABEPvIWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGL9JREFUeJzt3UFsHFcdx/Hf2puNHdvBrbCaULd2oRRKgdAkEghoLya0\nvVauVMlShBTaXOJDChGoEjg9JEYITkkoBy4NQuohqsSNQiJURKACIjUiSI4U0ca4NK6rEGo7cXa9\nXg6Vze7a2fd25u3Mjv/fz8neNzvzZna8P8/u+8/LVSqVigAAJnWk3YETJ06k3YVNh2MaHsc0PI5p\nazR7XHNpXwl85jOf0eXLl9PswqbDMQ2PYxoex7Q1mj2uqV8JAADSQwgAgGGEAAAYlk9z40tLS5Kk\nq1evqrOzM82ubDozMzNpd2HT4ZiGxzENq1wuS/rovbWrq8vrOal+Mfy3v/1NY2NjaW0eADalX/3q\nV9q7d6/XsqleCQwMDEj6qMM7duxo2XbaoRTCpw+uZVZWVryef/XqVQ0NDcVaR9Q+SP//b6SV23At\nE3c/612/fl133313U8+RpFwu17C9o6PxJ7Kudp9lXH3wuQqPu42Nnl9/nsY9Vq7n+y7Taq3sw7Vr\n1zQ2Nrb23uoj1RBYPfl27NihwcHBlm0nRAjEXUeSIXDr1i3de++9kdYRt11yh0CIbSQRAtXL5PN5\nffzjH69pD/Gmk0QIuNpDhECU9vrzNAshEOINPIkgaubjdb4YBgDDCAEAMIwQAADDCAEAMCzVL4Y3\nE9cXjSG+GG7m+XdaV9x+JvGlreuL5RDb8NmPapVKxatf9VxfZoY4b+IK8YVq1P2ofjzuNkJoh9FD\nSeNKAAAMIwQAwDBCAAAMIwQAwDBCAAAMIwQAwDBCAAAMIwQAwDCKxTKkmYKcqMViIe6+GbcYzKco\nK4k7lVarVCpaXl5u6jlSMnf4jMvnTqWu4xW10MvnnPXdBqLhSgAADCMEAMAwQgAADCMEAMAwQgAA\nDCMEAMAwQgAADKNOQMlMVuEj7gQjliaVcY3ZD1EnUH88S6VSTbvPuPW4dQI+XP1wtfsciyQmlYl7\nbiZRR+DzXpG1egauBADAMEIAAAwjBADAMEIAAAwjBADAMEIAAAwjBADAMOoEPIUcw98qWakTcNUB\n+Ny337VM3PkG6pepVCoqFos17T5j/JOYLyCJOgHXfoSoE4grib+xrNUA+OBKAAAMIwQAwDBCAAAM\nIwQAwDBCAAAMIwQAwDBCAAAMIwQAwLBNUSzWLpPCxJVEwVncYjCfwqK4xWAhisXiFpNJYSaVcRWD\nhXhN4xaL+RS9uV73EJPjZGFSmRDabT+4EgAAwwgBADCMEAAAwwgBADCMEAAAwwgBADCMEAAAwzZF\nnUAWJDHGf7W9Uqnccdm4dQDtMqlM/Zj9Ztt9tlF9DDs7OyPVCeTzjf/EQpwXcSeuCfGaRqkjqD9P\n4x4Ln+dnpZYgSVwJAIBhhAAAGEYIAIBhhAAAGEYIAIBhhAAAGEYIAIBh1Am0kZDjpO+0rrj3bG+X\n+QSKxWKs9mbrBLq7u3X79u2adp8x565jEeLe8nHrBFztUvzzJur52Myy1ABEw5UAABhGCACAYYQA\nABhGCACAYYQAABhGCACAYbGGiD799NPq7e2VJA0ODur48eNBOgUASEbkEFgdh3369OlgnQEAJCty\nCExNTenmzZs6cOCAyuWyDh8+rF27doXsW6aEmBwk7jZCFIuFmFTGVSDlandNCCO5i8HqC7uibKN6\nX7du3apbt27VtLuKtCRpy5YtzmUa8dmGq9jLdbxDTCoTolisHf6GLBacRQ6Brq4uHThwQM8884ze\neecdPffcc3r99de9TloAQHuIHALDw8MaGhpa+7m/v19zc3O65557Nlz+xIkTOnny5IZtV65c0fz8\nfNSuxJbEfyA+Qt02olgsanp6OtI24rb7LBP3v0rJ/R92iGkd66eX7O/vr2n3+a/RtYyr3aefS0tL\nDdtdV00LCwvObcTdj43a68/TuP+Ft8t/8Wn2Y3Z2VpI0MjKyru3QoUMaHx9f93jkEHjttdd0+fJl\nTUxMaHZ2VouLixoYGLjj8uPj4+s6MDMzo5GRET344IMaHByM2pVE5iZN4o0t7ty8q+3T09O6//77\nN1zGdc+cuHP3Su6PYlztrjc1n36E/jiov79fN27cqGkP8XHQ1q1bG7Z3dXU5t+FaxrUNV7vk3o8o\noVx/nsa9x5HP6+F6g3atI0Twt/L5fX19kqRz5855v6dGDoHR0VG9+OKLGhsbUy6X0/Hjx/koCAAy\nJnII5PN5/fjHPw7ZFwBAwvjXHQAMIwQAwDATk8qEGP3TDl8+J1En4Gp3fTnts0zcL6el+F8uu54v\n1X4xvH37dt28ebOm3ec7MJ8vXRvxmfDFNRLK1e7zmsYdbRWiTiDEyLW4o7F8vrTNWi0CVwIAYBgh\nAACGEQIAYBghAACGEQIAYBghAACGEQIAYJiJOgGXdrmLaFxZmU/AVSfguuul5B7nX3/v/3o+N6mr\n3o+VlRUtLi7WtPuM4XcdL9eYcdf4fMl987aszCeQBSFqEdoNVwIAYBghAACGEQIAYBghAACGEQIA\nYBghAACGEQIAYBghAACGUSzWRkJNqlGpVFo2qUy7FIu5ir3qJ4Bptl2q7We5XNb8/HxNu08hl+t4\nuSamcRWCSe6Ja0IUi7Viwpf68zTEpDFoHlcCAGAYIQAAhhECAGAYIQAAhhECAGAYIQAAhhECAGBY\n29cJZGVscFbGOCcxqYxrGVedQKlUcm7DNalM/QQw9RYWFpzbqO7HysqKPvzww5p2nzH8ruPtWkdX\nV5dzG67jmcRr2g7nt08fXMu0w4QwSU9cw5UAABhGCACAYYQAABhGCACAYYQAABhGCACAYYQAABjW\n9nUC+L9mahGyPJ+AT52Aaz4BV53Af//7X+c2quc1WF5e1o0bN2raC4WCcx2u8dyuOoBt27Y5t+E6\nnu06n0D94+1Qa2ARVwIAYBghAACGEQIAYBghAACGEQIAYBghAACGEQIAYBghAACGUSzWRuIWyyRR\nLObTR1fxkat4qV2KxW7durX2c7lc1vXr12vau7u7netwTRrT09PTsN3nWMQtBgsxGUuIYrG4fUA0\nXAkAgGGEAAAYRggAgGGEAAAYRggAgGGEAAAYRggAgGHUCRizWeoEbt++3bDdVSfwn//8x7mN+fn5\nmj7Nzc3VtPf19TnX4aolcO3HZqkTQPviSgAADCMEAMAwQgAADCMEAMAwQgAADCMEAMAwQgAADKNO\nIEOSGIudRJ1A3DoCyT1+vnougI341Al88MEHaz8vLy/r2rVrNe3Ly8vOddx1110N21374XMs4h7v\nEHUCIVBrkA6uBADAMEIAAAwjBADAMEIAAAwjBADAMEIAAAwjBADAMEIAAAyjWAxNcRUehViHzzZc\nhVquyVo+/PBD5zb+/e9/r/1cLBZrfpekQqHgXIerH6798DkWcV+TEK8psosrAQAwjBAAAMMIAQAw\njBAAAMMIAQAwjBAAAMMIAQAwLFKdQKVS0dGjR3X58mUVCgUdO3ZM9913X+i+oUnVk3LcaYKOLEwO\nEmKSE9fY92Kx6NzG9PR0zfLVv0vSJz7xCec64k7oEuL1aofXPM3zEY1FuhI4e/asisWiXn31VX3n\nO9/R5ORk6H4BABIQKQQuXLigxx57TJK0a9cuXbp0KWinAADJiBQCCwsL6uvrW/s9n89Teg4AGRTp\nO4He3l4tLi6u/b6ysqKOjsZ5cuLECZ08eXLDtitXrmh+fj5KV7y0w+eOSXy2u9peKpX03nvvRVpH\niPv6dHZ2Nmzv7+9v2N7b2+vcxuDgYMP2L33pSw3bn3rqKec2FhYW1n5+4IEHdPr06Zp2n352d3c3\nbN+6dWvD9i1btji3kc83/jN2vR4+34+47nHk+vvP5XLrHqs/TzdaxrWOZoVYRzv3YXZ2VpI0MjKy\nru3QoUMaHx9f93ikENi9e7d+//vf68knn9Rbb72lhx56yPmc8fHxdR2YmZnRyMiIHnzwwTv+USf5\n5hlnmRBvnuVyuWG76w+xVCpJkt577z3t3Llzw2Vcf/CuG55Vh/+dVL95buTGjRsN2+fm5pzbePfd\ndxu2//Of/2zY/ve//925jTfffHPt59OnT2v//v017V/5ylec6/jCF77QsP2Tn/xkw/Z7773XuY2B\ngYGG7a7QdQWVJPX09DRsd4XZRjfbqz9PXYEXN+wkd1hFCbNml2llmK1+QnPu3DnnP0qrIoXAvn37\ndP78eT377LOSxBfDAJBRkUIgl8vppZdeCt0XAEDCmE9gE6m+RLzT5WISn4nG3UaIS27XZb3PXAD3\n339/zfLVv/uuI+7HC1n5HDzqfrTDZ/TWUTEMAIYRAgBgGCEAAIYRAgBgGCEAAIYRAgBgGCEAAIYR\nAgBgGMViaIqr+CnEOny24bqPjOteNtu3b3duo3rSmEKhsG4SGZ91uPrh2g+fYxH3NQnxmiK7ePUB\nwDBCAAAMIwQAwDBCAAAMIwQAwDBCAAAMIwQAwDDqBDKknScHqRa3DsBnrljXfLSueXPvuusu5zaq\nx/Dn83nt2LGjpn11Ptc4/XDtR1bmzQ2BCWbSwZUAABhGCACAYYQAABhGCACAYYQAABhGCACAYYQA\nABhGnYAxcesAQtQJuMa+u8bOS+779Pf09DRs96kT6OrqqunTwMBATburBsCnH6798DkWruOZRJ0A\nY/yziysBADCMEAAAwwgBADCMEAAAwwgBADCMEAAAwwgBADCMOoE2EnesdfXz77SuzVInUD2GfyOu\n8fmlUsm5jeo6gM7OTt1999017YVCwbkOVz9c+7FZ6gSino9Rl4U/rgQAwDBCAAAMIwQAwDBCAAAM\nIwQAwDBCAAAMIwQAwDBCAAAMo1gsQ5opyGlVsZir8EhyFy/l841PuySKxSqVinMb1QVl+Xxe/f39\nNe0+/UyiWMx1POMWk0nJFItRDJYOrgQAwDBCAAAMIwQAwDBCAAAMIwQAwDBCAAAMIwQAwLC2rxPw\nGTvsM+a71UJMxpKEuHUAPmPKXcuEqBPYunVrw3bX+Hyf12N5eXnt546ODm3fvr2m3bUfkrRt27aG\n7a79CFEnkMRr2g7nd4jJcdpB0n3kSgAADCMEAMAwQgAADCMEAMAwQgAADCMEAMAwQgAADGv7OgFL\nQt2zPZfLZXo+gUKh4NyG6z78KysrDdt99qNcLq/93NnZqb6+vpp2135K7n662n2ORVbnE6g/T7NS\na7PZcCUAAIYRAgBgGCEAAIYRAgBgGCEAAIYRAgBgGCEAAIYRAgBgGMViys7ENS4+hTdJTCqTRLFY\n9YQvG3G9Xj77UV1w1tHRsW6iGp91uCaNcbW3S7FY3Ellop6P7SZr/fXBlQAAGEYIAIBhhAAAGEYI\nAIBhhAAAGEYIAIBhhAAAGGaiTsA1ttenBiDuOnzGF4ecuKNVk8r4TKQSt05gy5Ytzm24xte7+OxH\nfZ3Atm3batp9xte79sW1Hz7HIm6dgM+xaMWkMvWPt2obzWiXdSSJKwEAMCzylcDjjz+u4eFhSdKj\njz6qw4cPh+oTACAhkUJgenpajzzyiF5++eXQ/QEAJCjSx0GXLl3S7Oys9u/fr4MHD+rtt98O3S8A\nQAKcVwJnzpzRK6+8UvPYxMSEDh48qCeeeEIXLlzQkSNHdObMmZZ1EgDQGs4QGB0d1ejoaM1jS0tL\nayMK9uzZo7m5udb0DgDQUpG+Ezh16pQ+9rGP6dvf/rampqa0c+dO53NOnDihkydPbth25coVzc/P\nR+lKEO1ym+i4/Vh9frFY1PT0dKRtxG33WaZ66GXUbbiGTrqGTTa7H52dnerv769pT2LYr08/l5aW\nGrYXi8WG7QsLC85ttGL4Zv15GndoZbsMzUyzH7Ozs5KkkZGRdW2HDh3S+Pj4usdzlQjvPPPz8zpy\n5IgWFxeVz+f1wx/+UA888EDTHZ6ZmdHIyIjOnTunwcHBpp+/KtSbZ5xl4r7x+Szjai+Xy5Kkq1ev\namhoaMNlXPfhd7WXSqWG7ZL7Tef27duxnh9iHa79lGpf0+7ubt26daum3eePPe7cCT71EHHX4TNn\nQdzQ3ai9/jyNO+9BmvMiNLtMq54f5T010pVAX1+ffv7zn0d5KgCgjVAsBgCGEQIAYBghAACGEQIA\nYBghAACGEQIAYBghAACGmZhUJitCFpm0alIZn4KcuJPK+BTWxZ3Ex2cilept5HK5dUVXIYrF4hZh\n+SwTtwhLSmZSmbh9QDRcCQCAYYQAABhGCACAYYQAABhGCACAYYQAABhGCACAYdQJJMRnjHPcse+r\n7blc7o7Lxp2YI8TEHXHrCHyErhNYWVlZ1y+f1zTuvvoci3aYjCXKZC315+lmmVksa7gSAADDCAEA\nMIwQAADDCAEAMIwQAADDCAEAMIwQAADDNkWdgGt8sGv8fbuIe8/2ENsIMabcNW7d9XqEeL1C1AlU\nz2tQLBbX3fu/XWomkphPIEodQLOSOP/bQbvtB1cCAGAYIQAAhhECAGAYIQAAhhECAGAYIQAAhhEC\nAGAYIQAAhm2KYrEkJFHgEbdIymeCjrgFOUkUSIUoFnP1oboQzKcfpVJJhUKhpt3nnIhbfNcuk8rE\nPW+ino/N8FmXlYK0ZnAlAACGEQIAYBghAACGEQIAYBghAACGEQIAYBghAACGUScgv7HBSUxME3Is\ndjvXCbiOpc+ELy6uOgCfOoFquVxu3aQyPuKO0fc5FnG30S51AlkYw98OfQiNKwEAMIwQAADDCAEA\nMIwQAADDCAEAMIwQAADDCAEAMIw6gQxJok4g7hh/n3WE4NqPVtQJ+Nzbv14SY/jjzicQYl6EJOoE\n0BpcCQCAYYQAABhGCACAYYQAABhGCACAYYQAABhGCACAYYQAABhGsVggSRS6uAq12mVSmSxMwNPs\nfuRyuXVFWT6vedx+hJjEJyuTyrS6D81uzwquBADAMEIAAAwjBADAMEIAAAwjBADAMEIAAAxLdYho\nuVyWJF27dq2l20liyGKIPriWcd0Df/X577//vrq7u2OtI2ofpP+/rq3cRtz5Apo9J65fv67l5eWm\nniO1xxBRVx9c8xGE2MZGz68/T+Meq6wMEW1lH1bfS11/g9VSDYG5uTlJ0tjYWJrdAIBNZW5uTkND\nQ17LphoCn//85yVJv/3tb73+G4GfkZERnTt3Lu1ubCoc0/A4puGVy2V985vfXHtv9ZFqCHR1dUmS\nd2LB3+DgYNpd2HQ4puFxTFtj9b3VB18MA4BhhAAAGEYIAIBhnUePHj2adie+/OUvp92FTYdjGh7H\nNDyOaWs0c1xzlXYYRA8ASAUfBwGAYYQAABhGCACAYYQAABhGCACAYaneNuJ3v/udfvOb3+inP/2p\nJOnixYs6duyY8vm8vvrVr+rQoUNpdi/THn/8cQ0PD0uSHn30UR0+fDjdDmVUpVLR0aNHdfnyZRUK\nBR07dkz33Xdf2t3KvKefflq9vb2SPrp1xPHjx1PuUXZdvHhRP/nJT/TLX/5S09PT+v73v6+Ojg59\n+tOf1sTEhPP5qYXAsWPHdP78eT388MNrj01MTOjkyZMaHBzU888/r6mpKX32s59Nq4uZNT09rUce\neUQvv/xy2l3JvLNnz6pYLOrVV1/VxYsXNTk5qZ/97GdpdyvTisWiJOn06dMp9yT7fvGLX+jXv/61\nenp6JEmTk5N64YUXtHfvXk1MTOjs2bP6xje+0XAdqX0ctHv3blXXqS0sLKhUKq3dUOrrX/+6/vSn\nP6XUu2y7dOmSZmdntX//fh08eFBvv/122l3KrAsXLuixxx6TJO3atUuXLl1KuUfZNzU1pZs3b+rA\ngQP61re+pYsXL6bdpcwaGhrSqVOn1n7/xz/+ob1790r66NOAP//5z851tPxK4MyZM3rllVdqHpuc\nnNRTTz2lv/zlL2uPLS4url0eSlJPT49mZmZa3b3M2+j4TkxM6ODBg3riiSd04cIFHTlyRGfOnEmp\nh9m2sLCgvr6+td/z+bxWVla8JnvBxrq6unTgwAE988wzeuedd/Tcc8/p9ddf55hGsG/fPr377rtr\nv1fX/vb09Gh+ft65jpaHwOjoqEZHR53L9fT0aGFhYe33xcVFbd++vZVd2xQ2Or5LS0tr8zPs2bNn\nbfIeNK+3t1eLi4trvxMA8Q0PD6/dPn54eFj9/f2am5vTPffck3LPsq/63PR9D22bs7m3t1eFQkH/\n+te/VKlU9Mc//lF79uxJu1uZdOrUqbWrg6mpKe3cuTPlHmXX7t279cYbb0iS3nrrLT300EMp9yj7\nXnvtNf3oRz+SJM3OzmpxcVEDAwMp92pz+NznPqe//vWvkqQ//OEPXu+hqY4OqvfSSy/pu9/9rlZW\nVvS1r31NX/ziF9PuUiY9//zzOnLkiN544w3l83lNTk6m3aXM2rdvn86fP69nn31WkjiWAYyOjurF\nF1/U2NiYcrmcjh8/ztVVIN/73vf0gx/8QKVSSZ/61Kf05JNPOp/DDeQAwDDiFwAMIwQAwDBCAAAM\nIwQAwDBCAAAMIwQAwDBCAAAMIwQAwLD/AQOxkrrqbMOyAAAAAElFTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0xae02da2c>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "cube_exp = disk_exp * spec_kep # Spectro-spatial cube \n\nima_exp = disperse_cube(cube_exp)\nP.imshow(ima_exp)",
"execution_count": 18,
"outputs": [
{
"execution_count": 18,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0xad34b2ac>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n/dAkCY2pN7hJ3y2G70Ux+x5n1oQQQkjI4WBNCCGEhJxBLYO7wUQ6Vx1jKoOrPMNlKVTM6WxSX50M\nbrL0zKt1+gZ7AAAJfUlEQVQ3uNNjdMfZdUylUlo50ETG18VfV0ncqmVwXmOmm0p2YlAUEVV8ZN2S\nGa8yuMl5Vce4JZVK5TT/FGJVSRhk9FQq5cs686CWcbmRwZ0sQbT7v6oufvZjL8eECc6sCSGEkJDD\nwZoQQggJORysCSGEkJDjymZtWRbWrl2LI0eOoLy8HI899hjGjh3rd91CgZ/2Hhk7kYcbm7VcRrSv\nmkRTK7bN2iaZTGbZ7kzDw5pGZjPJh20aXlZVLxX5lplEIl/Fx3a6fEZ3nBv7nqr/BbV0C/j6uQdp\nNwy7TdLt0jWRQtisTfuhaSQ++53nNSqf6dKtoYKrmXV7ezv6+vqwY8cOPPDAA9i4caPf9SKEEELI\n/+NqsN6/fz9uvPFGAMCkSZNw8OBBXytFCCGEkK9xpcN0dXWhrq7u65PEYkin06FM5iFLIyZLblTI\nZb1KSDZ2VB8n59LVxWm6Tb8kbSfHifmsTSOYiZjK4GKkMq+SutN7lk+yS6fTKC8v91XyU0XDK1QE\nM9Pj5Ofu9NyDHTuKl5/tdfNcnEb98kMGB3In8vBqznFTxskxxcbVYF1bW4vu7u7M53wDdTHzWct4\nyV0cxKCWTCbx6aefFuyafpf1SiqVQiKRUO73Wjc/7e9+1sP+rLOLBxlm0gt+rbPWPfehTiqVwunT\np4tybS/Pz48favY7z49zuTnO77JOKHg+66uvvhp///vf0dzcjLfffhuXXHKJ9vhc+aw/+eQT3Hzz\nzaitrUVnZ6c2H7YJbl64TmedukAkquN0sabT6TROnTqFUaNGGZXXvdidpsIMcmbt5FxdXV2ora1V\nXsPrzNppnHRTxzuvM2v7HLajWb4yprNhE2exMMys5efu9NyDnUQikaVO+kExZtYipjHu7Xeem1m6\nru6mx+X7XofX/tnR0ZHp96+++ioaGhqMy7oarGfMmIHdu3djzpw5AODKwezkyZMAgPnz57upAiGE\nEDJoOXnypKPBOmIVSQPt6enBwYMHMXLkSNx8883YuXNnMapRdKZNm1aybQdKu/1se2m2HSjt9pd6\n21999VWcPHkSV111FSorK43LFi02eGVlJZqamjKfL7zwwmJVpeiUctuB0m4/2166lHL7S7ntDQ0N\njmbUNuFz3yaEEEJIFhysCSGEkJDDwZoQQggJOWVr165dW+xKAMB1111X7CoUjVJuO1Da7WfbS5dS\nbj/b7pyieYMTQgghxAzK4IQQQkjI4WBNCCGEhBwO1oQQQkjI4WBNCCGEhBwO1oQQQkjIKepgbVkW\n1qxZgzlz5mDhwoX4z3/+U8zqBE5/fz8efPBBzJ8/Hz/84Q/x2muv4dixY5g3bx5aWlqwbt26Ylcx\ncL744gtMnToVH330Ucm1/ZlnnsGcOXMwe/ZsvPTSSyXTfsuysHr1asydOxctLS0l8+wPHDiABQsW\nAICyvb///e/xgx/8AHPmzMHrr79epJoGg9j+w4cPY/78+Vi4cCHuvPNO/O9//wMwdNsvtt3mlVde\nySS/Aly03Soir776qrVq1SrLsizr7bfftu6+++5iVidw/vCHP1gbNmywLMuyOjs7ralTp1p33XWX\ntW/fPsuyLOuRRx6x/va3vxWzioGSTCate+65x/r2t79tffjhhyXV9n/961/WXXfdZVmWZXV3d1u/\n/OUvS6b9u3btsu677z7Lsixr9+7d1rJly4Z823/zm99Ys2bNsm6//XbLsqyc7T158qQ1a9YsK5lM\nWolEwpo1a5bV19dXzGr7htz+lpYW6/3337csy7J27Nhh/exnPxuy7ZfbblmWdejQIetHP/pR5js3\nbS/qzHr//v248cYbAQCTJk3CwYMHi1mdwJk5cybuvfdeAF8lny8rK8N7772XSWgyZcoU7N27t5hV\nDJSf//znmDt3Ls477zxYllVSbX/jjTdwySWX4Cc/+Qnuvvtu3HTTTSXT/oqKCiQSCViWhUQigVgs\nNuTb3tDQgM2bN2c+Hzp0KKu9e/bswTvvvIPJkycjFouhtrYW48aNw5EjR4pVZV+R2//kk0/i0ksv\nBfCVwlheXj5k2y+3/dSpU3jqqafQ2tqa+c5N24s6WHd1dWUlYI/FYkin00WsUbBUVVWhuroaXV1d\nuPfee3H//ffDEmLS1NTUIJFIFLGGwfHiiy/inHPOwQ033JBps/ish3Lbga/+YQ8ePIhf/epXWLt2\nLVasWFEy7Z88eTJ6e3vR3NyMRx55BAsWLBjy/X7GjBkoKyvLfJbb29XVhe7u7qz3X3V19ZC5D3L7\nzz33XADAv//9b/z2t7/FokWLBrz/h0r7xban02m0tbVh1apVqKqqyhzjpu1FS5EJALW1teju7s58\nTqfTiEaHts/b8ePHsXTpUrS0tOA73/kOfvGLX2T2dXd3Y9iwYUWsXXC8+OKLiEQi2L17N44cOYKV\nK1fi1KlTmf1Due0AMHz4cDQ2NiIWi+Giiy5CRUUFOjo6MvuHcvufffZZXH311bj//vvR0dGBBQsW\nIJlMZvYP5bbbiO81u721tbXo6uoa8P1Q5U9/+hO2bNmCZ555BiNGjCiJ9h86dAjHjh3D2rVr0dvb\ni6NHj2Ljxo247rrrHLe9qCPj1VdfjX/84x8AgLfffhuXXHJJMasTOJ9//jkWL16Mn/70p7j11lsB\nAJdffjn27dsHANi1axcmT55czCoGxrZt27B161Zs3boVl112GR5//HHceOONJdF24KvZ5T//+U8A\nQEdHB86ePYvrr78eb775JoCh3f4zZ86gtrYWAFBXV4f+/n5cccUVJdF2myuuuGJAX58wYQL279+P\nvr4+JBIJfPjhh7j44ouLXNNgePnll/HCCy9g69atGDNmDABg4sSJQ7r9lmVhwoQJeOWVV/D888/j\niSeewPjx4/HQQw+5antRZ9YzZszA7t27Mx5yGzduLGZ1AmfLli04ffo0nn76aWzevBmRSAStra1Y\nv349kskkGhsb0dzcXOxqFoyVK1fi4YcfLom2T506FW+99RZmz54Ny7Kwdu1ajBkzBm1tbUO+/YsX\nL8ZDDz2EefPmIZVKYcWKFbjyyitLou02ufp6JBLBggULMG/ePFiWheXLl6O8vLzYVfWddDqNDRs2\n4IILLsA999yDSCSCa6+9FkuXLh3S7Y9EIsp95557ruO2M5EHIYQQEnKGtoGYEEIIGQJwsCaEEEJC\nDgdrQgghJORwsCaEEEJCDgdrQgghJORwsCaEEEJCDgdrQgghJORwsCaEEEJCzv8BfXu1TnYphRUA\nAAAASUVORK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0xadfa608c>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python2",
"display_name": "Python 2",
"language": "python"
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"name": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6",
"file_extension": ".py",
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment