{ "metadata": { "name": "", "signature": "sha256:5b44004e97625e733a6588149bed4fc0c9eda5b70ed3c9420b3c41b63e6842a0" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "# - compatibility with Python 3\n", "from __future__ import print_function # print('me') instead of print 'me'\n", "from __future__ import division # 1/2 == 0.5, not 0" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# - show figures inside the notebook\n", "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "# - import common modules\n", "import numpy as np # the Python array package\n", "import matplotlib.pyplot as plt # the Python plotting package" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "# - set gray colormap and nearest neighbor interpolation by default\n", "plt.rcParams['image.cmap'] = 'gray'\n", "plt.rcParams['image.interpolation'] = 'nearest'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Smoothing and convolution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start by smoothing in 1D. We first load our new fixed functional image, and get the first volume:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# - get first volume from fixed functional\n", "import nibabel as nib\n", "img = nib.load('fds114_sub009_t2r1.nii')\n", "data = img.get_data()\n", "vol0 = data[..., 0]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now get a slice over the third dimension:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# - get slice over third dimension\n", "mid_slice = vol0[:, :, 14]\n", "plt.imshow(mid_slice)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\ny0pqeQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get one line of this slice, from left to right, from the middle of the brain:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# - get middle line from middle slice\n", "mid_line = mid_slice[:, 25]\n", "plt.plot(mid_line)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEACAYAAAC08h1NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XuYFOWVx/HvkTuIQSALKBgwgogSIa5iIkprlIUYReMq\n4D1x3RhcdZOsK3hZiXGNZteNZhMvjxowGolGo8EQUSGOETXiDRnAEVGIgAKGZAUFYYCzf7w10oxz\nv3T1W/37PE8/dFdX9ZwZZn799qm3qszdERGR0rFb2gWIiEhhKfhFREqMgl9EpMQo+EVESoyCX0Sk\nxCj4RURKTJ3Bb2b9zOwpM1tsZovM7OJk+VQzW2Vmrya3sXnbTDGzN82swsxG5y0/xMzKk+dubr1v\nSURE6mJ1zeM3s95Ab3dfYGa7Ay8DJwGnARvd/X+qrT8EuA84FNgbmAMMdHc3s/nAv7j7fDP7PfAT\nd5/dKt+ViIjUqs4Rv7uvcfcFyf0PgdcJgQ5gNWwyDpjh7pXuvgJYBowwsz5AV3efn6z3C8IbiIiI\nFFiDe/xm1h8YDvwpWXSRmb1mZneZWbdk2V7AqrzNVhHeKKovX83ONxARESmgBgV/0uZ5ELgkGfnf\nCgwAhgHvATe2WoUiItKi2ta3gpm1Ax4C7nX3RwDcfV3e83cCjyYPVwP98jbvSxjpr07u5y9fXcPX\n0omDRESawN1rar/XqL5ZPQbcBSxx95vylvfJW+1koDy5PxOYYGbtzWwAMBCY7+5rgA1mNiJ5zbOA\nR2opPtrb1VdfnXoNqj/9Okqx/phrz0L9jVXfiP8I4ExgoZm9miy7HJhoZsMAB5YD30pCe4mZPQAs\nAbYBk3xnVZOA6UAn4PeuGT0iIqmoM/jdfR41fyp4rI5trgOuq2H5y8DQxhYoIiItS0futqBcLpd2\nCc2i+tMVc/0x1w7x199YdR7AVWhm5sVUj4hIDMwMb6mduyIikj0KfhGREqPgFxEpMQp+EZESo+AX\nESkxCn4RkRKj4BcRKTEKfhGREqPgFxEpMQp+EZESo+AXESkxCn4RkRKj4BcRKTEKfhGREqPgFxEp\nMQp+EZESo+AXESkxCn4RkRKj4BcRKTEKfhGREqPgFxEpMQp+EZESo+AXESkxCn4RkRKj4BcRKTEK\nfhGREqPgFxEpMQp+EZESo+AXESkxCn4RkRKj4BcpQQsWwLhxcO21MHcubNyYdkVSSAp+kRL0k59A\n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\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are going to start by smoothing this line (1D smooth)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Copy the `fwhm2sigma` function from the [smoothing as convolution](http://perrin.dynevor.org/smoothing_as_convolution.html) notebook:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# fwhm2sigma\n", "def fwhm2sigma(fwhm):\n", " return fwhm / np.sqrt(8 * np.log(2))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "# - check fwhm2sigma\n", "assert np.allclose(fwhm2sigma(4), 1.698643600576)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are going to smooth by 8 pixels FWHM, so we need the corresponding `sigma`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# sigma for FWHM 8\n", "sigma = fwhm2sigma(8)\n", "sigma" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "3.3972872011520763" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use a probability density function of a normal Gaussian distribution for our kernel:\n", "\n", "$$\n", "f(x, \\mu, \\sigma) = p e^q\n", "$$\n", "\n", "where:\n", "\n", "$$\n", "p = \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\\\\n", "q = -\\frac{(x-\\mu)^2}{2\\sigma^2}\n", "$$\n", "\n", "See : https://en.wikipedia.org/wiki/Normal_distribution\n", "\n", "To make our smoothing kernel, we can sample the PDF, for a given mu and sigma.\n", "\n", "We can use our old friend `scipy.stats` to sample the PDF." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# - import the normal distribution function from scipy.stats\n", "from scipy.stats import norm\n", "norm_pdf = norm.pdf" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we need to make our kernel.\n", "\n", "* Work out the +/- limit for the kernel x values with `limit = round(sigma * 4)`\n", "* Make a vector of integers `x` to sample the PDF from `-limit` to `limit` - *inclusive*;\n", "* Sample the PDF at these x values, for $\\mu = 0$ and given $\\sigma$, to get the `kernel` vector;\n", "* Plot the x values against the y values;\n", "* Work out how many indices from the start of the `kernel` vector, to the value corresponding to x=0; (this is the `kernel_offset`." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Work out the +/- limit for the kernel x values;\n", "# Make a vector `x` to sample the PDF;\n", "# Get `kernel` vector by sampling the PDF at these x values (mu=0);\n", "# Work out `kernel_offset`.\n", "\n", "limit = round(sigma * 4)\n", "# Make an x range between -sigma * 3 and +sigma * 3\n", "x_for_kernel = np.arange(-limit, limit+1)\n", "# Calculate kernel\n", "kernel = norm_pdf(x_for_kernel, 0, sigma)\n", "# Plot kernel\n", "plt.plot(x_for_kernel, kernel)\n", "# Calculate `kernel_offset`\n", "kernel_offset = int(limit)\n", "kernel_offset" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "14" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEACAYAAABS29YJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XuY1HXd//Hn20UURUNCQYEClTykCJqIeRoUZVnloLem\n9is7CZjioazM8s7V7rrzurPM2yvPJmpFaYKoKIq5eUKEECVgEVQCRNAUbsQElt3374/PrC7LHmZ3\nZ+Yz853X47r2YmfmOzvvuYZ5zXfen8/38zV3R0REkm2H2AWIiEjuKexFREqAwl5EpAQo7EVESoDC\nXkSkBCjsRURKQEZhb2blZlZtZkvN7Iombj/QzGaZ2SYzu7zB9X3N7GkzW2hm/zCzS7JZvIiIZMZa\nm2dvZmXAEmA48BYwBzjX3Rc32GZP4LPAWGCdu1+fvr4X0Mvd55tZV+DvwNiG9xURkdzLZM9+CLDM\n3Ze7ew0wGRjTcAN3f9fd5wI1ja5f4+7z079vBBYD+2SlchERyVgmYd8bWNng8qr0dW1iZv2AwcDs\ntt5XREQ6JpOw7/B6CukWzgPApek9fBERyaNOGWzzFtC3weW+hL37jJjZjsBfgPvcfWoTt2txHhGR\ndnB3y3TbTPbs5wIDzKyfmXUGzgamNbPtNg9sZgbcCSxy9xuaewB3T+zP1VdfHb0GPT89v1J8fkl+\nbu5t30dudc/e3bea2URgBlAG3Onui81sQvr2W9OzbuYAuwN1ZnYpcDAwCPgK8KqZvZz+k1e6++Nt\nrlRERNotkzYO7v4Y8Fij625t8Psatm311HsOHbglRerDD6EdO1AiBUlBnGOpVCp2CTmV1Of3xBPQ\nuzfMnp1i8+bY1eROUl8/SPZza49WD6rKeQFmHrsGkXrucNNN8LOfwd13wx13wNtvw4MPQs+esasT\n+YSZ4VkeoBUpCTU1cMEFcOutMGsWlJfDn/8Mw4fDUUfBK6/ErlCk/RT2IsB778Epp8Dq1fDCC9C/\nf7h+hx3gmmvguutC6E/dbvKwSHFQ2EvJW7QIhgwJP1Onwu67b7/N2WfDY4/BxRfDz3+ugVspPurZ\nS0mbPh2+/nX45S/hvPNa3371ahg7FgYMCP38Ll1yXqJIk9SzF8mAO1x/PZx/ftibzyToAfbZB/72\nN6irg1QqDN6KFAOFvZSczZvhW9+Ce++FF1+EL36xbffv0gX+8AcYNSoM3M6bl5s6RbJJYS8l5Z13\nwkDr+vXw3HPwmc+07++YwVVXwQ03hFk799+f3TpFsi2jI2hFkmDLFjj22DDYes01YaZNR51xBuy7\nL4wZEz4Azjyz439TJBc0QCsl4777woFSM2dm/29Pnx729P/+9xD6IrmmAVqRJrjDr38Nl12Wm79f\nXh7W0nn22dz8fZGOUthLSXj+ediwASoqcvP3d9gBLr009PBFCpHaOFISzjwzTJWcODF3j7FxI/Tr\nBy+9FPr4IrnU1jaOwl4S78034cgjYfly6No1t4/1gx+ENXZ+/evcPo6Iwl6kkcsvD22W//mf3D/W\nihUwaFD4YGlq2QWRbFHYizTwwQehtTJvHnz2s/l5zLPPDgdqXXppfh5PSpNm44g0cPfdcOKJ+Qt6\nCDN+brwRamvz95girVHYS2LV1cFvfpO76ZbNGToUevSARx7J7+OKtERhL4n16KOwxx5tX/umo8zC\nB4ymYUohUdhLYt1wQwjdGEe0nnkmLF0K8+fn/7FFmqKwl0R69VWoroazzorz+DvuCBddFNpIIoVA\ns3Ekkb71rXBg049/HK+G996D/fcPHzo6Wblkm6ZeSsl75x044AB47TXYc8+4tUyYEE54cvXVceuQ\n5FHYS8n76U/DwU233x67knB+2xNPhH/+E3baKXY1kiSaZy8lbfNm+O1vC+eApoMPhsMOgz/+MXYl\nUuoU9pIof/oTHHJI+CkU9dMw9QVWYlLYS2K4fzLdspCMGAGbNoUTlYvE0mrYm1m5mVWb2VIzu6KJ\n2w80s1lmtsnMLm/LfUWy6dlnwwlERo6MXcm2tNa9FIIWB2jNrAxYAgwH3gLmAOe6++IG2+wJfBYY\nC6xz9+szvW96Ow3QSlaccUY4mfiFF8auZHsffhjW55k9G/bbL3Y1kgTZHqAdAixz9+XuXgNMBsY0\n3MDd33X3uUBNW+8rki1vvAHPPAPnnRe7kqbtuiucfz787//GrkRKVWth3xtY2eDyqvR1mejIfUXa\n5Kab4JvfzP3JSTrioovgnnvC6RFF8q21sO9If0W9GcmLDRvCUsa5POVgNvTtC6ecAnfdFbsSKUWd\nWrn9LaBvg8t9CXvomcj4vpWVlR//nkqlSKVSGT6ESAj64cPhM5+JXUnrLrsMvvxluPhiKCuLXY0U\nk6qqKqqqqtp9/9YGaDsRBllPAlYDL9HEIGt620rggwYDtBndVwO00hG1tWFphHvuyf9Sxu01dChc\ncQWcfnrsSqSYZXWA1t23AhOBGcAi4E/uvtjMJpjZhPQD9jKzlcB3gKvMbIWZdW3uvu17WiJNe+EF\n2GUXOPro2JVk7oILwoeTSD5pbRwpapdfDrvtBg06gQXvvfegf39YsyZ8UIm0h9bGkZLhDg89BGPH\nxq6kbT79afjCF2DmzNiVSClR2EvRWrgQtm4NC40VmzFjYOrU2FVIKVHYS9GaOjWEZozTDnbUmDHw\n8MPhw0okHxT2UrSmTi2+Fk69fv2gT58wwCySDwp7KUorV8Kbb8Jxx8WupP3GjlUrR/JHYS9F6aGH\n4LTToFNrhwUWsPqw12Q0yQeFvRSlYm7h1Bs4MAT9ggWxK5FSoLCXorNuHbz0UlhnppiZqZUj+aOw\nl6IzfToMGxaWDS52Y8eGlpRIrinspejUT7lMgmOOgX/+E1asiF2JJJ3CXorKpk3wxBMwalTsSrKj\nU6cw0Ky9e8k1hb0UlaeeCkfM7rln7EqyR317yQeFvRSVJMzCaeyUU2DOHHj//diVSJIp7KVo1NbC\ntGnJ6dfX22UXOPFEePTR2JVIkinspWi8+CL07An77Re7kuxTK0dyTWEvRaMYlzPO1GmnhSWPP/oo\ndiWSVAp7KQruMGVKcsO+Rw8YPDgMQIvkgsJeisLixbB5cwjEpFIrR3JJYS9FoZjXrs/UmDFhALq2\nNnYlkkQKeykKSZxy2Vj//rD33jBrVuxKJIkU9lLwVq2CZcvg+ONjV5J7auVIrijspeBNmwanngo7\n7hi7ktzTGveSKwp7KXhJnnLZ2KBBUFMDixbFrkSSRmEvBW39+tDDHjEidiX5oTXuJVcU9lLQHnsM\nTjgBunaNXUn+KOwlFxT2UtBKYRZOY8cdB2+8EU6qLpItCnspWJs3w4wZyVm7PlP1a9xPmxa7EkkS\nhb0UrL/+FQ45BPbaK3Yl+TdmjFo5kl0KeylYpdjCqTdiBMyeHU6uLpINrYa9mZWbWbWZLTWzK5rZ\n5sb07a+Y2eAG119pZgvNbIGZ/cHMdspm8ZJcdXXJXLs+U7vuCqlUOLm6SDa0GPZmVgbcBJQDBwPn\nmtlBjbapAPZ39wHAeODm9PX9gHHA4e5+KFAGnJPl+iWhXnoJPv1pGDAgdiXxjB2rc9NK9rS2Zz8E\nWObuy929BpgMNN7XGg1MAnD32UA3M+sJbABqgF3MrBOwC/BWNouX5CrlFk69UaPCydU3bYpdiSRB\na2HfG2g4AWxV+rpWt3H394HrgRXAamC9u8/sWLlSKhT24aTqAweGgWqRjurUyu2ZrtCx3cKzZrYf\ncBnQD/g/4H4z+3/u/vvG21ZWVn78eyqVIpVKZfiwkkTV1bBxIxxxROxK4qs/wKqiInYlEltVVRVV\nVVXtvr95CysumdlQoNLdy9OXrwTq3P26BtvcAlS5++T05WrgBCAFnOzu56ev/yow1N0vavQY3lIN\nUnquvx6WLoVbboldSXxLl4aB2lWrkr2Wv7SdmeHuGf+vaK2NMxcYYGb9zKwzcDbQ+FCPacB56Qcf\nSmjXrAWWAEPNrIuZGTAc0PJO0qrp08MqlxIGqHfZBV59NXYlUuxaDHt33wpMBGYQgvpP7r7YzCaY\n2YT0NtOBN8xsGXArcGH6+vnAPYQPjPr/qrfl5FlIYmzYEGbinHhi7EoKR0WFpmBKx7XYxslLAWrj\nSANTpsDNN4dZKBI8/jj87Gfw7LOxK5FCku02jkheTZ+uwcjGTjgBXnlFR9NKxyjspWC4hyWNFfbb\n6tIlnJJR33akIxT2UjAWLICddy7to2abU1ERPghF2kthLwWjvoWjKYbbGzkyhH1dXexKpFgp7KVg\nqF/fvP79w1pB8+bFrkSKlcJeCsK6dTB/fhiMlKZpCqZ0hMJeCsKTT4bT8XXpEruSwjVypMJe2k9h\nLwVBLZzWHXssLF4M774buxIpRgp7ia6uLgw+jhwZu5LCttNO4cjiGTNiVyLFSGEv0b38MnTvDvvu\nG7uSwqcpmNJeCnuJTi2czI0cGfbsa2tjVyLFRmEv0SnsM9enD/TuHRaLE2kLhb1E9a9/waJFYfBR\nMqNZOdIeCnuJasYMGDYsDD5KZjTfXtpDYS9RqYXTdkcfDW+8AWvWxK5EionCXqKprQ179ppy2TY7\n7ggnnxzWuRfJlMJeopkzB/bZB/r2jV1J8VErR9pKYS/RqIXTfuXlYYmJmprYlUixUNhLNAr79uvV\nC/bbD2bNil2JFAuFvUSxZg28/noYbJT20RRMaQuFvUTx+OMwfHgYbJT2Ud9e2kJhL1GohdNxQ4bA\n6tWwcmXsSqQYKOwl77ZuhZkzwyCjtF9ZGYwYoSmYkhmFveTdrFnhNHt77x27kuKnVo5kSmEveacW\nTvaMGAF//Sts3hy7Eil0CnvJu+nTddRstvToAQcdBM89F7sSKXQKe8mrVavCz1FHxa4kOdTKkUwo\n7CWvHnsstB7KymJXkhwKe8lEq2FvZuVmVm1mS83sima2uTF9+ytmNrjB9d3M7AEzW2xmi8xsaDaL\nl+Kjfn32HX44vP8+vPlm7EqkkLUY9mZWBtwElAMHA+ea2UGNtqkA9nf3AcB44OYGN/8GmO7uBwED\ngcVZrF2KzJYt8PTTYc9esmeHHcIYiM5NKy1pbc9+CLDM3Ze7ew0wGRjTaJvRwCQAd58NdDOznmb2\nKeA4d78rfdtWd/+/7JYvxeS55+DAA2HPPWNXkjxq5UhrWgv73kDD4/NWpa9rbZs+QH/gXTP7nZnN\nM7PbzWyXjhYsxUstnNw5+WR45hn46KPYlUih6tTK7Z7h37Em7tcJOByY6O5zzOwG4IfATxrfubKy\n8uPfU6kUqVQqw4eVYjJ9OkyaFLuKZNpjDzjsMPjb33RkclJVVVVRVVXV7vube/N5nh5QrXT38vTl\nK4E6d7+uwTa3AFXuPjl9uRo4gfABMMvd+6evPxb4obuf1ugxvKUaJBnefDNMt1yzJvSYJfv++7/h\n7bfhxhtjVyL5YGa4e+Md7Wa19rabCwwws35m1hk4G5jWaJtpwHnpBx8KrHf3te6+BlhpZp9Lbzcc\nWJhpYZIs9QdSKehzp6ICHn0UtO8kTWmxjePuW81sIjADKAPudPfFZjYhffut7j7dzCrMbBnwIfCN\nBn/iYuD36Q+K1xvdJiVk6lT49rdjV5FsAweG8/r+4x9w6KGxq5FC02IbJy8FqI2TeOvWQb9+YTne\nXXeNXU2yfec7oX//k+1GxiRpst3GEemwRx6BYcMU9Plw+ukwZUrsKqQQKewl5x58MISQ5N4xx8Bb\nb+loWtmewl5y6t//hqeeglGjYldSGsrKYPRo7d3L9hT2klMzZsCRR0L37rErKR1q5UhTFPaSU1Om\nqIWTbyedBAsWwNq1sSuRQqKwl5ypqQnzvseOjV1Jadl557DY3LTGR8RISVPYS8787W+w337Qp0/s\nSkqPWjnSmMJeckYtnHgqKsIqoxs2xK5ECoXCXnKiri4cNauwj2P33eHYY7XssXxCYS85MWdOCJwD\nD4xdSelSK0caUthLTqiFE9/o0WHq66ZNsSuRQqCwl6xzV9gXgp49w4JoTz0VuxIpBAp7ybrFi8OR\ns1/4QuxKRK0cqaewl6ybMiXMrbeM1+OTXDn99DDfvrY2diUSm8Jesk4tnMLRvz/ssw88/3zsSiQ2\nhb1k1YoVsHw5HH987Eqknlo5Agp7ybKpU8MKl51aO5W95M0ZZ4Sw1zmCSpvCXrJKLZzCc8gh4cN3\n/vzYlUhMCnvJmn/9C+bNg5NPjl2JNGSmVo4o7CWLHn44BH2XLrErkcYU9qKwl6xRC6dwDR0avnkt\nWxa7EolFYS9ZsXEjVFXBqafGrkSassMOMGaM9u5LmcJesuLxx+Hoo6Fbt9iVSHPUyiltCnvJCrVw\nCt+wYVBdDW+/HbsSiUFhLx22ZQs89lhoE0jh6twZRo6Ehx6KXYnEoLCXDnv66bBu/d57x65EWqNW\nTulS2EuHqYVTPMrLYdYsWL8+diWSbwp76ZC6utAWUNgXh65dIZWCRx+NXYnkW6thb2blZlZtZkvN\n7IpmtrkxffsrZja40W1lZvaymT2craKlcLz4IvToAfvvH7sSyZRaOaWpxbA3szLgJqAcOBg418wO\narRNBbC/uw8AxgM3N/ozlwKLAC3DlEBq4RSfUaPgySfho49iVyL51Nqe/RBgmbsvd/caYDLQeM7F\naGASgLvPBrqZWU8AM+sDVAB3ADqVRcLo9IPFqUcPOPzwEPhSOloL+97AygaXV6Wvy3SbXwPfB+o6\nUKMUqH/8A7ZuhUGDYlcibaVWTulpbdXxTFsvjffazcxOA95x95fNLNXSnSsrKz/+PZVKkUq1uLkU\niAcfDKGh0w8Wn7Fj4dproaYGdtwxdjWSiaqqKqqqqtp9f/MWzmhgZkOBSncvT1++Eqhz9+sabHML\nUOXuk9OXq4EUcAnwVWArsDOwO/AXdz+v0WN4SzVIYaqrg/32g/vv14nFi9Xxx8Nll4WTm0jxMTPc\nPeNdrdbaOHOBAWbWz8w6A2cD0xptMw04L/3gQ4H17r7G3X/k7n3dvT9wDvDXxkEvxWvmTNhjDzji\niNiVSHuNHw+33Ra7CsmXFsPe3bcCE4EZhBk1f3L3xWY2wcwmpLeZDrxhZsuAW4ELm/tz2StbYrvt\nthAWauEUr//4D5g7N5wzWJKvxTZOXgpQG6forF0blkf45z9h991jVyMdcdllsNtu8NOfxq5E2irb\nbRyR7dx9d9grVNAXv3Hj4K67wqwqSTaFvbRJXR3cfnto4Ujx+/znoX9/LZ9QChT20iZPPx3WVzny\nyNiVSLZooLY0KOylTTQwmzxnnRXWOFqxInYlkksaoJWMvfMOHHBAmL3xqU/Frkay6ZJLwlTaa66J\nXYlkSgO0kjOTJoUjZhX0yTNuHNx5pwZqk0xhLxlxDy2cceNiVyK5cOih0LdvOL2kJJPCXjJSVQU7\n7wxDh8auRHJFA7XJprCXjGhgNvm+9CV4/nlYubL1baX4aIBWWvXuuzBgALz5ZhjEk+S66CLYay+4\n+urYlUhrNEArWXfPPTBmjIK+FIwfHwZqa2tjVyLZprCXFrnriNlScthhsPfeMGNG7Eok2xT20qJn\nn4WyMvjiF2NXIvmigdpkUs9eWvSVr4SlES69NHYlki8bN8JnPgMLFkDvxichlYLR1p69wl6a9d57\n4WxUb7wB3bvHrkby6dvfDkF/1VWxK5HmaIBWsubee2HUKAV9KRo/Hu64QwO1SaKwlybpiNnSNngw\n9OgBTz4ZuxLJFoW9NOn558Pa9ccdF7sSiUUDtcminr006bzzYNAg+O53Y1cisXzwQRioXbQoTMeU\nwqIBWumw99+HffeFZcvCV3kpXePHQ79+8KMfxa5EGtMArXTYffdBRYWCXkLY3357aOlJcVPYyzbq\nB2Z1xKwAHHFEWCZj5szYlUhHKexlG7NmwZYtcMIJsSuRQmCmgdqkUM9etnHeeTBwIHzve7ErkUKx\nYQN89rOwcCHss0/saqSeBmil3RYsgJNOgiVLtMKlbOv734f160P/XgqDwl7axR1GjAhHzF58cexq\npNCsXx9ONv/EE2FlTIlPs3GkXR57DFasgAsuiF2JFKJu3cIJTS6/POwYSPFR2As1NeFN/Mtfwo47\nxq5GCtX48bB6NTz6aOxKpD0yCnszKzezajNbamZXNLPNjenbXzGzwenr+prZ02a20Mz+YWaXZLN4\nyY7bboM+feDUU2NXIoWsUye4/voweF9TE7saaatWe/ZmVgYsAYYDbwFzgHPdfXGDbSqAie5eYWZH\nAb9x96Fm1gvo5e7zzawr8HdgbKP7qmcfUX0v9sknwywckZa4Q3k5nHaaxnZiy0XPfgiwzN2Xu3sN\nMBkY02ib0cAkAHefDXQzs57uvsbd56ev3wgsBjR5q4D813+F88sq6CUTZmHv/qc/hXXrYlcjbZFJ\n2PcGVja4vCp9XWvb9Gm4gZn1AwYDs9tapOTG66/D3XfDtdfGrkSKySGHwBlnhMCX4pFJ2GfaY2n8\ndeLj+6VbOA8Al6b38KUA/OAHYWC2V6/YlUixufZauOceWLo0diWSqU4ZbPMW0LfB5b6EPfeWtumT\nvg4z2xH4C3Cfu09t6gEqKys//j2VSpFKpTIoSzrimWfg738Pi56JtNVee4UDrX7wA5gyJXY1paGq\nqoqqqqp23z+TAdpOhAHak4DVwEu0PEA7FLghPUBrhF7+e+7+nWb+vgZo86yuDoYMCbMqzjkndjVS\nrDZtgoMOgrvugmHDYldTerI+QOvuW4GJwAxgEfAnd19sZhPMbEJ6m+nAG2a2DLgVuDB992OArwDD\nzOzl9E95256SZNt994X59GefHbsSKWY77wzXXRdOcKNz1RY+LZdQYj78MEy1fOABGDo0djVS7Nzh\n2GPh/PPhG9+IXU1p0do40qJrroHqavjjH2NXIknx0ktw+ulhAb2uXWNXUzoU9tKst94K8+nnzQtL\n1opky1e+Ek5lqWm8+aOwl2Z97WvQuzf8/OexK5GkWbECBg+G+fOhb9/Wt5eOU9hLk+bODcsXv/Ya\n7LZb7Gokif7zP2H5crj33tiVlAaFvWzHPZxm8KtfhXHjYlcjSbVxYxj8nzIlTO2V3NJ69rKdKVPC\ngmff/GbsSiTJunYNSyh897ta874QKewT7t13w5IIv/oVlJXFrkaS7mtfC9N7dfrCwpPJcglSpD78\nMCxF++Uvw/DhsauRUlBWBpMnh7Zhnz5QURG7Iqmnnn1Cbd0KY8fCnnuGw9kt486eSMe9+CKMHh3O\nanXkkbGrSSb17AX3cC7Z2tpwFioFveTb0KFw550h8Jcti12NgMI+kSor4ZVX4P77dU5ZiWfUqHCQ\nVXk5rF0buxpRzz5hbrsNfv97eOEFHbou8Y0bF47cPvVUqKrS/8mY1LNPkGnTQvvmmWdg//1jVyMS\nuMP48bByJTz8sL5tZosOqipRs2aFc8lqQEwK0datYbG07t3DqTA1jtRxGqAtQUuWhDfSpEkKeilM\nnTqFKZlLlsBVV8WupjQp7Ivc22+HAbBf/AJGjoxdjUjzdt0VHnkknEvht7+NXU3p0QBtEduwIQT8\nuHHw9a/HrkakdT16wOOPhxOe9OoFZ5wRu6LSoZ59kdqyJRydeMABcNNN6oFKcXn5ZRgxAh58MAS/\ntJ0GaEvAli3hFHAffRTm0mvNGylGTz4ZTnryxBNw2GGxqyk+GqBNuBdfhCOOgA8+CPPpFfRSrE4+\nOXwrPemkcPDVli2xK0o2hX2R+OADuOSSMOvmxz+Ghx6CLl1iVyXSMWedFVo6c+eGM1298ELsipJL\nYV8EHnkEPv/5cHKIhQvhnHPUo5fk6Ns37LxUVsKZZ8LEiWHygWSXwr6ArV0bgv2yy+B3vwurV3bv\nHrsqkewzC3v5CxfCpk1wyCHhiHDJHoV9AXIPwX7oodCvHyxYEPqaIkm3xx5wxx1wzz3wve+FD4A1\na2JXlQwK+wKzdGkI9ptvDrMUfvEL9eal9KRSYeXWz30OBg4MHwCatNcxCvsCsXFjCPajjw5Lw86a\nBYMGxa5KJJ4uXeBnP4OZM8NqrsOGhW+50j46gjaiDRs+OXz8qafCHv3cuaF1IyLBwIFh5+emm8LS\nIN27h4HcM8+Egw/WZIVM6aCqPFu/Pizz+sAD8PTTcPzx4T/t6NEafBVpTV1dONbk/vvDe6hr10+C\nf+DA0gr+rB9Ba2blwA1AGXCHu1/XxDY3AiOBfwNfd/eX23DfxIf9+++HqWUPPADPPgsnnhj+c552\nGnTrFrs6keJUVwdz5oT31QMPhJU164P/8MOTH/xZDXszKwOWAMOBt4A5wLnuvrjBNhXARHevMLOj\ngN+4+9BM7pu+f6LCftOmMMi6ZAlUV8NDD1Xx2msphg//JOB32y12ldlTVVVFKpWKXUbO6PkVB3eY\nNy+E/v33h/MvDx5cRXl5igMOgAMPhL32StYHQFvDvrWe/RBgmbsvT//xycAYoGFgjwYmAbj7bDPr\nZma9gP4Z3LcouYfpYNXVn4T6kiXhZ/Vq6N+fj/+D9e9fxdNPpxJ7OrakhEVz9PyKg1lYRuSII+Dn\nP4dXX4Xvfa+KF19MMWlSeI/W1ob35AEHfPL+POCAcFa3nXaK/Qxyr7Ww7w2sbHB5FXBUBtv0BvbJ\n4L555x7OmrN5c1iLY8uW8PuGDbBuXeipr1u3/e8NL69YATvvvO1/nJNOqg/38HWyXmWlzrspkk9m\nYWG1Y44J7796//rXJztl1dXhZD9LlsDy5bD33mH55T32CD/dujX9e/3lLl2gc+fwIdG5c/jZocDn\nNrYW9pn2V3L+5ai2NgRqXd0nP7W1zV+urYWamk9CvWG4l5Vt+0LttFNorTT14u677/YvfO/eGkwV\nKTY9eoSfY47Z9vqamrAD99572+/gvf8+vP76tjt769eHFWcb5srmzWEnr3GudO4crt9hh/BTVvbJ\n701dvuACOPfc3Dz/1nr2Q4FKdy9PX74SqGs40GpmtwBV7j45fbkaOIHQxmnxvunrk9OwFxHJo2z2\n7OcCA8ysH7AaOBto/LkzDZgITE5/OKx397Vm9l4G921TsSIi0j4thr27bzWzicAMwvTJO919sZlN\nSN9+q7s7+3i/AAADS0lEQVRPN7MKM1sGfAh8o6X75vLJiIhI06IfVCUiIrkXbfzYzM4ys4VmVmtm\nhze4vp+ZfWRmL6d/iu489M09t/RtV5rZUjOrNrNTYtWYTWZWaWarGrxm5bFr6igzK0+/RkvN7IrY\n9WSbmS03s1fTr9dLsevpKDO7y8zWmtmCBtd1N7Mnzew1M3vCzIr2EMZmnl+b3ncxJwstAE4Hnmni\ntmXuPjj9c2Ge68qGJp+bmR1MGLs4GCgHfmtmBT5hKyMO/KrBa/Z47II6In1A4E2E1+hg4FwzOyhu\nVVnnQCr9eg2JXUwW/I7wejX0Q+BJd/8c8FT6crFq6vm16X0XLWjcvdrdX4v1+LnUwnMbA/zR3WvS\nB5stIxy4lgRJGmj/+GBCd68B6g8ITJrEvGbu/iywrtHVHx/wmf53bF6LyqJmnh+04TUs1L3K/umv\nJVVmdmzsYrJoH8LBZfXqD0BLgovN7BUzu7OYvy6nNXegYJI4MNPM5prZuNjF5EhPd1+b/n0t0DNm\nMTmS8fsup2Gf7pctaOJnVAt3Ww30dffBwHeBP5hZwa0m087n1pSiGCFv4fmOBm4mHFcxCHgbuD5q\nsR1XFK9JBx2Tfo+NBC4ys+NiF5RL6QW4kva6tul9l9P17N395HbcZwuwJf37PDN7HRgAzMtyeR3S\nnudGWBCub4PLfdLXFbxMn6+Z3QE8nONycq3x69SXbb+RFT13fzv977tmNoXQuno2blVZt9bMern7\nGjPbG3gndkHZ5O4fP59M3neF0sb5uO9kZj3SA2SY2b6EoH8jVmFZ0LCnNg04x8w6m1l/wnNLwkyI\nvRtcPJ0wQF3MPj6Y0Mw6EwbVE3P6azPbpf7bspntCpxC8b9mTZkGfC39+9eAqRFrybq2vu+inanK\nzE4HbgR6AI+a2cvuPpKw1MI1ZlYD1AET3H19rDrbo7nn5u6LzOzPwCJgK3BhQtZ3vs7MBhG+Jr8J\nTIhcT4eUwAGBPYEpFtb77QT83t2fiFtSx5jZHwnZ0cPMVgI/AX4B/NnMvgUsB74Ur8KOaeL5XQ2k\n2vK+00FVIiIloFDaOCIikkMKexGREqCwFxEpAQp7EZESoLAXESkBCnsRkRKgsBcRKQEKexGREvD/\nAaZkbVo07NcFAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can convolve our image line with the `kernel`. We take the result starting at `kernel_offset`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Convolve image line with kernel\n", "# Slice out the result we want using kernel_offset\n", "# Plot smoothed with unsmoothed line\n", "smoothed = np.convolve(mid_line, kernel)\n", "smoothed = smoothed[kernel_offset:len(mid_line)+kernel_offset]\n", "plt.plot(mid_line)\n", "plt.plot(smoothed)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are going to smooth a whole slice.\n", "\n", "* Make a new array the same shape as `mid_slice` called `smoothed_slice`;\n", "* Loop over the first dimension of `mid_slice`, and fill each line of `smoothed_slice` with the smoothed version;\n", "* Loop over the second dimension of `smoothed_slice` and replace each line with the smoothed version;\n", "* Show." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Make a new array `smoothed_slice` for smoothed output\n", "# Loop over first dimension applying kernel as above\n", "# Loop over second dimension of smoothed image, applying kernel\n", "# Show with `imshow`\n", "smoothed_slice = np.zeros(mid_slice.shape)\n", "n_x, n_y = mid_slice.shape\n", "for x in range(n_x):\n", " line = mid_slice[x, :]\n", " smoothed = np.convolve(line, kernel)\n", " smoothed_slice[x, :] = smoothed[kernel_offset:n_y+kernel_offset]\n", "for y in range(n_y):\n", " line = smoothed_slice[:, y]\n", " smoothed = np.convolve(line, kernel)\n", " smoothed_slice[:, y] = smoothed[kernel_offset:n_x+kernel_offset]\n", "plt.imshow(smoothed_slice)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\neiEa4/8BJ5IoGL/jPNMAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now time to do the same thing with `scipy.ndimage.gaussian_filter`." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# - import gaussian_filter\n", "from scipy.ndimage import gaussian_filter" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Have a look at the help for `gaussian_filter`.\n", "\n", "Use `gaussian_filter` to make another smoothed version of `mid_slice`." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Use gaussian filter to smooth `mid_slice`\n", "scipy_slice = gaussian_filter(mid_slice, sigma)\n", "plt.imshow(scipy_slice)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nCSE2hJReiMbY1OZ9llM9S6yYJc2MbbU51b2ctQkTsmSNXcz0zPSvkQvIQ2p95MvP2rKy0vHas/Le\nfts4k86b6adOnZpqyxKk+PUYzistjT006umFaAwpvRCNIaUXojFG4dOX+odxPQvZZUkzs2IJ0UfL\nMrb4c2R157rUNCulryGztbPlsrZavz17fllbJpt/ZnE7/34j+vTPPvvsueWsFmEM45bO+Mt8+i5Z\ndWqG6KY9PcntJO8heR/JB0l+ZvL5HpJHSJ4geSfJ3dlxhBDjIVV6M3sOwLVmdhWA1wO4luTbARwE\ncMTM9gM4OlkXQmwCSgpYno1dXABgG4AnANwI4MDk81sB3I2Oil8b8inNmx7bShMr1iZo6BKC6ZJA\noYa+RnDVjozM2rIkKNm9zkZbZqMf/TGzkJ2fOQdMz7aMszJLk6d0+b5kiVU8C0mMSXKF5H0AVgHc\nZWYPANhrZquTTVYB7O18ZiHEUijp6c8AuIrkJQC+SfLa0G4k5/7c+F8tkgsdhCBEK5hZ8dyJ4pCd\nmT0F4BsA3gRgleTlAEByH4CTc0+wsnLuTwovxDCQnNK1jLSnJ3kZgBfM7EmSOwBcD+DTAA4DuAnA\nLZP/h0qE6oNSfzHLoNIlHJS1ZeGnjCyk5cNImd9Xm5EmUlu7vtSnz0J2Xe51Nhw6buvJQnZ+Zl30\n27OZl95vj+8X/PnitWfPrw9Kj7meeb8PwK0kV7BmFdxmZkdJHgNwO8kPAXgIwHs3IKsQYoGkSm9m\n9wN444zPHwdw3VBCCSGGYxQj8jJq69x1CRWVmvddZn5l9JFIokubD+vEaygexVUZlsvasvuZmfBZ\nqC8Ly8Vr9S5Dl9mVWVguc236cMGUGFMI0RkpvRCNIaUXojFG6dOXhh66+PulvmRfbRmlGVS6hOwy\nX9KT1c6LlMrSV1iutC3z9zOfPpvV1+XZlr5b6eK3LxL19EI0hpReiMYYpXnvqTWJuiQpGCJM5okm\ndGnu/miKZyGtUrJwXpagoda87xLmrN2v1qQeekZjX7MdaxOpzkM9vRCNIaUXojGk9EI0xuh9+r7r\neK1HX0k6vdx9vSfw/n5tvfguCTVrQ6ClMxO7zFqsLRSRDcPNioD00ZaFR2sLoPSBenohGkNKL0Rj\njNK8r83T7te7lHmuLddcO2sqC3f582dhuS7htdJadl2oHc1Wavp3uZ/Zd8Jf7+nTp6fafBKNWKra\n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\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Subtract the `gaussian_filter` version from your handcrafted version.\n", "\n", "Can you explain the difference?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Subtract two versions of the smoothed slice, show\n", "diff_slice = smoothed_slice - scipy_slice\n", "plt.imshow(diff_slice)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 17 } ], "metadata": {} } ] }