{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.rcParams['image.cmap'] = 'gray'\n", "plt.rcParams['image.interpolation'] = 'nearest'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Nipy HRF routines" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import nipy.modalities.fmri.hrf as hrfs" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remember tab completion" ] }, { "cell_type": "code", "collapsed": false, "input": [ "t = np.arange(0, 25, 0.1)\n", "hrf = hrfs.glovert(t)\n", "plt.plot(t, hrf)\n", "plt.xlabel('time (seconds)')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n3r9ZM/2+E+fomyM+o1OnThw4cKDR5Wovqi1atOD666/nhRde4OjRo1iWxRdffHHa8ZGRkZSWltbt\nFxcXExsby6xZs2jZsiV79uxh/PjxvPrqq5SXlwOwdetWqqqquPHGG3nttdfYuXMnYBq9W7RoQWJi\nIosWLaKmpoZ58+bVzTl/Jtdddx2vvfYahw8f5uOPP+brr78GYO/evVRVVTF27FhmzpzJ+vXr68ps\n376dn/70p40+PyKgZCA+pHXr1tx8881cddVVPPLII/V62Jza2+bUx7X7TzzxBGVlZfTt25devXo1\nuIRo79692bp1a93+ww8/TGxsLAMGDOC2224jNDSUQYMGMX78eG666SZ69+7N1KlTOXr0KN27d+ex\nxx7jtttuIz4+nmeeeQaAP//5z7z//vv07duXkJAQbrvttgb/xto409LSiI2N5aqrrmLOnDkMHDgQ\nMA3gQ4cOJSEhgd/97nc8+eSTdWW3b99OTEyMU+dWRFNYizQgPT2dp556ymd+aRcWFvLcc88xb948\nu0MRH6U7A5EGTJs2jZdeesnuMM7bK6+8wr333mt3GOLDdGcgIiK6MxARESUDERFByUBERFAyEBER\nlAxERAQlAxERAf4/PiOhc9iXYSQAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What is convolution?\n", "\n", "Wikipedia knows: http://en.wikipedia.org/wiki/Convolution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In practice:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "dt = 1/8. # time interval in seconds\n", "t = np.arange(0, 40, dt) # times\n", "experiment = np.zeros_like(t)\n", "experiment[t == 5] = 1 # Event at 5 seconds\n", "plt.plot(experiment)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nDUmSGhsbVVpaqqamJiUSiZRtEomE1q9frzlz5qilpUWnT5/O3bRZdP2tCm70TtZC/4+kkOcv5Nkl\n5p9uhT5/JqYMfF9fnyorK5PPq6qq1NPTk7JNb2+vqqqqks+Li4t1/vz5LI+ZfVyiAWDdzEx34JyT\n+0whfT7fhNuuWpXp0bJncFC6/Xbpttuko0fTz/bPf0qvv35rZsuFQp6/kGeXmH+6ZWv+cFjasiXz\n/dxSbgpXr151NTU1yedbt251f/jDH1K2ef75592vfvWr5POysrIJ91VeXu4k8eDBgwePz/EoLy+f\nKtNTmnIFX1RUJOnab9KUlJTo8OHD2rFjR8o2wWBQTz31lL773e+qq6tLgUBgwn2dO3duqkMBALIs\n7SWajo4ORSIRjY6OqrW1VX6/X9FoVJIUiUTU0NCgZcuWqa6uTnPmzNG+fftyPjQAID2f++wFdACA\nCTm/k/VGbpTKN/Pnz9fixYtVW1urhoYGSdLw8LDWrFmjkpISrV27Vu+///40T/mJTZs2ae7cuVq0\naFHyc1PN+/zzz6uiokJVVVU6duzYdIycYqL529vbNW/ePNXW1qq2tlaHDh1KvpZP87/zzjv62te+\npoULFyoUCunAgQOSCuf8TzZ/oZz/kZERBYNB1dTUaOnSpdq1a5ekwjn/k82ftfN/01fvb1BNTY07\ncuSIu3DhgluwYIG7fPlyrg+Zsfnz57vBwcGUzz333HNu69atbmRkxG3ZssX94he/mKbpxovH4+6N\nN95wDz74YPJzk837n//8xy1YsMBdvHjRxWIxV1tbO11jJ000f3t7u/vlL385btt8m//SpUvuxIkT\nzjnnLl++7L761a+69957r2DO/2TzF8r5d865//73v84550ZGRtzChQvd2bNnC+b8Ozfx/Nk6/zld\nwd/IjVL5yn3mylVvb682b96sO+64Q5s2bcqrr2P58uW6++67Uz432byJRELhcFglJSV6+OGH5ZzT\n8PDwdIydNNH80vh/B1L+zX/PPfeopqZGkuT3+7Vw4UL19fUVzPmfbH6pMM6/JM2ePVuS9P777+uj\njz7SHXfcUTDnX5p4fik75z+ngb+RG6Xykc/n04oVK7R27Vq98sorklK/lsrKSvX29k7niGlNNm8i\nkUj5TacFCxbk7dfS2dmppUuX6rnnnkv+R9zb25u38587d079/f1qaGgoyPN/ff5gMCipcM7/2NiY\nqqurNXfuXG3dulUlJSUFdf4nml/Kzvn37LtJTuUvf/mLTp48qZ/97Gd66qmn9O9//3vC76b57PPM\nO9mNadPpiSee0L/+9S91dXXp/Pnzyd/cmujryof5h4eH9e1vf1u7du3SXXfdVXDn/9Pz33nnnQV1\n/mfMmKGTJ0/q3Llz+vWvf60TJ04U1PmfaP5snf+cBr6+vj7l3SX7+/u1dOnSXB4yK+69915JUiAQ\n0OrVq/Xqq6+qvr4++T47p0+fVn19/XSOmNZk8waDQZ06dSq53ZkzZ/Lya/nKV74in8+noqIibdmy\nRS+//LKk/Jx/dHRUjz32mB5//HGtWbNGUmGd/4nmL6Tzf938+fP16KOPKpFIFNT5v+7T82fr/Oc0\n8J++UerChQs6fPhw8o9/+eqDDz5I/nHo8uXL6urqUjgcVjAY1N69e/Xhhx9q7969ef+NarJ5Gxoa\n1NXVpbfffluxWEwzZszQF7/4xWmedrxLly5Jkj766CMdOHBAjz76qKT8m985p82bN+vBBx/Uk08+\nmfx8oZz/yeYvlPM/MDCgq1evSpIGBwf1pz/9SWvWrCmY8z/Z/Fk7/5n/DHhqsVjMVVZWuvLycrd7\n9+5cHy5jb731lquurnbV1dVuxYoV7sUXX3TOOffee++51atXu/vvv9+tWbPGDQ8PT/Okn9iwYYO7\n99573e233+7mzZvn9u7dO+W8HR0drry83AUCARePx6dx8muuzz9r1iw3b9489+KLL7rHH3/cLVq0\nyC1ZssT98Ic/TPmtpnya/+jRo87n87nq6mpXU1Pjampq3KFDhwrm/E80/x//+MeCOf9vvvmmq62t\ndYsXL3ZNTU3upZdecs5N/f9rIcyfrfPPjU4AYBQ/ZAUAowg8ABhF4AHAKAIPAEYReAAwisADgFEE\nHgCMIvAAYNT/AVvTk6hrtnAIAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We make an HRF at a corresponding time resolution:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "hrf_t = np.arange(0, 24, dt)\n", "hrf = hrfs.glovert(hrf_t)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Numpy has a convolve routine:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "hrf_experiment = np.convolve(experiment, hrf)\n", "plt.plot(hrf_experiment)\n", "hrf_experiment.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "(511,)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What happened? More slowly:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def dumb_convolve(data, kernel):\n", " data_len = len(data)\n", " kernel_len = len(kernel)\n", " out_len = data_len + kernel_len - 1\n", " out = np.zeros((out_len,))\n", " for i, value in enumerate(data):\n", " out[i:i+kernel_len] += value * kernel\n", " return out" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(dumb_convolve(experiment, hrf))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's add another event:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "experiment[t == 15] = 1\n", "plt.plot(dumb_convolve(experiment, hrf))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEACAYAAAC3adEgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0VPWBB/DvhFcENRDCI5RkQkJKJkgehSTg2jCyNWRl\nAwHsrrhrXVF3QC1RHu5xu11B17bqcQnNQQ12aW2BU+1yVKBKNugZRrGZBIxQQ3hKSBCCSZAkEIIB\n7v7xc0aGvGbmPufO93POnGZm7r3zu9Qz3/m9LZIkSSAiIvpWhN4FICIiY2EwEBGRDwYDERH5YDAQ\nEZEPBgMREflgMBARkQ/ZweByuWCz2ZCcnIySkpJu77/77rtIT09HRkYG5syZg6qqKu97CQkJSEtL\nQ2ZmJrKzs+UWhYiIFGCRO48hMzMT69atg9VqxezZs/Hxxx8jJibG+/7FixcxbNgwAMDu3bvx85//\nHC6XCwAwYcIE7Nu3D9HR0XKKQERECpJVY2htbQUA5Obmwmq1Ii8vD2632+cYTyh4jo+MjPR5n/Pr\niIiMRVYwVFVVISUlxfs8NTUVFRUV3Y57++23kZCQgMWLF2PDhg3e1y0WC2bNmoXCwkJs27ZNTlGI\niEghA7X4kPnz52P+/Pl48803MX/+fFRXVwMA9uzZg9jYWNTW1qKgoADZ2dkYO3asFkUiIqLeSDKc\nP39eysjI8D5//PHHpR07dvR5zujRo6WOjo5urz/55JPShg0bur2elJQkAeCDDz744COAR1JSUtDf\n7bKakqKiogCIkUl1dXUoLy9HTk6OzzHHjx/39iO89957mDp1Km666SZ0dHSgvb0dANDU1ISysjLk\n5+d3+wzP+WZ9PPPMM7qXgffHe+P9me9x/PjxoL/bZTclFRcXw+FwoKurC8uWLUNMTAxKS0sBAA6H\nA1u3bsXvf/97DBo0CJmZmXjxxRcBAI2NjViwYAEAYOTIkVixYgXi4uLkFoeIiGSSHQwzZ85EbW2t\nz2sOh8P791NPPYWnnnqq23mJiYn47LPP5H48EREpjDOfFXb1KvC73wH79vl3vN1uV7M4ujPz/Zn5\n3gDeXziTPcFNbRaLBQYvoo+1a4Hf/hb48kvg88+B2Fi9S0RE4UjOdyeDQUFXrwLx8cD77wMbNwKR\nkcCvfqV3qYgoHMn57mRTkoL27AFiYoC0NOBf/gV4800gRDKNiMiLwaCgDz4A7r5b/J2eDly7Bhw+\nrG+ZiIgCxWBQ0EcfAbm54m+LBbjzTsDp1LVIREQBYzAoRJKAvXuB6+f3/fCHonmJiCiUMBgU0tAA\n3HwzcP0K4hkZwP79+pWJiCgYDAaF1NQAkyf7vjZ5MnD0KHD5sj5lIiIKBoNBIT0FQ2QkkJgI3DAx\nnIjI0BgMCjl4EEhN7f56ejqbk4gotDAYFNJTjQFgMBBR6GEwKECSRHNRTzWGKVPE0hhERKGCwaCA\npiZg8GBgxIju7yUnA8eOaV8mIqJgMRgUUF8v1kjqidUKnD4NfPONtmUiIgoWg0EBJ0+KAOjJ4MHA\n974njiEiCgWyg8HlcsFmsyE5ORklJSXd3n/33XeRnp6OjIwMzJkzB1VVVX6fGyrq63sPBgCYOJHN\nSUQUOmQvu52ZmYl169bBarVi9uzZ+PjjjxETE+N9/+LFixg2bBgAYPfu3fj5z38Ol8vl17lAaCy7\n/cQToilp+fKe33/sMSAlBfjpT7UtFxGFL92W3W5tbQUA5Obmwmq1Ii8vD2632+cYTyh4jo+MjPT7\n3FDRV1MSIGoMMvblJiLSlKxgqKqqQkpKivd5amoqKioquh339ttvIyEhAYsXL8brr78e0LmhoK/O\nZwBISmJTEhGFjoFafMj8+fMxf/58vPnmmygsLER1dXVA569evdr7t91uN9xerf3VGJKSWGMgInU5\nnU44FVrnX1YfQ2trK+x2u/eL/qc//Sny8/MxZ86cXs8ZM2YM6urqcPnyZdx55539nmv0PoaLF8Wu\nbR0dYg+GnrS1AePGAe3tvR9DRKQk3foYoqKiAIjRRXV1dSgvL0fO9RsSADh+/Li3cO+99x6mTp2K\nm266CcOHD+/33FBw6hQwfnzfX/i33goMGgR8/bV25SIiCpbspqTi4mI4HA50dXVh2bJliImJQWlp\nKQDA4XBg69at+P3vf49BgwYhMzMTL774Yp/nhprGRiA2tv/j4uJEX8T1+zUQERmR7OGqajN6U9Kb\nbwJbtwJvvdX3cX//94DDARQUaFMuIgpvujUlEXDmjH81hvh4UWMwqmPHRLhdvap3SYhIb5qMSjKz\nxkZg7Nj+jzNyMLS1ATNnArfcInac+9nP9C4REemJNQaZ/A0GTx+DEW3cCOTmAu+/D6xdK0ZaEVH4\nYjDIZIampD/9CXjwQWDCBGDaNGDHDr1LRER6YjDIFOpNSefOiY2EZs4Uz+fNYzAQhTsGg0z+BkNs\nLHD2LHDtmvplCkRFBZCVBQwZIp7n5QEffih2pSOi8MRgkOHKFfGLe9So/o8dPBgYPlzs9mYkbjdw\n/bzCxEQxMon7RxCFLwaDDF99JZbDGDDAv+NjY8Vubkayb5/oV/CwWIDbbxc1CSIKTwwGGRobgTFj\n/D9+3DjRWW0khw4BNpvvaxkZwIED+pSHiPTHYJChqQkYPdr/48eNM1aN4fJlsdZTUpLv61OmMBiI\nwhmDQYaWFmDkSP+PN1pT0rFjYrnwQYN8X09LA/76V33KRET6YzDIcO5cYIviGa0p6fBhYNKk7q9P\nmCBC7/x57ctERPpjMMgQ6jWG3oIhIgK47TYxv4GIwg+DQQaz1hgA9jMQhTMGgwzBBEMo1BgA8frR\no9qWh4iMgcEgQ6BNSWPGiLkPRlna+uRJICGh5/cmThSd00QUfmQHg8vlgs1mQ3JyMkpKSrq9v3nz\nZqSnpyM9PR333Xcfjhw54n0vISEBaWlpyMzMRHZ2ttyiaC7QGoNn9nNzs3pl8ldXlyhHbwsAMhiI\nwpfsYCgqKkJpaSl27dqF9evXo/mGb73ExES4XC7s378fs2fPxnPPPed9z2KxwOl0orq6GpWVlXKL\norlAawyAcTqgT58WczAG9rIjR2IiUFdnnNoNEWlHVjC0trYCAHJzc2G1WpGXlwe32+1zzIwZMxAV\nFQUAmDNnDnbv3u3zvpG37exPoDUGwDj9DKdOiT0iejN0qLi3L7/UrkxEZAyygqGqqgopKSne56mp\nqajoY5GdDRs2oOC6TY8tFgtmzZqFwsJCbNu2TU5RNHf1KtDaCowYEdh5RhmZ1NDQdzAAbE4iClea\nbe25a9cubNq0CZ988on3tT179iA2Nha1tbUoKChAdnY2xvawhvXq1au9f9vtdtjtdg1K3LfWVrEV\npr8L6HkYpSmpoQEYP77vYyZOBI4fB2bN0qZMRBQ8p9MJp9OpyLVkBUNWVhZWrVrlfV5TU4P8/Pxu\nxx04cABLlizBzp07MXz4cO/rsd/2fNpsNsydOxfbt2/HI4880u3864PBKIJpRgJEjcEI8wNOnep9\nRJJHUhJrDESh4sYfzWvWrAn6WrKakjx9By6XC3V1dSgvL0fO9Yv7A6ivr8fChQuxefNmTJw40ft6\nR0cH2tvbAQBNTU0oKyvrMVSMKpiOZ0AMWT17VvnyBMqfGkNCAvdlIApHspuSiouL4XA40NXVhWXL\nliEmJgalpaUAAIfDgWeffRbnzp3DkiVLAACDBg1CZWUlGhsbsWDBAgDAyJEjsWLFCsT11+htIMHW\nGIwSDP11PgPi/YYGbcpDRMZhkQw+LMhisRhy5NKmTcD77wObNwd23tGjQH6+aLvX07hxQGVl37WG\nkyeBO+5gOBCFIjnfnZz5HKRgawyjR4vZz3q6elXsJdHfJkPjxonazZUr2pSLiIyBwRCkYPsYbr1V\nzDru6FC+TP5qaQGiorrvw3CjQYNEkBlhFBURaYfBEKRgawwWi/79DGfP+r/zXFwcUF+vbnmIyFgY\nDEEKNhgAYwSDv3tVx8ezj4Eo3DAYghRsUxIQesHAGgNReGEwBCmUawxffeV/MLApiSj8MBiCFE41\nBjYlEYUXBkOQ5NQY9B6yGkgwsMZAFH4YDEG4cgVobxeb7gSDNQYiMjIGQxDOnxfzACKC/NczQjD4\nO1w1JkbMubhwQd0yEZFxMBiCIKcZCTBGMPhbY7BYuGYSUbhhMARBTsczoG8wSFJgo5IAEQynTqlX\nJiIyFgZDEOTWGEaMAC5eBC5fVq5M/mptBSIjxcNfsbHG2HWOiLTBYAiC3BpDRAQwapQ+I5Oam0W/\nQSCMsk81EWmDwRAEuTUGQDTl6BEMwYQaawxE4YXBEAS5NQZAjArSo5+BNQYi6o/sYHC5XLDZbEhO\nTkZJSUm39zdv3oz09HSkp6fjvvvuw5EjR/w+16iUqjHoEQwtLcEFA2sMROFDdjAUFRWhtLQUu3bt\nwvr169Hc3OzzfmJiIlwuF/bv34/Zs2fjueee8/tcowrlYGhuDq4piTUGovAhKxhaW1sBALm5ubBa\nrcjLy4Pb7fY5ZsaMGYiKigIAzJkzB7t37/b7XKNSoikplGoMnmAw4A6rRKQCWcFQVVWFlJQU7/PU\n1FRUVFT0evyGDRtQUFAQ1LlGEm41hmHDgCFDxIxvIjK/gVp90K5du7Bp0yZ88sknAZ+7evVq7992\nux12u125ggUh3GoMwHcd0CNGKF8mIpLP6XTC6XQqci1ZwZCVlYVVq1Z5n9fU1CA/P7/bcQcOHMCS\nJUuwc+dODP925Tl/zwV8g8EIwq3GAHw3ZHXyZOXLRETy3fijec2aNUFfS1ZTkqfvwOVyoa6uDuXl\n5cjJyfE5pr6+HgsXLsTmzZsxceLEgM41oq4uMWv52+IHTa+lt+XWGIjI/GQ3JRUXF8PhcKCrqwvL\nli1DTEwMSktLAQAOhwPPPvsszp07hyVLlgAABg0ahMrKyl7PNbqvvxbNKRaLvOvExIhrXb0KDBig\nTNn8EWyNgUNWicKHRZKMPdbEYrHASEU8dAgoLBT/K9eoUcDnnwe2oJ0ckiQ6kdvaAlsrCQDWrgXq\n6oB161QpGhEpTM53J2c+B6ilRX7/gofWy2K0t4tgCDQUANYYiMIJgyFASnQ8e2jdzyBnNBUnuRGF\nDwZDgJQYquqh9XpJX38dfKixxkAUPhgMAVKyxqB1U9LXXwe/TzVnPxOFDwZDgEK9xhDsBLVhw4DB\ng8VGP0RkbgyGAIVyjeH8eXkzlzmXgSg8MBgCdO6csjWGUGlKArhhD1G4YDAESOnhqqHSlASwxkAU\nLhgMAQrl4arnz8uvMTAYiMyPwRAgNTqftRrpI7fGEBsLNDYqVx4iMiYGQ4CUrDEMGybWSbpwQZnr\n9Udu5zP7GIjCA4MhAN98A3R2Arfcotw1tRyyKrfzeexY1hiIwgGDIQCe2oLclVWvp+WQVSWaklhj\nIDI/BkMAlByq6qFlB7TczmfWGIjCA4MhAEoOVfXQasiqJMmvMURFiea0jg7lykVExiM7GFwuF2w2\nG5KTk1FSUtLt/UOHDmHGjBmIjIzEyy+/7PNeQkIC0tLSkJmZiezsbLlFUZ2SHc8eWtUYLl0CBg4U\ny24Hy2IRtQY2JxGZm+wd3IqKilBaWgqr1YrZs2dj0aJFPjuxjRw5EiUlJXjnnXe6nWuxWOB0OhGt\n9LetSpQcquoxejRw5Iiy1+yJ3I5nD8+Q1aQk+dciImOSVWNo/XZFtdzcXFitVuTl5cHtdvscM2rU\nKEybNg2DBg3q8RpG2p2tP2rUGLTqfJbbjOTBDmgi85MVDFVVVUhJSfE+T01NRUVFhd/nWywWzJo1\nC4WFhdi2bZucomhCrRqDFn0McjuePdgBTWR+spuS5NizZw9iY2NRW1uLgoICZGdnY+zYsXoWqU/n\nzgFWq7LXZI2BiIxGVjBkZWVh1apV3uc1NTXIz8/3+/zY2FgAgM1mw9y5c7F9+3Y88sgj3Y5bvXq1\n92+73Q673R50meUI5eGqcmc9e4wdC/zlL/KvQ0TKcjqdcDqdilxLVjBERUUBECOT4uPjUV5ejmee\neabHY2/sS+jo6MDVq1dxyy23oKmpCWVlZXjyySd7PPf6YNCTGsNVo6OBtjagqwvopRtGEUp2PrPG\nQGQ8N/5oXrNmTdDXkt2UVFxcDIfDga6uLixbtgwxMTEoLS0FADgcDjQ2NiIrKwttbW2IiIjAunXr\ncPDgQXz11VdYsGABADFyacWKFYiLi5NbHFWp0fkcEQHExABNTWJZa7Uo1ZTE4apE5meRDD4syGKx\nGGbkUlwcsGcPEB+v7HXT04Hf/Q7IzFT2utd78klR/uXL5V3n9Glg6lSGA5HRyfnu5MznAKhRYwC0\n6YBWqsYwejTQ3AxcvSr/WkRkTAwGP3V2AleuiKWylabFkFWlOp8HDhTh2NQk/1pEZEwMBj+psbKq\nh1Y1BiU6nwF2QBOZHYPBT2oMVfXQYsiqUk1JADugicyOweAnNYaqeoRSUxLALT6JzI7B4Ce1Op6B\n0GtKYo2ByNwYDH5SY50kD7VrDFeuiGW3ldqSlDUGInNjMPgplGsM58+LTXaU6jhn5zORuTEY/KRm\njWHUKBEMas3jU7LjGWBTEpHZMRj8pGaNITISGDpU/LJXg5IdzwCbkojMjsHgJzWHqwLqDllVsuMZ\n+K7GYJCVSohIYQwGP6k5XBVQtwNa6aakm28GBgwA2tuVuyYRGQeDwU9qB4OaHdBK7d52PfYzEJkX\ng8FPLS2ik1gtoVRjADgyicjMGAx+kCSxoqiafQxq1xjUCAZ2QBOZE4PBD+3tYuTQkCHqfYbaNQY2\nJRGRv2QHg8vlgs1mQ3JyMkpKSrq9f+jQIcyYMQORkZF4+eWXAzrXKJqaxC5ralKzxqBWUxJrDETm\nJDsYioqKUFpail27dmH9+vVobm72eX/kyJEoKSnBypUrAz7XKJqb1Q8GNYersvOZiAIhKxhaW1sB\nALm5ubBarcjLy4Pb7fY5ZtSoUZg2bRoG3bDTvT/nGoVWwcDOZyIyAlnBUFVVhZSUFO/z1NRUVFRU\nqH6u1rQIhlDrfB47lk1JRGbFzmc/aBEMUVFi+9DOTuWvrUbnM2sMROY1UM7JWVlZWLVqlfd5TU0N\n8vPzFT939erV3r/tdjvsdntQ5Q2WFsFgsXzXzxAfr9x1JUmdPoaYGKCtDfjmG2DwYGWvTUSBczqd\ncDqdilxLVjBERUUBEKOL4uPjUV5ejmeeeabHY6UbFtYJ5Nzrg0EPzc3AhAnqf46nn0HJYLhwQQy1\nvaGLR7aICDHh7+xZIC5O2WsTUeBu/NG8Zs2aoK8lKxgAoLi4GA6HA11dXVi2bBliYmJQWloKAHA4\nHGhsbERWVhba2toQERGBdevW4eDBg7j55pt7PNeItKgxAOqMTFKj49nD05zEYCAyF9nBMHPmTNTW\n1vq85nA4vH+PHTsWDQ0Nfp9rRFoFgxod0Gp0PHuwA5rInNj57ActawxKD1lVo+PZgx3QRObEYPBD\nc7O6C+h5qFFjULMpiTUGInNiMPTj6lV1m2Oup0aNQc2ys8ZAZE4Mhn6cPw/ceiswUHZvTP/UqjGw\nKYmIAsFg6IdW/QtA6NUY2JREZE4Mhn5osbKqhxpftKwxEFGgGAz90LLGMGqU+CL/5hvlrql25/PZ\ns2J2NRGZB4OhH1oGw4ABop9ByeYkNZuSIiOBoUOBc+fUuT4R6YPB0A+1t/S8UWwscPq0ctdTsykJ\nYHMSkRkxGPpx9qxoMtHKuHHKftGqPdSWHdBE5sNg6MeZM9oHA2sMRKQnBkM/GhvFl59W1GhKYo2B\niALBYOiHHjUGpX6BX74MXLkiOojVwhoDkfkwGPrR2KhtMChZY/Bs0GOxKHO9nrDGQGQ+DIY+dHSI\nX91qttHfSMk+hnPngOhoZa7VG9YYiMyHwdAHT21BzV/cN1KyKUnt/gWAwUBkRrKDweVywWazITk5\nGSUlJT0e8/TTTyMxMRFTp07FoUOHvK8nJCQgLS0NmZmZyM7OllsUxWnd8QyI2c/nzysz+/nrr9Wv\nMbApich8ZK8ZWlRUhNLSUlitVsyePRuLFi3y2aKzsrISH330Efbu3YuysjKsXLkSO3bsAABYLBY4\nnU5Eq/3tFSStO54BsZeyZzE9uVtmnjunfo1hxAigs1M0u6nZyU1E2pFVY2htbQUA5Obmwmq1Ii8v\nD2632+cYt9uNe+65B9HR0Vi0aFG3rTwlAy+0o3XHs4dS/QxaNCVZLMrPvSAifckKhqqqKqSkpHif\np6amoqKiwueYyspKpKamep+PGjUKX3zxBQBRY5g1axYKCwuxbds2OUVRxZkz2jclAcqNTNKiKQkA\nxo8HTp1S/3OISBuqbz8jSVKvtYI9e/YgNjYWtbW1KCgoQHZ2Nsb28BN99erV3r/tdjvsdrtKpfV1\n5gyQk6PJR/lQqgP63DlgwgT51+kPg4FIf06nE06nU5FryQqGrKwsrFq1yvu8pqYG+fn5Psfk5OTg\n4MGDmD17NgCgqakJiYmJAIDYb3+O22w2zJ07F9u3b8cjjzzS7XOuDwYt1dcDP/6x9p+rZFPSD34g\n/zr9YTAQ6e/GH81r1qwJ+lqympKioqIAiJFJdXV1KC8vR84NP7FzcnKwdetWtLS0YMuWLbDZbACA\njo4OtLe3AxBhUVZW1i1U9HbyJGC1av+5SjUlaTGPAWAwEJmN7Kak4uJiOBwOdHV1YdmyZYiJiUFp\naSkAwOFwIDs7G3fccQemTZuG6OhobNq0CQDQ2NiIBQsWAABGjhyJFStWIE7uMBwFXbsGNDQA8fHa\nf7ZSTUladD4DIhg+/FD9zyEibVgkIw8Lguig1qOIjY3AlClia0+tffYZ8MADwP798q6Tmgr86U/A\n5MnKlKs3lZXAo48Ce/eq+zlE5D85352c+dyL+np9aguAcrOJtWxK+vJL9T+HiLTBYOiFXv0LgDKz\nnyVJu6akMWOAlhZl96omIv0wGHqhZzBERIgvWzkd0JcuiT2kIyOVK1dvBgwQEwG5ZhKROTAYenHy\npH5NSYD47IaG4M/XYjmM63FkEpF5MBh6oWeNARDrJMkJBq2akTwYDETmwWDoxeHDwKRJ+n2+3BqD\nVstheDAYiMyDwdCDy5dFjSE5Wb8yxMWJkVHBYlMSEQWLwdCDI0fEGkODB+tXhlBsSpJTXiIyDgZD\nDw4eFJPD9BQfL7/GoGVTktwgIyLjYDD0oKZG/2AItRqD1Sqa34go9DEYenDwoPrLSPQnJkbsinbx\nYnDnax0MY8eKSXmXLmn3mUSkDgZDDz7/XP8ag8Uir9agdVNSRIT8DnMiMgYGww3OnRPr/ugdDIC8\nL1qtawwAkJAA1NVp+5lEpDwGww3cbiArCxio+t52/ZMzl6GlRTRHaYn9DETmwGC4wQcfADNn6l0K\nQU5TUnOz9sHAGgOROTAYbvD++8Df/Z3epRDkDFnVIxhYYyAyB9nB4HK5YLPZkJycjJKSkh6Pefrp\np5GYmIipU6fi0KFDAZ2rpQMHgLY2YOpUvUsiBNvH0NkplsC++Wbly9QX1hiIzEF2MBQVFaG0tBS7\ndu3C+vXr0dzc7PN+ZWUlPvroI+zduxcrV67EypUr/T5Xa6+8Ajz4oFhG2ggmTAjui9bTv2CxKF6k\nPrHGQGQOsoKhtbUVAJCbmwur1Yq8vDy43W6fY9xuN+655x5ER0dj0aJFqK2t9ftcLVVVAVu3AkVF\nuhWhG6tV9DFcuRLYeXo0IwFir+qmJm7YQxTqZI29qaqqQkpKivd5amoqKioqMGfOHO9rlZWVuP/+\n+73PR40ahePHj+PEiRP9nuvx7rtiR7KeHkDv7/n7fkODqC385jfAyJFy/kWUNWSI2LCnoUHUHvyl\nVzAMHCjCoaEBSErS/vONoq0NcLm++++LQsvMmcCtt+pdCn2pPihTkqRuG1JbAmzjeOqp1d+eB8TE\n2DF6tB0Wy3dNJZ6/e3r48350NPDhh8Btt8m5U3UkJgJffBFYMDQ16RMMgOhnOHnSvMEgScDZs8Ch\nQ+I+z5z57tHYKGZ/nzoFpKdr38dDykhLC81gcDqdcDqdilxLVjBkZWVh1apV3uc1NTXIz8/3OSYn\nJwcHDx7E7NmzAQBNTU1ITExEdHR0v+d6HD68Wk4xQ1pSkgiGv/1b/8/Rq8YAiGA4cUKfz1bDqVPA\nxx8Df/kLUFkplksZPFjs1TFhAhAbK+55xgyxLEh0tPi3HzdO75JTuLHb7bDb7d7na9asCfpasoIh\nKioKgBhdFB8fj/LycjzzzDM+x+Tk5GD58uX4yU9+grKyMthsNgDA8OHD+z2XvqsxBELPYEhKAo4f\n1+ezlVJdDfzv/wI7dohZ8Lm5wPTpwK9+JdbQ0uvflkgrspuSiouL4XA40NXVhWXLliEmJgalpaUA\nAIfDgezsbNxxxx2YNm0aoqOjsWnTpj7PJV+JicA77wR2TnOzfrvPTZwoOvFDzaVLwBtvAKWlYjmR\nRYuAV18FcnKMM0qNSCsW6cYOAIOxWCzd+ijCidsNPPYYsHev/+fcey8wb574ctPavn3Aww+LX92h\noLMTKCkB/vu/xVIoRUXAnXeKRQGJQpmc704DrAhEfQm1pqSJE4Fjx0QnrdbzKAIhSaKp6IkngClT\ngLIy0elIRAwGw4uJEfMYAlktVc9giIoCbrpJjNCJjdWnDP1pbQUefVTUwl59FcjL07tERMbCCrPB\nWSyi1hDISJ+zZ4HRo9UrU3+Sk0WtwYiqqoDMTDEcsbqaoUDUEwZDCAikOenqVVFj0DMYJk4Ejh7V\n7/N78/bbwN13Ay+9JGoKQ4fqXSIiY2JTUghISvL/i7apSTQ5DRqkbpn6kpxsvGAoKQFeeAHYudM4\niyQSGRVrDCHAZgO+XWKqX42NYqKVnoxWY/j1r4HiYmDPHoYCkT8YDCEgkGA4c0b/Tl8j9TG8+iqw\ndq1Y8sRq1bs0RKGBTUkhwGYTa/P4MwTUKDUGIwxZfecd4PnnxYJ2DAUi/7HGEAKGDxcLsp061f+x\nRqgxREUBw4aJ5ST0Ul0N/Ou/inBITNSvHEShiMEQIvxtTjJCjQEQK9XW1Ojz2V99JWZ+v/IKMG2a\nPmUgCmVNZ2BZAAAMjElEQVQMhhCRmipW9uyPEWoMgAiGzz/X/nOvXQPuv1887rlH+88nMgMGQ4gI\nxRqDHsHw0ktARwcgY8VhorDHYAgR/gbDmTPhGwxutxiBtGWL2E2OiILDYAgR/gSDJBmnKWnyZNH0\nde2aNp/X2Qk8+KCYyBYXp81nEpkVgyFEjB0rFtNraur9mJYWsbuYEbYlvPVWsZCfVru5PfcckJLC\nfgUiJTAYQoTFIpaF3r+/92NOnBDbTBqFVs1J1dXA668D69cbe6lvolARdDC0t7dj3rx5iI+PR2Fh\nIS5cuNDjcS6XCzabDcnJySgpKfG+vnr1aowfPx6ZmZnIzMzEzp07gy1K2MjMBD79tPf36+rEPsRG\nMWWK+sHQ1QUsXgy8+KIxmtCIzCDoYHj11VcRHx+Po0ePYvz48Xjttdd6PK6oqAilpaXYtWsX1q9f\nj5aWFgBid6Hly5ejuroa1dXVyM/PD7YoYeMHP+h7Z7QTJ4wVDLfdBvz1r+p+xiuvACNHAg88oO7n\nEIWToIOhsrISDz30EIYMGYLFixfD7XZ3O6a1tRUAkJubC6vViry8PFRUVHjfD+ctO4PhT43BSE1J\n6enAZ5+pd/2mJuC//ksskscmJCLlBB0MVVVVSElJAQCkpKSgsrKyz2MAIDU11ScYSkpKMH36dLzw\nwgtob28Ptihhw2YTy2L09k9ltBqDzSaWxfj294HifvYz4J//WUz+IyLl9Dna+6677kJjY2O3159/\n/nnZv/aXLl2K//zP/0RbWxtWrVqF0tJSrFy5ssdjV69e7f3bbrfDbrfL+uxQNXCgaJ6prgZyc7u/\nb7RgGDgQyMgA9u0DZs1S9tr79gHbtonFBYkIcDqdcDqdylxMCtKCBQukTz/9VJIkSdq7d6+0cOHC\nbsecP39eysjI8D5//PHHpR07dnQ77rPPPpNuv/32Hj9HRhFN6YknJOkXv+j++rVrkhQZKUkXLmhf\npr48+aQk/fKXyl7z2jVJuv12SXr9dWWvS2Qmcr47g25KysnJwcaNG3Hp0iVs3LgR06dP73ZMVFQU\nADEyqa6uDuXl5cjJyQEAnDlzBgBw5coVbNmyBXfffXewRQkrd9whNpy50enTYu7AsGHal6kvWVli\nn2UlbdkCXL4sJrQRkfKCDoalS5eivr4ekyZNwpdffoklS5YAAE6fPo05c+Z4jysuLobD4cCPfvQj\nPProo4iJiQEA/Nu//RvS0tIwffp0dHV1YenSpTJvJTz8zd8An3zSfUbx55+LZiajyckBKirErGwl\ntLcDTz0lOpwHDFDmmkTky/JtlcOwLBYLRy/dYOJE4N13xbITHi+/DNTXA+vW6VeunkgSMH682Cwn\nKUn+9Z5+WnTA/+EP8q9FZGZyvjs58zkEzZwJfPCB72sHDogJZUZjsQB2O6BEn9jx48CGDcCvfiX/\nWkTUOwZDCJo7V9QYrldRAWRn61Oe/sycCezeLf86K1cCK1YA3/ue/GsRUe/YlBSCOjrE8g91dcCI\nEUBzs2imOXfOmO3uhw8Dd90FnDwZ/ES0XbvEVp0HDwKRkcqWj8iM2JQUZoYOFc0z27eL52VlYl6D\nEUMBAL7/ffG//uwn0ZMrV4CiItGPwlAgUh+DIUQ98IBYJ0iSgD/+EVi4UO8S9c5iEc1f27YFd/5r\nr4llxwsLlS0XEfWMTUkh6upVsdH9lCnAhx+K5hqjzWG4XlkZ8OyzPc/B6MvFi2I29wcfGLNzncio\n2JQUhgYMAN5+W6ws+u67xg4FQDR91dSIPakD8cYbwIwZDAUiLbHGQJp56CGxsF4vS2J109ws5mq8\n9x4wdaq6ZSMyGznfnQwG0syePcDDD4uRRf6MTvrJT4DoaKC4WP2yEZmNnO/OPldXJVLS7beLzvLd\nu0XTUl/+9CcxN6OvjYmISB2sMZCm3ngD2LhRzITurdZw6pRoOtq+3biT9oiMjp3PFDL+6Z9EB/Sf\n/9zz+xcvAvPmiRnODAUifbDGQJrbvRu4916x2c64cd+9fuGCmKsQFydqFdyukyh4rDFQSJk5E1i+\n/Lu9Jb75Bti5U9QQEhOB3/yGoUCkJ9YYSDdvvSX2bT5+XEzWW7UK+PGP9S4VkTnoUmNob2/HvHnz\nEB8fj8LCQly4cKHH4xYvXowxY8Zgyg0zlPw9n8zrH/4BOHpUzOKurGQoEBlF0MHw6quvIj4+HkeP\nHsX48ePx2muv9Xjcgw8+iJ07dwZ9vtkptnm3Qflzf6HabMT/70Kb2e9PjqCDobKyEg899BCGDBmC\nxYsXw+1293jcD3/4Q4wYMSLo883O7P9xmvn+zHxvAO8vnAUdDFVVVUhJSQEApKSkoLKyUtPziYhI\nHX3OfL7rrrvQ2MOqZ88//7zsDmF2KBMRGZQUpAULFkiffvqpJEmStHfvXmnhwoW9HnvixAnptttu\nC+r8pKQkCQAffPDBBx8BPJKSkoL9epeCXispJycHGzduxIsvvoiNGzdi+vTpqpx/7NixYItIRERB\nCLqPYenSpaivr8ekSZPw5ZdfYsmSJQCA06dPY86cOd7jFi1ahNtvvx1HjhxBXFwcfvvb3/Z5PhER\n6cvwE9yIiEhbhl4Sw+VywWazITk5GSUlJXoXJ2A9Te7ra2Lfr3/9ayQnJyM1NRUff/yxHkUOSEND\nA+68805MnjwZdrsdW7ZsAWCee+zs7EROTg4yMjIwffp0rF27FoB57g8Arl69iszMTBQUFAAw170l\nJCQgLS0NmZmZyP52RUYz3d/FixfxwAMP4Pvf/z5SU1PhdruVu7+geyc0kJGRIe3evVuqq6uTJk2a\nJDU1NeldpIC4XC7p008/9el4f+GFF6THH39c6uzslB577DHppZdekiRJks6ePStNmjRJOnnypOR0\nOqXMzEy9iu23M2fOSNXV1ZIkSVJTU5M0YcIEqa2tzVT3ePHiRUmSJKmzs1OaPHmydOTIEVPd38sv\nvyzdd999UkFBgSRJ5vrvMyEhQWppafF5zUz3t2LFCuk//uM/pEuXLkldXV3S+fPnFbs/w9YYWltb\nAQC5ubmwWq3Iy8sLuUlwPU3u621in9vtRn5+PuLj4zFz5kxIkoT29nY9iu23sWPHIiMjAwAQExOD\nyZMno6qqylT3OHToUADAhQsXcOXKFQwZMsQ093fq1Cm89957ePjhh73Dx81ybx7SDS3lZrq/Xbt2\n4d///d8RGRmJgQMHIioqSrH7M2wwXD8BDgBSU1NRUVGhY4mU0dvEPrfbDZvN5j1u0qRJITXp79ix\nY6ipqUF2drap7vHatWtIT0/HmDFj8PjjjyM+Pt409/fkk0/ipZdeQkTEd18DZrk3QCwiN2vWLBQW\nFmLbtm0AzHN/p06dQmdnJ5YuXYqcnBy88MILuHTpkmL3Z9hgMKsbf8H0xRIiiwi1t7fjH//xH7F2\n7VrcfPPNprrHiIgI7N+/H8eOHcMrr7yC6upqU9zfjh07MHr0aGRmZvrcjxnuzWPPnj3Yv38/fvnL\nX2L58uVobGw0zf11dnbiyJEjWLhwIZxOJ2pqavDWW28pdn+GDYasrCwcOnTI+7ympibguRJGlJWV\nhdraWgBAbW0tsrKyAIh5HQcPHvQed+jQIe97RtbV1YWFCxfi/vvvx7x58wCY7x4B0ZF59913w+12\nm+L+PvnkE2zbtg0TJkzAokWL8OGHH+L+++83xb15xMbGAgBsNhvmzp2L7du3m+b+Jk6ciEmTJqGg\noAA33XQTFi1ahJ07dyp2f4YNhqioKABiZFJdXR3Ky8uRk5Ojc6nk80zsu3Tpks/EvuzsbJSVlaG+\nvh5OpxMRERG45ZZbdC5t3yRJwkMPPYTbbrsNTzzxhPd1s9xjc3Mzzp8/DwBoaWnB//3f/2HevHmm\nuL9f/OIXaGhowIkTJ/DHP/4Rs2bNwh/+8AdT3BsAdHR0eNvQm5qaUFZWhvz8fNPcHwAkJyfD7Xbj\n2rVr+POf/4wf/ehHyt2fGr3lSnE6nVJKSoqUlJQkrVu3Tu/iBOzee++VYmNjpcGDB0vjx4+XNm7c\nKLW1tUlz586V4uLipHnz5knt7e3e44uLi6WkpCTJZrNJLpdLx5L756OPPpIsFouUnp4uZWRkSBkZ\nGdL7779vmns8cOCAlJmZKaWlpUl5eXnSG2+8IUmSZJr783A6nd5RSWa5ty+++EJKT0+X0tPTpVmz\nZkn/8z//I0mSee5PkiTp8OHDUk5OjpSeni6tWLFCunDhgmL3xwluRETkw7BNSUREpA8GAxER+WAw\nEBGRDwYDERH5YDAQEZEPBgMREflgMBARkQ8GAxER+fh/OkwX2Izxkp8AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Rephrased - the convolution adds a scaled copy of the kernel to the time course, where the scaling comes from the data value at each time point." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What about a block design?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "block = np.zeros((400,))\n", "block[50:150] = 1\n", "plt.plot(np.convolve(block, hrf))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Convolution is a little easier to see at coarser detail:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "dt = 1. # time interval in seconds\n", "t_low = np.arange(0, 40, 1) # dt == 1\n", "experiment_low = np.zeros_like(t_low)\n", "experiment_low[5] = 1\n", "experiment_low[15] = 1\n", "hrf_low = hrfs.glovert(np.arange(24))\n", "plt.plot(hrf_low)" ], "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": [ "Ugly, but, now lets redo the dumb convolution. This time, instead of summing up all the components, (the copies of the HRF corresponding to each time point in the experiment), we'll keep the individual components. There will be one component for each time point in the experiment." ] }, { "cell_type": "code", "collapsed": false, "input": [ "data_len = len(experiment_low)\n", "kernel_len = len(hrf_low)\n", "out_len = data_len + kernel_len - 1\n", "# Let's stack the summed time courses\n", "components = np.zeros((data_len, out_len))\n", "for i, value in enumerate(experiment_low):\n", " components[i, i:i+kernel_len] = value * hrf_low\n", "# Then sum to get the result\n", "out = np.sum(components, axis=0)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This gives the right convolution:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(out)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nXU6PulpcZ6SFddXV1bjnnnswadIkWCwWvPPOOwCM8ztcunQJKSkpSEhIwNSpU/Hyyy8DME79Dleu\nXEFiYiKys7MBGKv+cePGIS4uDomJiUhOTgZgnPovXLiABx98EBMnTkRsbCxKSkoMU/vhw4eRmJjo\n/PLz88Mrr7yC5uZmt+rXdRgsW7YMBQUFKCoqwtq1a1FfX691Sd3qanGdkRbW+fj44OWXX0ZFRQX+\n93//F8888wyampoM8zv4+vri888/x/79+7Fz50688cYbOHr0qGHqd1izZg1iY2NhurZVq5HqN5lM\nsNlsKC8vd04VN0r9q1atQlhYGL766it89dVXiI6ONkztUVFRKC8vR3l5Ob788ksMGzYMs2fPxrp1\n69yqX7dh0NDQAABITU2F2WxGenq6rhemdbW4zkgL64KCgpCQkAAACAgIwKRJk1BWVmao32HYtYcf\nNDc3o62tDUOGDDFU/d9++y0++eQTPPLII86p10aqH0CnKeNGqb+oqAj//u//Dl9fXwwaNAh+fn6G\nqb29oqIiTJgwAaGhoe7X79bcIy8qLCyUfvrTnzpfv/rqq9IzzzyjYUW9u3EKbVhYmHTx4kVJkiTp\nwoULUlhYmFalueXo0aPS+PHjpaamJkP9DleuXJHi4uKkgQMHSvn5+ZIkGet/g3nz5kn79u2TbDab\ndP/990uSZKz6x48fL8XFxUkzZ86UPvroI0mSjFF/dXW1FBUVJT344INScnKy9OKLL0otLS2GqP1G\nDz30kLR27VpJktz/d6/blkFfIBlwbL6pqQn//M//jJdffhnDhw831O8wYMAAHDhwAF9//TXWrVuH\n8vJyw9S/bds2jBkzBomJiR1qNkr9ALB7924cOHAAv/3tb7F8+XLU1NQYov5Lly7hyJEjmDt3Lmw2\nGyoqKvDnP//ZELW3d/nyZWzduhU/+clPALj//x3dhkFSUhIOHTrkfF1RUeH2WgatJSUlobKyEgBQ\nWVmJpKQkjSvqWWtrK+bOnYv58+dj5syZAIz3OwBiIPO+++5DSUmJYerfs2cPtmzZgvHjxyMnJwef\nffYZ5s+fb5j6ASA4OBgAEBMTgwceeABbt241RP0TJkxAVFQUsrOzMXToUOTk5GD79u2GqL29Tz/9\nFJMnT0ZgYCAA9//b1W0Y+F17sK3dbkdVVRUKCwuRkpKicVXucSysu3jxokcL87xJkiQ8/PDDuO22\n2/D44487f26U36G+vh7nz58HAJw9exZ//etfMXPmTMPU/5vf/AbV1dX45ptv8O677yItLQ1vv/22\nYepvaWlBU1MTAKCurg47duxAZmamYeqPjIxESUkJrl69io8//hgzZswwTO0OmzdvRk5OjvO12/Wr\n1XelBJvNJkVHR0sRERHSmjVrtC6nRz/96U+l4OBgafDgwVJISIi0YcMGqbGxUXrggQek0NBQaebM\nmVJTU5PWZXbriy++kEwmkxQfHy8lJCRICQkJ0qeffmqY3+Grr76SEhMTpbi4OCk9PV166623JEmS\nDFN/ezabTcrOzpYkyTj1Hz9+XIqPj5fi4+OltLQ06Y033pAkyTj1Hz58WEpJSZHi4+OlFStWSM3N\nzYapXZIkqbm5WRo9erTU2Njo/Jm79XPRGRER6bebiIiIvIdhQEREDAMiImIYEBERGAZERASGARER\ngWFARERgGBAREYD/B4o0G3OtfRoUAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.imshow(components)\n", "plt.plot((0, data_len), (0, data_len), 'r')\n", "plt.axis('tight')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "(-0.5, 62.5, 40.0, -0.5)" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAWwAAAD9CAYAAACY0k3rAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtwVPXhNvDn7G6ySUh2SUhcNtlsrnuIICRpExLakR8y\n1naCGhz/UDqjjqRj5VoMMC2Kt/EC/lBSLgZ8q+m0Km/r6xQHW0G8AS3WhFQuMzRyDssCuYFEILsL\nm2Sz2fePSipmQ267OXt2n8/MziRf95zzfGf08eS75+wR/H6/H0REFPY0SgcgIqLhYWETEakEC5uI\nSCVY2EREKsHCJiJSCRY2EZFKjKmwDxw4gJtvvhk2mw1btmwJViYiIgpAGMt12MXFxdi0aROysrLw\n05/+FP/4xz+QmpoazHxERPQt3Wg37OzsBADMnj0bAHDHHXegvr4e8+bN639PUlIS3G73GCMSEUWX\nxMREuFyuAeOjLuxDhw6hoKCg//epU6fiiy++uK6w3W43SkpK4Dx7FgardbSHClutra3IyMhQOkZQ\ncU7qwDmpw2jn1NjYGHB81IU9XBebmzH566/R29uLy6mpMBgMoT4kEZGqOJ3OgGfU3zfqDx1LS0vx\n1Vdf9f9+/PhxlJeXD3hfSmYmrk6ahD1OJ+aO9mBERBHMYDAgIyOj/zWYURe20WgE8J8rRU6fPo2P\nPvoIZWVlAd97ddIk/CY3Fy+eOoUZw/i/iFokJSUpHSHoOCd14JzUIdhzGtOSyG9/+1v88pe/hNfr\nxfLlywe9QsRgMOBLAE/l5GCD3Y7HbDb8e8KEsRw6LETi8g7npA6ckzoEe05juqxvyJ0LAkpKSq4b\nm335Mh4/fRrLRBFyQkKoDk1EpFqNjY0IVM3jfqfjgYkTscFqxWZZRo7HM96HJyJSLUVuTf8kJQWb\nLRZskSRYurqUiEBEpDqKfZfI7kmT8Hp6OmolCebubqViEBGphqJf/vReWhreNplQK0lI6+lRMgoR\nUdhT/Nv6/mwyYWdqKmolCSler9JxiIjCluKFDQB/NJuxNzkZr0oSjCxtIqKAwqKwAeB36ek4aDRi\nqywjsbdX6ThERGEnbAobgoCtGRk4kpiITbKMBJ9P6URERGElfAobAAQBr2Rmwh4fjxpZhp6lTUTU\nL7wKGwAEAeuystCu1+Nlux2xfX1KJyIiCgvhV9gA/IKA57Kz4dJqsd5uh46lTUQUnoUNAD5BwJM5\nOfADeN7hgDZ0X3lCRKQKYVvYAODTaLAmLw8JPh+edjigYWkTURQL68IGgB6NBqvz8pDm9WLNmTMQ\nWNpEFKXCvrABoFurRXV+PnI9HqxsbgZY2kQUhVRR2ADg0Wqx3GbDdLcby1paWNpEFHVUU9gAcEWn\nw3JRxCynE4+0tSkdh4hoXKmqsAGgU6fDElHE7Zcu4aH2dqXjEBGNG9UVNgBcionBElFEZUcHFpw/\nr3QcIqJxMaaH8GZnZ8NgMECr1SImJgYNDQ3ByjWkC7GxWCyKeO3ECXRpNNiZljZuxyYiUsKYClsQ\nBOzbtw8pKSnByjMi5/R6LBFFbD9xAj2CgL8N8tT275o8eXLA8blz5w4Ymzdv3oAxURQDbu92uweM\nHT58eMDY/v37A27/+eefDxhramoaMHbu3LmA23cFeNSaIAgDxuLi4gJuHx8fP6yxwbaPiYkZMKbT\nDfzXK9DYYDSagX8ABprTjcaJIsmYl0RC+ND1YWmJi8NSUcTS1lb85OJFRbMQEYXSmApbEATMnTsX\n8+fPx65du4KVacROx8djmc2GlWfPYvalS4rlICIKpTEtiRw8eBBmsxlNTU246667MHPmzAFLDq2t\nrf0/JyUlwWAwjOWQgzqZkIAVNhs2yTK8Gg3+aTSG5DhERMHmdDrhcrmGfN+YzrDNZjMA4Oabb8bd\nd9+N999/f8B7MjIy+l+hKutrvpowAavz8/Gsw4ESpzOkxyIiChaDwXBdVw5G8I9yEfrq1avw+XxI\nSkrChQsXMGfOHOzZsweZmZn/3bkgoKSkZDS7H5MfOJ1Yf+oUVuXl4VhS0rgfn4hoLBobGwN+Pjjq\nJZHz58/jnnvuAQBMmjQJK1euvK6slfSlwYCncnKwwW7HYzYb/j1hgtKRiIjGbNRn2MPauUJn2NfM\nvnwZj58+jWWiCDkhQbEcREQjMdgZtirvdByuAxMnYoPVis2yjByPR+k4RERjEtGFDQCfpKRgs8WC\nLZIES4CbS4iI1CLiCxsAdk+ahNfT01ErSTB3dysdh4hoVKKisAHgvbQ0vG0yoVaSkNbTo3QcIqIR\ni5rCBoA/m0zYmZqKWklCiterdBwiohGJqsIGgD+azdibnIxXJQlGljYRqUjUFTYA/C49HQeNRmyV\nZST29iodh4hoWKKysCEI2JqRgSOJidgky0jw+ZROREQ0pOgsbAAQBLySmQl7fDxqZBl6ljYRhbno\nLWwAEASsy8pCu16Pl+12xPb1KZ2IiGhQ0V3YAPyCgOeys+HSarHeboeOpU1EYSrqCxsAfIKAJ3Ny\n4AfwvMMBrcJP0SEiCoSF/S2fRoM1eXlI8PnwtMMBDUubiMIMC/s7ejQarM7LQ5rXizVnzkBgaRNR\nGGFhf0+3Vovq/HzkejxY2dwMsLSJKEywsAPwaLVYbrNhutuNZS0tLG0iCgss7EFc0emwXBQxy+nE\nI21tSschImJh30inTocloojbL13CQ+3tSschoig3ZGEvXLgQJpMJ06dP7x9zuVyorKyE1WrF/Pnz\n4Xa7QxpSSZdiYrBEFFHZ0YEF588rHYeIotiQhf3www9jz549141t27YNVqsVsizDYrFg+/btIQsY\nDi7ExmKxKOL+8+dxz4ULSschoig1ZGHfeuutSE5Ovm6soaEBVVVV0Ov1WLhwIerr60MWMFyc0+ux\nRBRR1daGeR0dSschoig0qjXsQ4cOoaCgAABQUFCAhoaGoIYKVy1xcVgqilja2oqfXLyodBwiijK6\n0WwU6PHrg2ltbe3/OSkpCQaDYTSHDBun4+OxzGbDVklCtyDgwPf++iAiGimn0wmXyzXk+0ZV2KWl\npWhqakJxcTGamppQWlo66HszMjJGc4iwdjIhAStsNmySZXg1GvzTaFQ6EhGpmMFguO5ktn2Qq9JG\ntSRSVlaGuro6eDwe1NXVoby8fHQpVeyrCROwOj8fzzocKHE6lY5DRFFgyMJesGABfvSjH0GSJGRm\nZuL3v/89Fi1ahLNnz2LKlClobW3Fo48+Oh5Zw86xxET8JjcXL546hRnD+HOGiGgsBP9IFqRHunNB\nQElJSah2HzbKOzvxrMOBx2w2/HvCBKXjEJHKNTY2BvyskHc6BsEXRiNeyM7GRlmG7epVpeMQUYRi\nYQfJgYkTscFqxWZZRo7Ho3QcIopALOwg+iQlBZstFmyRJFi6upSOQ0QRhoUdZLsnTcLr6emolSSY\nu7uVjkNEEYSFHQLvpaXhbZMJtZKEtJ4epeMQUYRgYYfIn00m7ExNRa0kIcXrVToOEUUAFnYI/dFs\nxt7kZLwqSTCytIlojFjYIfa79HQcNBqxVZaR2NurdBwiUjEWdqgJArZmZOBIYiI2yTISfD6lExGR\nSrGwx4Mg4JXMTNjj41Ejy9CztIloFFjY40UQsC4rC+16PV622xHb16d0IiJSGRb2OPILAp7LzoZL\nq8V6ux06ljYRjQALe5z5BAFP5uTAD+B5hwPa0H33FhFFGBa2AnwaDdbk5SHB58PTDgc0LG0iGgYW\ntkJ6NBqszstDmteLNWfOQGBpE9EQWNgK6tZqUZ2fj1yPByubmwGWNhHdAAtbYR6tFsttNkx3u7Gs\npYWlTUSDYmGHgSs6HZaLImY5nXikrU3pOEQUpljYYaJTp8MSUcTtly7hoUGemExE0W3Iwl64cCFM\nJhOmT5/eP/bMM8/AYrGguLgYxcXF2LNnT0hDRotLMTFYLIqo7OjAgvPnlY5DRGFGN9QbHn74YSxb\ntgwPPvhg/5ggCKiurkZ1dXVIw0WjjthYLBZFvHbiBLo0GuxMSxvWdpMnTx4wNnfu3AFj8+bNC7i9\nKIoDxtxu94Cxw4cPB9x+//79A8Y+//zzAWNNTU0Btz937tyAsa4AT+0RBCHg9nFxcQPG4uPjhzU2\n2PYxMTEDxnS6wP/JDDb+fRpN4HOkQPMabK4UvYY8w7711luRnJw8YDyED1uPeuf0eiwRRVS1tWFe\nR4fScYgoTIx6DXvLli0oLy/HSy+9BJfLFcxMBKAlLg5LRRFLW1vxk4sXlY5DRGFgVIW9aNEiOBwO\nfPjhh7Db7XjttdcGfW9ra2v/y+l0jjpoNDodH49lNhtWnj2L2ZcuKR2HiELE6XRe15WDGVVh33TT\nTRAEAUajEUuWLMHOnTsHfW9GRkb/y2AwjOZwUe1kQgJW2Gx44swZzOrsVDoOEYWAwWC4risHM6rC\nbv/2srPe3l7s2LEDFRUVo0tJw/LVhAlYnZ+PZx0OlPCvFKKoJfiH+PRwwYIF2L9/Pzo6OmAymfDs\ns89i3759OHLkCGJjYzF79mysXbsWKSkpA3cuCCgpKQlZ+GjzA6cT60+dwqq8PBxLSlI6DhGFSGNj\nY8ALO4Ys7LFgYQdfeWcnnnU48JjNhn9PmKB0HCIKgcEKm3c6qswXRiNeyM7GRlmG7epVpeMQ0Thi\nYavQgYkTscFqxWZZRo7Ho3QcIhonLGyV+iQlBZstFmyRJFgC3BFIRJGHha1iuydNwuvp6aiVJJi7\nu5WOQ0QhxsJWuffS0vCWyYRaSUJaT4/ScYgohFjYEeAdkwl/SU1FrSQhxetVOg4RhQgLO0K8aTZj\nb3IyXpUkGFnaRBGJhR1BfpeejoNGI7bKMhJ7e5WOQ0RBxsKOJIKArRkZOJKYiE2yjASfT+lERBRE\nLOxIIwh4JTMT9vh41Mgy9CxtoojBwo5EgoB1WVlo1+vxst2O2L4+pRMRURCwsCOUXxDwXHY2XFot\n1tvt0LG0iVSPhR3BfIKAJ3Ny0CcIeN7hgJaPdSNSNRZ2hPNpNHg8NxcJPh+edjigYWkTqRYLOwr0\naDRYnZeHNK8Xa86cgcDSJlIlFnaU6NZqUZ2fj1yPByubmwGWNpHqsLCjiEerxXKbDdPdbixraWFp\nE6kMCzvKXNHpsFwUMcvpxCNtbUrHIaIRGLKwm5ubcdttt2HatGmYM2cOduzYAQBwuVyorKyE1WrF\n/Pnz4Xa7Qx6WgqNTp8MSUcTtly7hoW8fqExE4W/Iwo6JiUFNTQ2OHz+Od999F2vXroXL5cK2bdtg\ntVohyzIsFgu2b98+HnkpSC7FxGCxKKKyowMLzp9XOg4RDcOQhT158mQUFRUBAFJTUzFt2jQcOnQI\nDQ0NqKqqgl6vx8KFC1FfXx/ysBRcHbGxWCyKuP/8edxz4YLScYhoCCNawz558iSOHz+OmTNn4tCh\nQygoKAAAFBQUoKGhISQBKbTO6fVYIoqoamvDvI4OpeMQ0Q0Mu7BdLhfuu+8+1NTUIDExMeAj2Emd\nWuLisFQUsbS1FT+5eFHpOEQ0CN1w3uT1enHvvffigQceQGVlJQCgtLQUTU1NKC4uRlNTE0pLSwNu\n29ra2v9zUlISDAZDEGJTsJ2Oj8cymw1bJQndgoADyclKRyKKGk6nEy6Xa8j3DXmG7ff7UVVVhVtu\nuQUrVqzoHy8rK0NdXR08Hg/q6upQXl4ecPuMjIz+F8s6vJ1MSMAKmw1PnDmDWZ2dSschihoGg+G6\nrhzMkIV98OBBvPXWW/j0009RXFyM4uJi7NmzB4sWLcLZs2cxZcoUtLa24tFHHw3qBEgZX02YgNX5\n+XjW4UCJ06l0HCL6DsEfwsVoQRBQUlISqt1TCP3A6cT6U6ewKi8Px5KSlI5DFFUaGxsDfk7IOx0p\noC8NBjyVk4MNdjumXrmidBwiAgubbuALoxEvZGdjoyzDdvWq0nGIoh4Lm27owMSJ2GC1YrMsI8fj\nUToOUVRjYdOQPklJwWaLBVskCZauLqXjEEUtFjYNy+5Jk/B6ejpqJQnm7m6l4xBFJRY2Ddt7aWl4\ny2RCrSQhradH6ThEUYeFTSPyjsmEv6SmolaSkOL1Kh2HKKqwsGnE3jSbsTc5Ga9KEowsbaJxw8Km\nUfldejoOGo3YKstI7O1VOg5RVGBh0+gIArZmZOBIYiI2yTISfD6lExFFPBY2jZ4g4JXMTNjj41Ej\ny9CztIlCioVNYyMIWJeVhXa9Hi/b7Yjt61M6EVHEYmHTmPkFAc9lZ8Ol1WK93Q4dS5soJFjYFBQ+\nQcCTOTnoEwQ873BAyycSEQUdC5uCxqfR4PHcXCT4fHja4YCGpU0UVCxsCqoejQar8/KQ5vVizZkz\nEFjaREHDwqag69ZqUZ2fj1yPByubmwGWNlFQsLApJDxaLZbbbJjudmNZSwtLmygIWNgUMld0OiwX\nRcxyOvFIW5vScYhUb8jCbm5uxm233YZp06Zhzpw52LFjBwDgmWeegcViue7BvETf16nTYYko4vZL\nl/BQe7vScYhUbciH8J47dw7nzp1DUVEROjo6MHPmTBw9ehQbN25EUlISqqurB985H8JL30rt6cH/\nOXEC/++mm/B/TSal4xCFtcEewqsbasPJkydj8uTJAIDU1FRMmzYNhw4dAoCAOyQKpCM2FotFEa+d\nOIEujQY709KUjkSkOiNawz558iSOHz+OsrIyAMCWLVtQXl6Ol156CS6XKyQBKXKc0+uxRBRR1daG\neR0dSschUp0hl0SucblcmDNnDp566ilUVlbi66+/RlpaGpxOJ1avXg1RFLFq1arrdy4IMJvN/b8n\nJSXBYDAEdwakOtkeD7ZJEjZmZuKjlBSl4xApzul0XnfS297eHnAFY1iF7fV6MW/ePFRUVGDFihUD\n/vnRo0exePFiHDx48Pqdcw2bBpF/9Sq2ShJezMrCgeRkpeMQhZXB1rCHXBLx+/2oqqrCLbfccl1Z\nt3/7iX9vby927NiBioqKIMalSHcyIQErbDY8ceYMZnV2Kh2HSBWGLOyDBw/irbfewqefftp/Cd/u\n3bvx61//GjNmzEB5eTm8Xi8WLVo0Hnkpgnw1YQJW5+fjWYcDJU6n0nGIwt6w17BHtXMuidAw/MDp\nxPpTp7AqLw/HkpKUjkOkuFEviRCF2pcGA57KycEGux1Tr1xROg5R2GJhU1j4wmjEC9nZ2CjLsF29\nqnQcorDEwqawcWDiRGywWrFZlpHj8SgdhyjssLAprHySkoLNFgu2SBIsXV1KxyEKKyxsCju7J03C\n6+npqJUkmLu7lY5DFDZY2BSW3ktLw1smE2olCWk9PUrHIQoLLGwKW++YTPhLaipqJQkpXq/ScYgU\nx8KmsPam2YwPU1LwqiTByNKmKMfCprD3utmMg0YjtsoyEnt7lY5DpBgWNoU/QcDWjAwcSUzEJllG\ngs+ndCIiRbCwSR0EAa9kZsIeH48aWYaepU1RiIVN6iEIWJeVhXa9Hi/b7Yjt61M6EdG4YmGTqvgF\nAc9lZ8Ol1WK93Q4dS5uiCAubVMcnCHgyJwd9goDnHQ5o+WxRihIsbFIln0aDNbm5SPD58LTDAQ1L\nm6IAC5tUy6vRYHVeHtK8Xqw5cwYCS5siHAubVK1bq0V1fj5yPR6sbG4GWNoUwVjYpHoerRbLbTZM\nd7uxrKWFpU0Ri4VNEeGKTofloohZTiceaWtTOg5RSNywsLu6ulBWVoaioiKUl5ejpqYGAOByuVBZ\nWQmr1Yr58+fD7XaPS1iiG+nU6bBEFHH7pUt4qL1d6ThEQXfDwo6Li8Nnn32GI0eOYP/+/XjjjTcg\nyzK2bdsGq9UKWZZhsViwffv28cpLdEOXYmKwWBRR2dGBBefPKx2HKKiGXBJJSEgAALjdbvT29kKv\n16OhoQFVVVXQ6/VYuHAh6uvrQx6UaLg6YmOxWBRx//nzuOfCBaXjEAXNkIXd19eHwsJCmEwmLF26\nFFarFYcOHUJBQQEAoKCgAA0NDSEPSjQS5/R6LBFFVLW1YV5Hh9JxiIJCN9QbNBoNjh49itOnT6Oi\nogI//vGP4R/Bp/Ctra39PyclJcFgMIwuKdEItcTFYakoYpskoUejwUcpKUpHIgrI6XTC5XIN+b4h\nC/ua7OxsVFRUoL6+HqWlpWhqakJxcTGamppQWlo66HYZGRnDPQRR0J2Oj8cymw1bJQndgoADyclK\nRyIawGAwXHcy2z7Ih+Y3XBLp6OjA5cuXAQDffPMN9u7di8rKSpSVlaGurg4ejwd1dXUoLy8PYnSi\n4DqZkIAVNhueOHMGszo7lY5DNGo3LOz29nbMnTsXhYWF+PnPf45Vq1bBbDZj0aJFOHv2LKZMmYLW\n1lY8+uij45WXaFS+mjABq/Pz8azDgRKnU+k4RKMi+EeyID3SnQsCSkpKQrV7ohH7gdOJ9adOYVVe\nHo4lJSkdhyigxsbGgJ8V8k5HiipfGgx4KicHG+x2TL1yRek4RCPCwqao84XRiBeys7FRlmG7elXp\nOETDxsKmqHRg4kRssFqxWZaR4/EoHYdoWFjYFLU+SUnBZosFWyQJlq4upeMQDYmFTVFt96RJeD09\nHbWSBHN3t9JxiG6IhU1R7720NLxlMqFWkpDW06N0HKJBsbCJALxjMuEvqamolSSkeL1KxyEKiIVN\n9K03zWZ8mJKCVyUJRpY2hSEWNtF3vG4246DRiK2yjMTeXqXjEF2HhU30XYKArRkZOJKYiE2yjASf\nT+lERP1Y2ETfJwh4JTMT9vh41Mgy9CxtChMsbKJABAHrsrLQrtfjZbsdsX19SiciYmETDcYvCHgu\nOxsurRbr7XboWNqkMBY20Q34BAFP5uSgTxDwvMMBbei+3JJoSCxsoiH4NBqsyc1Fgs+Hpx0OaFja\npBAWNtEweDUarM7LQ5rXizVnzkBgaZMCWNhEw9St1aI6Px+5Hg9WNjcDLG0aZyxsohHwaLVYbrNh\nutuNZS0tLG0aV0MWdldXF8rKylBUVITy8nLU1NQAAJ555hlYLBYUFxejuLgYe/bsCXlYonBwRafD\nclHELKcTj7S1KR2HoohuqDfExcXhs88+Q0JCArq7u/HDH/4Qd955JwRBQHV1Naqrq8cjJ1FY6dTp\nsEQU8dqJE+jWaPAHs1npSBQFhrUkkpCQAABwu93o7e2FXq8HgIAPiSSKFpdiYrBYFFHZ0YEF588r\nHYeiwLAKu6+vD4WFhTCZTFi6dCmsVisAYMuWLSgvL8dLL70El8sV0qBE4agjNhaLRRH3nz+Pey5c\nUDoORTjBP4LT5NOnT6OiogJvv/02MjIykJaWBqfTidWrV0MURaxater6nQsCzN/5UzEpKQkGgyF4\n6YnChKWrC9tPnMC2jAz8LTVV6TikMk6n87qT3vb29oArGCO6SiQ7OxsVFRWor6/HTTfdBEEQYDQa\nsWTJEuzcuTPgNhkZGf0vljVFqpa4OCwVRSxtbcVPLl5UOg6pjMFguK4rBzNkYXd0dODy5csAgG++\n+QZ79+5FZWUl2tvbAQC9vb3YsWMHKioqghSdSJ1Ox8djmc2GlWfPYvalS0rHoQg05FUi7e3teOih\nh+Dz+TB58mSsWrUKZrMZDz74II4cOYLY2FjMnj0bixYtGo+8RGHtZEICVths2CTL8Go0+KfRqHQk\niiAjWsMe8c4FASUlJaHaPVHYmuF24+WTJ/F4bi4auRRII9TY2Dj2NWwiGp5jiYn4TW4uXjx1CjN4\nBRUFCQubKES+NBjwVE4ONtjtmHrlitJxKAKwsIlC6AujES9kZ2OjLMN29arScUjlWNhEIXZg4kRs\nsFqxWZaR4/EoHYdUjIVNNA4+SUnBZosFWyQJlq4upeOQSrGwicbJ7kmT8Hp6OmolCebubqXjkAqx\nsInG0XtpaXjLZEKtJCGtp0fpOKQyLGyicfaOyYS/pKaiVpKQ4vUqHYdUhIVNpIA3zWZ8mJKCVyUJ\nRpY2DRMLm0ghr5vNOGg0YqssI7G3V+k4pAIsbCKlCAK2ZmTgSGIiNskyEnw+pRNRmGNhEylJEPBK\nZibs8fGokWXoWdp0AyxsIqUJAtZlZaFdr8fLdjti+/qUTkRhioVNFAb8goDnsrPh0mqx3m6HjqVN\nAbCwicKETxDwZE4O+gQBzzsc0PIh1/Q9LGyiMOLTaLAmNxcJPh+edjigYWnTd7CwicKMV6PB6rw8\npHm9WHPmDASWNn2LhU0Uhrq1WlTn5yPX48HK5maApU1gYROFLY9Wi+U2G6a73VjW0sLSpuEVts/n\nQ3FxMe666y4AgMvlQmVlJaxWK+bPnw+3233D7Z1O59iThqFInBfnFF6u6HRYLoqY5XTikba2/nE1\nz2kwnNPQhvUQ3o0bN+Jf//oXXC4Xdu3ahf/93/9Fc3MzXn75ZaxcuRLZ2dlYtWrVwJ0LAg4fPozt\n27fj0UcfDWrwcBCJ8+KcwpPu4kXk/+IXuHjnnfh64cKImNP3cU7/VVxcHPAhvLqhNmxpacEHH3yA\nJ554Ahs3bgQANDQ0YO3atdDr9Vi4cCHWrVs36PZFRUWYPHkyioqKRhw63EXivDinMPaPfyB99myk\n5+ZGzpy+g3Ma2pCF/dhjj2HDhg3XndofOnQIBQUFAICCggI0NDQELRARDSI9HfjkE+B//gcoLlY6\nDSnBfwPvv/++f/HixX6/3+//7LPP/Hfeeaff7/f7MzMz/R6Px+/3+/1XrlzxW63WgNsXFhb6AfDF\nF1988TWCV2FhYcBOveEZ9ueff45du3bhgw8+QFdXF5xOJx544AGUlpaiqakJxcXFaGpqQmlpacDt\njxw5cqPdExHRCNzwKpEXX3wRzc3NcDgc+NOf/oS5c+fizTffRFlZGerq6uDxeFBXV4fy8vLxyktE\nFLVGdB22IAgAgEWLFuHs2bOYMmUKWltbI+6TXSKicDSsy/qIiEh5Ib/T8cCBA7j55pths9mwZcuW\nUB8uJBYuXAiTyYTp06f3j4305qFw09zcjNtuuw3Tpk3DnDlzsGPHDgDqnldXVxfKyspQVFSE8vJy\n1NTUAFD3nK4Z681r4Sg7OxszZsxAcXExZs6cCUD987py5QoeeughiKKIqVOnor6+PqhzCnlh/+pX\nv8Jrr73mudibAAADvklEQVSGjz/+GK+++io6OjpCfcige/jhh7Fnz57rxrZt2war1QpZlmGxWLB9\n+3aF0o1OTEwMampqcPz4cbz77rtYu3YtXC6XqucVFxeHzz77DEeOHMH+/fvxxhtvQJZlVc/pmk2b\nNmHq1Kn9y5KRMCdBELBv3z4cPny4/9Jgtc/r6aefhtVqxbFjx3Ds2DEUFBQEdU4hLezOzk4AwOzZ\ns5GVlYU77rgD9fX1oTxkSNx6661ITk6+bqyhoQFVVVX9Nw+pbV7fvaA/NTUV06ZNw6FDh1Q/r4SE\nBACA2+1Gb28v9Hq96ud07ea1X/ziF/13v6l9Ttd8f0VW7fP6+OOP8fjjjyMuLg46nQ5GozGocwpp\nYX/3BhsAmDp1Kr744otQHnLcRNLNQydPnsTx48cxc+ZM1c+rr68PhYWFMJlMWLp0KaxWq+rndO3m\nNY3mv/+5qn1OwH/OsOfOnYv58+dj165dANQ9r5aWFnR1dWHRokUoKyvDSy+9BI/HE9Q58dv6RilS\nPqt1uVy47777UFNTg8TERNXPS6PR4OjRozh58iRqa2tx+PBhVc/pr3/9K2666aYB3y2h5jldc/Dg\nQRw9ehTr1q1DdXU1zp07p+p5dXV1QZIk3Hvvvdi3bx+OHz+Od955J6hzCmlhl5aW4quvvur//fjx\n4xFzzfa1m4cA3PDmoXDm9Xpx77334oEHHkBlZSWAyJgX8J8PtCoqKlBfX6/qOV27eS0nJwcLFizA\np59+et3Na4D65nSN2WwGANx88824++678f7776t6Xvn5+ZgyZQruuusuxMfHY8GCBdizZ09Q5xTS\nwjYajQD+c6XI6dOn8dFHH6GsrCyUhxw3ar95yO/3o6qqCrfccgtWrFjRP67meXV0dODy5csAgG++\n+QZ79+5FZWWlqucUqTevXb16FS6XCwBw4cIFfPjhh/jZz36m+nnZbDbU19ejr68Pf/vb33D77bcH\nd043+i6RYNi3b5+/oKDAn5eX59+0aVOoDxcS999/v99sNvtjY2P9FovFX1dX53c6nf67777bn5mZ\n6a+srPS7XC6lY47I3//+d78gCP7CwkJ/UVGRv6ioyL97925Vz+vYsWP+4uJi/4wZM/x33HGH/w9/\n+IPf7/erek7ftW/fPv9dd93l9/vVP6dTp075CwsL/YWFhf65c+f633jjDb/fr/55nThxwl9WVuYv\nLCz0r1y50u92u4M6J944Q0SkEvzQkYhIJVjYREQqwcImIlIJFjYRkUqwsImIVIKFTUSkEixsIiKV\n+P98SAK0xreWcAAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Another way to calculate convolution - using a backwards kernel vector" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at the components matrix give us another way to calculate the convolution.\n", "\n", "Notice that each component starts at the red line. The sums to get the convolution result are over the columns.\n", "\n", "What is this sum made up of? First we need some notation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Call our data vector $d$ ($d$ is `experiment_low` in the case above). $d$ has $D$ elements $d_1, d_2 ... d_D$ ($D$ is `data_len` above). Call our kernel vector $k$ ($k$ is `hrf_low` above). $k$ has $K$ elements $k_1, k_2, ... k_K$ ($K$ is `kernel_len` above).\n", "\n", "Let's call $\\mathbf{C}$ the $D$ x $M$ matrix of $D$ components (rows) and $M = D+K-1$ out values (columns). $\\mathbf{C}[i, j]$ is the value in row $i$ and column $j$.\n", "\n", "Consider the sum of column $j$. If $v$ is the output vector from the convolution, $v_j$ is the sum of column $j$ of $\\mathbf{C}$.\n", "\n", "All values of $\\mathbf{C}[i>j, j]$ are zero because the components start at diagonal cells $\\mathbf{C}[i, j]$ where $i = j$.\n", "\n", "At the diagonal we have the data value at this time point times the first value in the kernel: $\\mathbf{C}[j, j] = d_j * k_1$.\n", "\n", "Working upwards from the diagonal, $\\mathbf{C}[j-1, j]$ is the second element of the vector resulting from multiplying the kernel with data value $d_{j-1}$ so $\\mathbf{C}[j-1, j] = d_{j-1} * k_2$. The kernel goes to $0$ after $K$, so the whole column sum is given by:\n", "\n", "$$\n", "\\sum_{i=1}^M{C(i, j)} = d_j * k_1 + d_{j-1} * k_2 + ... + d_{j-(K-1)} * k_K\n", "$$\n", "\n", "(if we run out of data ($d_i$ where $i < 1$ or $i > D$) assume the value is zero)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This formula gives another way to do the convolution. We step through each value in the data, and starting at that point, go back through the data and the kernel, summing up the data times the kernel values. This is the direct implementation of the column sum formula above. Like this:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def ugly_convolve(data, kernel):\n", " # Starts the same as the dumb convolve\n", " data_len = len(data)\n", " kernel_len = len(kernel)\n", " out_len = data_len + kernel_len - 1\n", " out = np.zeros((out_len,))\n", " # Different here though\n", " for i in range(out_len):\n", " # Sum up the value of the data * kernel going backwards through the data\n", " val = 0\n", " # Go back over the kernel and data\n", " for k in range(kernel_len):\n", " # Go back from current point in data\n", " data_ind = i - k\n", " # If we've run out of data, assume 0\n", " if data_ind < 0 or data_ind > data_len - 1:\n", " d_val = 0\n", " else:\n", " d_val = data[data_ind]\n", " # Multiply the corresponding kernel value with data\n", " val = val + d_val * kernel[k]\n", " out[i] = val\n", " return out" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "ugly_out = ugly_convolve(experiment_low, hrf_low)\n", "plt.plot(ugly_out)\n", "assert np.all(ugly_out == out)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nXU6PulpcZ6SFddXV1bjnnnswadIkWCwWvPPOOwCM8ztcunQJKSkpSEhIwNSpU/Hyyy8DME79Dleu\nXEFiYiKys7MBGKv+cePGIS4uDomJiUhOTgZgnPovXLiABx98EBMnTkRsbCxKSkoMU/vhw4eRmJjo\n/PLz88Mrr7yC5uZmt+rXdRgsW7YMBQUFKCoqwtq1a1FfX691Sd3qanGdkRbW+fj44OWXX0ZFRQX+\n93//F8888wyampoM8zv4+vri888/x/79+7Fz50688cYbOHr0qGHqd1izZg1iY2NhurZVq5HqN5lM\nsNlsKC8vd04VN0r9q1atQlhYGL766it89dVXiI6ONkztUVFRKC8vR3l5Ob788ksMGzYMs2fPxrp1\n69yqX7dh0NDQAABITU2F2WxGenq6rhemdbW4zkgL64KCgpCQkAAACAgIwKRJk1BWVmao32HYtYcf\nNDc3o62tDUOGDDFU/d9++y0++eQTPPLII86p10aqH0CnKeNGqb+oqAj//u//Dl9fXwwaNAh+fn6G\nqb29oqIiTJgwAaGhoe7X79bcIy8qLCyUfvrTnzpfv/rqq9IzzzyjYUW9u3EKbVhYmHTx4kVJkiTp\nwoULUlhYmFalueXo0aPS+PHjpaamJkP9DleuXJHi4uKkgQMHSvn5+ZIkGet/g3nz5kn79u2TbDab\ndP/990uSZKz6x48fL8XFxUkzZ86UPvroI0mSjFF/dXW1FBUVJT344INScnKy9OKLL0otLS2GqP1G\nDz30kLR27VpJktz/d6/blkFfIBlwbL6pqQn//M//jJdffhnDhw831O8wYMAAHDhwAF9//TXWrVuH\n8vJyw9S/bds2jBkzBomJiR1qNkr9ALB7924cOHAAv/3tb7F8+XLU1NQYov5Lly7hyJEjmDt3Lmw2\nGyoqKvDnP//ZELW3d/nyZWzduhU/+clPALj//x3dhkFSUhIOHTrkfF1RUeH2WgatJSUlobKyEgBQ\nWVmJpKQkjSvqWWtrK+bOnYv58+dj5syZAIz3OwBiIPO+++5DSUmJYerfs2cPtmzZgvHjxyMnJwef\nffYZ5s+fb5j6ASA4OBgAEBMTgwceeABbt241RP0TJkxAVFQUsrOzMXToUOTk5GD79u2GqL29Tz/9\nFJMnT0ZgYCAA9//b1W0Y+F17sK3dbkdVVRUKCwuRkpKicVXucSysu3jxokcL87xJkiQ8/PDDuO22\n2/D44487f26U36G+vh7nz58HAJw9exZ//etfMXPmTMPU/5vf/AbV1dX45ptv8O677yItLQ1vv/22\nYepvaWlBU1MTAKCurg47duxAZmamYeqPjIxESUkJrl69io8//hgzZswwTO0OmzdvRk5OjvO12/Wr\n1XelBJvNJkVHR0sRERHSmjVrtC6nRz/96U+l4OBgafDgwVJISIi0YcMGqbGxUXrggQek0NBQaebM\nmVJTU5PWZXbriy++kEwmkxQfHy8lJCRICQkJ0qeffmqY3+Grr76SEhMTpbi4OCk9PV166623JEmS\nDFN/ezabTcrOzpYkyTj1Hz9+XIqPj5fi4+OltLQ06Y033pAkyTj1Hz58WEpJSZHi4+OlFStWSM3N\nzYapXZIkqbm5WRo9erTU2Njo/Jm79XPRGRER6bebiIiIvIdhQEREDAMiImIYEBERGAZERASGARER\ngWFARERgGBAREYD/B4o0G3OtfRoUAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Another way to think of convolution - filter matrices" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also do convolution with a *filter matrix* using the elements of the column sum formula. Here it is again:\n", "\n", "$$\n", "\\sum_{i=1}^M{C(i, j)} = d_j * k_1 + d_{j-1} * k_2 + ... + d_{j-(K-1)} * k_K\n", "$$\n", "\n", "We can split this formula into the *data* part and the *kernel* part. We'll make a matrix representing the kernel part by constructing a matrix with the $k_1, k_2 .. k_K$ values going upwards along the columns from the diagonal, for each column. For our HRF kernel, we could call this the upward HRF matrix.\n", "\n", "Then we'll make a matrix for the data part of the formula; the $d_j, d_{j-1} ...$ from the equation above. \n", "\n", "Multiplying the elements of the matrix for the kernel part and the matrix for the data part reconstructs the components matrix above.\n", "\n", "We first make the upwards HRFs like this:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "up_hrfs_rows = kernel_len - 1 + data_len + kernel_len - 1\n", "up_hrfs = np.zeros((up_hrfs_rows, out_len))\n", "backwards_hrf = hrf_low[::-1]\n", "for i in range(0, kernel_len -1 + data_len):\n", " up_hrfs[i:i+kernel_len, i] = backwards_hrf\n", "plt.imshow(up_hrfs)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can chop off the top of and bottom of these upwards HRFs because they'll be multiplying outside the data range. Once we've done this we've got something the same shape as `components` above:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "up_hrfs_trimmed = up_hrfs[kernel_len-1:kernel_len-1+data_len, :]\n", "plt.imshow(up_hrfs_trimmed)\n", "plt.plot((0, data_len), (0, data_len), 'r')\n", "plt.axis('tight')\n", "up_hrfs_trimmed.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ "(40, 63)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Think of each column as being an HRF flipped to go upwards rather than downwards. For example, here are columns 28 through 31:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "fig, axes = plt.subplots(4, 1)\n", "for i in range(4):\n", " axes[i].plot(up_hrfs_trimmed[:, 28+i])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\netZWAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can make another matrix to give the data corresponding to each upwards HRF. These are the $d_j, d_{j-1} ... $ values from the column formala above. Of course the $d$ values are just the $d$ vector repeated for each column. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "data = np.tile(experiment_low[:, None], (1, out_len))\n", "plt.imshow(data)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 22, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\ndXWpt7dXmZmZ1u/p8uXL+v777/XWW2/pr2sEbN+TJP39egfb93T48GF98MEHGjNmjEaNGqWsrKyU\n7ymtwW5ublZ+fn7/zzNnztSpU6fS+ZJD5n/3lp+f3/8uwUbnz59Xa2ur5syZY/2++vr6VFxcrOzs\nbK1Zs0Yej8f6Pb3//vvaunWrRoz4//9cbd+Ty+XS/PnzVVlZqX379kmye0+XL19WT0+PVq1apUAg\noC1btqi7uzvle+JDxyQ9KVdDOo6jRYsWqa6uTuPGjbN+XyNGjNCZM2d0/vx5ffbZZzp9+rTVe/r2\n2281ZcoU+Xy++/Zh854k6eTJkzpz5ow++ugj1dTU6OrVq1bvqaenR7/++qsWLlyoSCSi1tZWffXV\nVynfU1qD7ff7de7cuf6fW1tbFQwG0/mSQ8bv9ysWi0mSYrGY/H7/P7yiR3fnzh0tXLhQS5cuVSgU\nkvRk7Eu696FWWVmZotGo1Xv68ccftW/fPk2fPl1LlizRDz/8oKVLl1q9J0nKzc2VJBUUFKiiokLf\nfPON1Xv6z3/+o+eee07l5eV66qmntGTJEjU2NqZ8T2kNdlZWlqR7V4pcvHhRhw4dUiAQSOdLDplA\nIKBwOKzu7m6Fw2Hr/kdkjFF1dbVmzZqltWvX9j9u877a29vV0dEhSbpx44YOHjyoUChk9Z42b96s\nS5cu6cKFC/ryyy81f/58ff7551bv6fbt23IcR5J0/fp1HThwQK+//rrVe5KkGTNmKBqNqq+vT999\n951eeeWV1O/JpFkkEjH5+fnmmWeeMdu2bUv3y6XF4sWLTW5ursnIyDBut9uEw2HT2dlpKioqTF5e\nngmFQsZxnH96mY/k+PHjxuVymeLiYuP1eo3X6zX79++3el9nz541Pp/PFBUVmQULFpjdu3cbY4zV\ne/pfkUjElJeXG2Ps3tPvv/9uiouLTXFxsZk/f77ZtWuXMcbuPRljzC+//GICgYApLi4269atM11d\nXSnfE19NBwBL8KEjAFiCYAOAJQg2AFiCYAOAJQg2AFiCYAOAJQg2AFiCYAOAJf4PaM20L+fthUcA\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we do an element-wise multiply the of the data matrix with the upward HRFs, we get the components back:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.imshow(data * up_hrfs_trimmed)\n", "plt.plot((0, data_len), (0, data_len), 'r')\n", "plt.axis('tight')\n", "assert np.all(data * up_hrfs_trimmed == components)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n+P98SAK0xreWcAAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "upwards_out = np.sum(data * up_hrfs_trimmed, 0)\n", "assert np.all(out == upwards_out)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can do the same thing by taking the transposed upwards HRF matrix and matrix multiplying by the data vector. The transposed upwards HRF matrix is now called a filter matrix because the matrix multiplication applies the HRF convolution 'filter' to the data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "filter_matrix = up_hrfs_trimmed.T\n", "plt.imshow(filter_matrix)\n", "filtered_out = filter_matrix.dot(experiment_low)\n", "assert np.all(filtered_out == out)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nvE7PAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the transposed (filter) matrix, the HRFs are now going backwards instead of upwards:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(filter_matrix[30, :])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 26, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 26 } ], "metadata": {} } ] }