{ "metadata": { "name": "", "signature": "sha256:9689e196906554b7abcaeb6ac203791cb7644f3fe5e72f8e283e41a67fa92edf" }, "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": [ "# - import numpy.linalg with a shorter name\n", "import numpy.linalg as npl" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "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": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load the image `ds114_sub009_t2r1.nii` with nibabel. Get the data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Load the image 'ds114_sub009_t2r1.nii' with nibabel\n", "# Get the data array from the image\n", "import nibabel as nib\n", "img = nib.load('ds114_sub009_t2r1.nii')\n", "data = img.get_data()\n", "data.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "(64, 64, 30, 173)" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can think of the shape of the data as two parts - the first 3 values are the 3D shape of the individual volumes, and the last value is the number of volumes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Put the 3D shape into a variable `vol_shape` and the number of volumes into a variable `n_vols`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Make variables:\n", "# 'vol_shape' for shape of volumes\n", "# 'n_vols' for number of volumes\n", "vol_shape = data.shape[:-1]\n", "n_vols = data.shape[-1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are going to start by looking at only the first two \"variables\" (time points)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Slice the data array to make a new array that contains only the first two volumes:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Slice the image data array to give array with only first two volumes\n", "first_two = data[..., :2]\n", "first_two.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "(64, 64, 30, 2)" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "How many voxels are there in one volume? Call this number variable `N`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Set N to be the number of voxels in a volume\n", "N = np.prod(vol_shape)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reshape the new two-volume data array to have a first dimension length `N` and second dimension length 2. So, each column corresponds to the voxels for one volume." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Reshape to 2D array with first dimension length N\n", "first_two = first_two.reshape((N, 2))\n", "first_two.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "(122880, 2)" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Take the transpose of this array to get a 2 by `N` array, ready for the PCA:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Transpose to 2 by N array\n", "first_two = first_two.T\n", "first_two.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "(2, 122880)" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculate the mean across columns (row means):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculate the mean across columns\n", "row_means = np.mean(first_two, axis=1)\n", "row_means" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "memmap([ 414.40107422, 336.69940592])" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make the row_means vector into a column vector, using `reshape`. (This gets the vector ready for broadcasting):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Make row means into a column vector\n", "row_means = np.reshape(row_means, (2, 1))\n", "row_means.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "(2, 1)" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Subtract the `row_means` column vector from the 2 by N data matrix and put the result into a variable `X`. Remember, broadcasting will expand the last 1-length dimension of `row_means` to length N, by repeating the data.\n", "\n", "Print the means across columns (row means) to check they are now very close to 0:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Subtract the means for each row, put the result into X\n", "# Show the means over the columns, after the subtraction\n", "X = first_two - row_means\n", "np.mean(X, axis=1)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "memmap([ -2.04811004e-10, -1.46482780e-10])" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot the two rows against each other to get a feel for the variation. Remember that each row in `X` is a volume, so you are plotting the signal from the first volume against the signal for the second volume." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot the signal in the first row against the signal in the second\n", "plt.plot(X[0], X[1], '+')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Time for the PCA.\n", "\n", "We are going to use the *unscaled* covariance. This is given by the matrix multiplication of `X` with its transpose. Calculate this:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculate unscaled covariance matrix for X\n", "unscaled_covariance = X.dot(X.T)\n", "unscaled_covariance" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "memmap([[ 8.04237807e+10, 6.12641298e+10],\n", " [ 6.12641298e+10, 4.92491046e+10]])" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use SVD to get the U, S and V matrices from the unscaled covariance:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Use SVD to return U, S, V matrices from unscaled covariance\n", "U, S, V = npl.svd(unscaled_covariance)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that the row vectors in `V` are both unit vectors. A unit vector has vector length (vector *norm* of 1):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Show that the rows in V each have vector length 1\n", "np.sum(V ** 2, axis=1)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "memmap([ 1., 1.])" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that the first row in `V` is orthogonal to the second:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Confirm orthogonality of rows in V\n", "V[0].dot(V[1])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "0.0" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Show the total sum of squares in `X`. Confirm that the total sum of squares in `X` is the same as the sum of the *singular values* in the `S` vector from the SVD:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Show the total sum of squares in X\n", "# Is this (nearly) the same as the sum of the values in S?\n", "print(np.sum(X ** 2))\n", "print(np.sum(S))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1.29672885307e+11\n", "129672885307.0\n" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot the first row in `X` against the second row in `X` again. This time add a line corresponding to the first principal component. You'll have to scale this line (a unit vector) to make it long enough to see on the axes of the plot. If the first principal component is flipped ($\\vec{r}$ defines same line as $-\\vec{r}$) you may need to scale by a negative number for it to look nice on the plot:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot the signal in the first row against the signal in the second\n", "# Plot line corresponding to a scaled version of the first principal component\n", "# (Scaling may need to be negative)\n", "plt.plot(X[0], X[1], '+')\n", "scaled_v = V[0] * -4000\n", "plt.plot([0, scaled_v[0]], [0, scaled_v[1]], 'r')\n", "scaled_v[0]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 21, "text": [ "3157.9395737007017" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEACAYAAAC3adEgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnX18nFWZ978nadqUBpqWQkIpTdyWBXnARlmlKtpxfaGr\nCFVRQdFmRR9dtmp9x5fdpuvKFlexsij64EsqCIioFRBbQZkgSii6puKWqu2S1BZTKG1aW5o2Tc7z\nxzWX58zdmckkmWmT5vp+PvOZmfv1TArX7z7X23HeewzDMAxDqTjaAzAMwzBGFyYMhmEYRhYmDIZh\nGEYWJgyGYRhGFiYMhmEYRhYmDIZhGEYWRQmDc67aOfewc67DObfBOfcfme3TnXP3Ouf+4Jz7iXOu\nNjrn4865PzrnNjrnXhVtP9c592hm3xdL/5MMwzCMkVCUMHjve4GXee+bgOcAL3POnQ9cBdzrvf9b\n4KeZ7zjnzgLeDJwFLAS+7JxzmcvdAFzhvT8dON05t7CUP8gwDMMYGUW7krz3z2Q+TgQqgV3ARcCq\nzPZVwKLM54uBW733fd77TmATcJ5z7hTgeO/9usxx34rOMQzDMEYBRQuDc67COdcBbAfu997/D1Dn\nvd+eOWQ7UJf5PBPYGp2+FTg1x/Ztme2GYRjGKGFCsQd67weAJufcVGCtc+5lif3eOWf9NQzDMMY4\nRQuD4r3f7Zz7EXAusN05V++97864iZ7MHLYNOC06bRYyU9iW+Rxv35a8hwmMYRjG8PDeu8GPKkyx\nWUkzNOPIOTcZeCXwG+BOYHHmsMXA6sznO4FLnXMTnXPPAk4H1nnvu4E9zrnzMsHot0XnZOG9H/Wv\nZcuWHfUxHCvjHAtjtHHaOEf7q1QUO2M4BVjlnKtAxOQm7/1PnXO/AW53zl0BdAJvyhj1Dc6524EN\nwCHgSh9GfSXQCkwG7vHerynVjzEMwzBGTlHC4L1/FHheju07gVfkOedq4Ooc238NnDO0YRqGYRhH\nCqt8HgGpVOpoD6EoxsI4x8IYwcZZasbLONPpkgzjiOFK6ZcqFc45PxrHZRiGMRxaWuRVbpxz+CMV\nfDYM48gx1p4ujWOPIaerGoZRXtJpGCMeFqMA6XQQ+eXLw/ZUavT/+5owGIZxVDjWBTApAEfClVQq\nTBgMYxRwpJ4uR5MxHk1jMbIxYTCMUUApni6LMbRmjI8OY+1vbsJgGMcIY8Hoj2W/+0gYa7/NhMEw\nRhmlNiKjyRiPZb/7eMKEwTBGGUMx1sUYfTPGxlAxYTCMMUypjP7RcEONNffKeMIK3AyjjIy2YrV8\nxvhojNOEYfRiwmAYZeRIGtxiDO1oMMajTSyNwzFXkmEcIwzV6JcrKB27pXK5qHTbcNxXYyHz6ljA\nhMEwSsxoygIqRHI8hcY3FIM8mDAM55ojOccYOiYMhlFixmoWUKmNePL8pFjqtnLc0wRkZJgwGIbx\nV9fOcEkafv3c1pZ9Dz1W98XiUMjlNNQZ2FCFwYQkGxMGwygj5TA2pTRihYyu7s+1L3n/fLOkXOsQ\npFLZ+wfjSMzATBiyMWEwjDJSyNiUw28/VAYzuuUwyIP9TYYbnxkrsZ2xgAmDYRwlhisMo514nLW1\n+ffn+j1DEaqhnpvEhCQ/JgyGMQbo7AyGrlxGLNd18vn/i71OT8/Q7lfMtUslkmM1SeBIYMJgGCWg\nWGM1lKfUdBpaW6GxEVatgsWL5fPixeUxYkMRhiMxgxlJYLmUAjIeMWEwjBJQrBHK9ZSa71w1brEI\nJIO5yXOPlDEcLM20FC6akfwODXAXew0TkGyKEgbn3GnAt4CTAQ/8P+/9dc65FuCdwFOZQz/hvf9x\n5pyPA+8A+oH3ee9/ktl+LtAKVAP3eO/fX7JfYxhjkKEa80JCUIqisZEa9uG6aI6E2OTDhCGbYmcM\nfcAHvPcdzrka4NfOuXsRkbjWe39tfLBz7izgzcBZwKnAfc650733HrgBuMJ7v845d49zbqH3fk3J\nfpFhDBM1PEMJCKfT4v9ftSpsj41VIWNXrBFMp8VXv3693KuxcWjjHIzk785n2OPZSzmM82B/q2LE\nxgLKpaEoYfDedwPdmc97nXOPIQYfwOU45WLgVu99H9DpnNsEnOec6wKO996vyxz3LWARYMJgHHWG\nKgxqbFpaYNmy3G6hfMZODVg6nduA5asJ0GPiczs7g2AkBarQ7xlqCuxwZgJH0hjniodYQHl4DDnG\n4JxrBJ4LtAMvBt7rnHs78CvgQ977HmBmZr+yFRGSvsxnZRtBYAxjzFPsussdHcFoxRlHxVDI+DU2\nHh6TyCdMum/5cliwIHyPjx+pYR8sCDycJ/yRBKWN4hiSMGTcSHcA78/MHG4A/i2z+9PA54ErSjGw\nlui/7lQqRcr+xY0yoJk/nZ2hfUM6LQa2uXlwg6ZuJM0U6uzMzibSJ/rGxmDs9NylS+VanZ35xxcf\nn8tlNVxSqeCSWrBAfrveK772UI1zLkbiIsp1bj6hy3XtY510Ok26DH3MixYG51wV8D3gZu/9agDv\n/ZPR/q8Bd2W+bgNOi06fhcwUtmU+x9u35bpfi80BjSNAbJiG2qYBxCBpGimI4W5sFCPe3ByOL3RN\nPbfQffQ9OSPIdXyxbS5U0CB3Cuxw4iO5KCR8gzHYLCB2ySX7Mo0HYUg+NC+P/8FHQLFZSQ74OrDB\ne78y2n6K9/7Pma+vAx7NfL4TuMU5dy3iKjodWOe99865Pc6584B1wNuA60rySwyjDAzmBoGMsb7i\nT1BfD1T9NaU0fgJPp2HFCti4Ebq6ZFttLVRXw/bt2QHlQvUESfI9TRd6Ck+e09yc+4m7WLdYoRgK\nBLHUe5dCbOJz4tRUe54sDcXOGF4MXA781jn3m8y2TwCXOeeakOykx4F3A3jvNzjnbgc2AIeAKzMZ\nSQBXIumqk5F0VQs8G6OCXIaptfXw7StXSpaQPqX+85t3sHPey3jgDV8k/cfX0NJyeDYRwPz5cNVV\nwWjGxqyY9g1DfQou1tiP5Mm6kGDFM5RC9RrJcRQbd0gely9OYgydYrOSHiT3MqA/LnDO1cDVObb/\nGjin2AEaxpEilzFJukHSaVi9Wo5ta4NXvOQAH3no9exdeAmLbnwNtelwbL4Oo/EsYqgGrJiMp0L7\nW1vDvmTMIjm+kaR7xka7rS0IQzFFZ8VmFuUKlA/172HkxiqfDSNBLqMG2amkLS2A9yz64btpeN6J\ncPPVfz1msKf/VErcSNpHKF/K6GBPzsWmmMZ0dmYb0Fwxi8GMcjFP9PFnzboaSiXycBiu28s4HBMG\nwyiCzk552o5rB170wDXMPPhb+MXPoSJ7Qp0v5TOfUdV9ycygoT4Rx+96/XjWkxS64VDsE72ORYVh\nuFXUxY7JKB0mDMa4JTbEuQxwHAtI8uzHvs+rd32J43/XTvqRKX+9HmQvXZnLuCff9XPs5tF9ySK0\n5H00FVZnIPFTefLcfCmdxQa2h0McGIahB4dHKgxWCT08TBiMMc9ws2c0sJwrwKwGJVcq6SlP/JoL\n7343N1++lnefeirpGw93kwz2FJ1KZc9CIGTvpNOSrRQfGxvw5FjzBa81QJ7M2EkeG2dQ5Zvp5GMo\nx4wkbXW4DGV2YwRMGIwxz3CEQV0ckG2wku6cuBYhnYbVX9rGv95zMZc/8//Y9fvn8eeWw88fCurj\nT6fhuuuy8/FTKdi6NcwKksVyOnY9v60tuz2GZkOpwK1aBfPm5c/cGW4w3Hz3xx4mDMa4QCuSIWQW\nrV8PTU3yrgLQ3X14wdSKFZJm+ruH97H0Z6/l1y98Lw/97nVsz+zX43IVtilJl4YKU1dX2L5rlxjY\nnh4ZR2OjXPvyy2W/FtKpMW5vh7VrQ+XyvHmyv6lJrtHQIL9t2bJwvlZzxy6y2PU1nEynZLV0MeeM\n5LjhYuJVPCYMxpikGN+x1huAPC3HnUmV7u7wuaMD9u6VOrW2NjG4AJs2QeqlAwxcfDm7/mYer7z3\no9Q/F97znuDGGaxqWse1cqVcN5UKufe67/WvD8dv3y7j0f36m5O/UY18c3MQDW3H0dUVfkPyyT52\nT2lso60tWxxyGdJCBW35tusMJV+hW75YT6kxYSgeEwZjTFKM71iDsRDcKXHrioYG+TxnTjhn82ao\nqZF91dVy/le+Ag++9BNM3LuT8zq+w4te5li/Hp56SsSmuzv76Xv1ali0KIyvo0P6ImnBW+zvVzdU\nOi0zBmXOHAko63hbWvJ3T9Xr6GygtTX0bYrTUTs6Dv8bpVLZrqmhrJ1QTHGZfo/rGHJdy4z26MKE\nwRhTDMWItLeLsdQGeToLqK4WtwuIq6WuDtaskaf0hgYx9IcOiSGdOxf+Yfs3mfnUHbxgoJ2aaRMB\nmDkTTjopd7M9NYBxhfTSpeKSmj9fDL6ibh+ls1O+79kjIqXn633iWYG6u1pa5LiOjhDUVuJxxfeJ\nZ1NxCmsykynOzoLs2ZlmQuVqwqfnaxGdjjX+DcnML8saGj2YMBhjilyGK1+dwNq1wb9eXS1GOX4y\n1gBtU5MYrYqK0McIYMoU+PvKNq7hY3z43Ad4+pEZ1Iku8MQTUFWVbTxbW8U4a8xC9+nMJY4J9PSI\nYdUOq+k0fO5zcn48ht//PsRD1ODHT/n6W9evF2O/enUw9LlmCIrOXFRIYmOd/FsXmp0l3Vu5spp0\n1tLcnJ2Sq9dRUYndasbRxYTBGLMUSt8EMZLqjlGXjBokNZw33wy9vfICEZDeXhGFU/b9kRv638zb\np9zCBz57Jg80w4UXwoMPiih0dcnr0ktDQzzlzjvlqV9dP5s2wb59MG2afM9lROfOlTHFTe26usQt\npb8jDmzHbhrNRkqlQjC8tlaul+tpP06VTaeDGBWKL+QinQ4zh8Fmc3F8J5fYlLsy2igeEwZj1JPP\nlZErLz6uC9Cn6MZGOPtsuOQS2b9kiRj37m7o789+su7rk/eqfbtYM+FCVv1NC3+e8gpSKTj5ZJgx\nQwz1+vXidurthYULg9Frb5dxnXCCxAymTROBcE72P/OMGO4VK4JR7egIsxd9gu/qEndXb69cs6cn\nBNB1v94vdpc1NsLUqeF7HGzWc0GutWCBHH/mmXINjQPoa7CV5RSdfcRZX7lmDoMZfROF0YMJgzHq\niQ1SLAZxlkvslonrAkAM5MaNIgbr14tBrK2V7KP77guuJGUCffxo8iX89/RXc89p7+GzmY6on/1s\nGMfq1fLe3S2GXWMUILONri6JXZx5ptQizJolRvzAAbl/fX32E78+9be2ipi1tsq4Vq0Ks5nFi0Ng\nWX/zmkxv4thXry6bZB8k9fl3doro6G9uawvZWXFgXP+WyX+LpFA3NGSn98aZSHpO/J6kWOEwjhwm\nDMaYIw6Uxtku+lSts4F9++SpfdKkkIa6YYMY6r17gyEHcQP19cGMEz3XH1rCjBMnc+srPkfvhmAs\n4zRYvX58nSlT5Gn9Ix8RsejoCO4lNZoNDdlB4BgVvaVLw1N4cr8GaRcskO9NTUFg1H8fu6KSKapx\nNfeiRdkunGTsphB6LQ08q4trOEbeBGH0YcJgjFni7qRqvG+8Ufz5LS1hxgAiEG1tYvw3b5ZtGk/4\nzW/CU/llT67kDB5iwYFfcOC2SnbtCuLT3i7vN94oYlBXJ8Iwb57cc+5cEYylS2U8zc0hTfXSSyUN\n9vzzwxO9GmR12cR+ep0B9fQEt9G8eSIGWqim91GST/2xeye5fOmcOTKepCEfrI5Bj9Hra0ZWPJOw\n7KKxjwmDMebQGYP65LduFWOfTku20Ny5YrDjugAIxr+iAiorYfp02LkT9u+X7RdyFx/hP3lJ5UPs\ndcdTlTlP3SRa77B7t4jC9u0yS9DA8vr1EpReuFBEJ8446u2VGYsGg9XH39kp1+rslPM1RpJKhVqI\nuNfR614nQvbgg/Kb1eguWhR+nxIXjSVdQLo/abST+4slOauynkRjGxMGY9QTV+euWgUXXCBGds6c\n7LTHVApe8QqpQVD3TnU1HDwIAwPhegMD8tqzByZPFoGYsW093+h9BxdyN9smNECfiAtIfKKmRgzx\noUMiAgcPikGvqZGn+n37RCT27RMR6e2F2bPluL17g3BMmSKZUOrjT6WCu0mrlDs7JTi9dm0QJZ0d\nPf54mG0cOhRmMz094Xq6alzcP0nbdSQzg1Q4kqvSxccUqmXQY+J3Y+xjwmCMatQYqUFbvDg8gW/e\nLK6Mu+8Ww9vaKllGcewg+RQdo4Z/4q5ufspFLOF61nEeHJDtFRVBUA4dklnGE0/I974+uc++fRJQ\nBslY2rdP4gwTJshYzjwzGNqpU2W2oS4nLbLr6hKjvXFjSK1tbJS6Cw0mq8tm9Wr5/Rs3yv3VRRS3\nmgCJPaiAqHBq9hKENNp0WjK2fve7kOoat9GIjX6hBIB8NQ/G2MSEwRi16FOqGiI1mJrT/6tfyb6n\nn5ZK5L4+Mea9vZImumtXtnGPqayU5nQ/umM/dz5zMV/3V3A7b846Rs/buTOksfb3h2tOmwbPeY4Y\n0+pqGdeOHWKwJ00St5I+0be2BsOsxWQrVkjcYtq0IB6rVoWZyPnnyzZtuaEus85OEZjJk+XzokXi\nttLgNGS33NDPq1ZlN9SLRSNfNlKuQHQy2yk+Vq9ljG1MGIxRQS4DtGKFGEU1hCAGvb8/tJRet06M\n8kknybEDA/JkrvGFXKIAco27fjjAV55pZuukOXy691+YOlXqDCZNkllAZaWITF+fXHPvXhGFiROD\nO0lrIHp75f46QzlwQGYCGmc4+eRgfNXQa0ppdze84AUSN6ipEWHZvl0+NzdLzEKzj+rrQ+fVOPgL\nh7uJQM7TMUB2FldzcxCi7dtDKuuiReH4XGtVFApKmygcG5gwGKOCZKsLfZqOBeHss+Up+oYb5Gl5\n374QONbALwQDuX59KDDr7z/8nu/vaeFU/sTC/p8Bjj17wPswO9B34K/7+vvDtZyTWcLu3eIWqq+H\nhx4SUVD3Uk+PCNezniW/S5/6tW6hu1temzfL75kxI7iY4sI7fSrX9hpdXbI/TjfVlNH4b5krNVYD\n23GfIy12SwpJriLCXMVrSUwkxjYmDMaoQt0umzaJwVW/fH+/9A3askVmARMniih4Ly8IhlxnE3B4\nZpLyFr7N291NLJjYzotS1Tz4oBjwp5+W/c7JdfVd71FVJUHlxx+HD31IxEvTSefPFyPf1CSxgIqK\n0PW0o0N+y+bNcs2vfCU7FqLs2SMGe/fuIB56PQiCM2eObI87o+p7rqd8yG7eFxcD6rmxS0jdQsk1\nonNdVxvjJavSTRjGLiYMxlEjmenS3h5SOnfuDMepTz/uaZTP4IMY70OHgjFP8iJ+wUqW8jJ/P1sO\n1NF9v7iFDh0Kx+i5+l5ZGdJcDx2S8bS2htqB7m4x3k89JYZyzZoQ3G5sFDfRmjVB6Gpqwm9UQZs0\nSX7XzJlyr9ra8MQei93NN0ssIw4gV1eLy2np0tBvKZexTnZMjVtpxOmmudauyIVeKxnbsHTVsU1R\nwuCcOw34FnAy4IH/572/zjk3HfgO0AB0Am/y3vdkzvk48A6gH3if9/4nme3nAq1ANXCP9/79pfxB\nxtghToUEMazz54th27VLUjtnzAjupKqqbPdOIbzPfXwjj3MHl/B2vsX/cDYgolBRIa98qAupr09m\nCDU1Yjj37JGn+L17Qz3DokVhzDU1sg1CfARCltPBg2H7wICM+YknREB6ekLjPH0Cr63NfrLXGUlr\nq/z9NFVVA/QaZIYQX8iVPaTpwEqyqrwY4kC3FbmNbYqdMfQBH/DedzjnaoBfO+fuBf4RuNd7/1nn\n3MeAq4CrnHNnAW8GzgJOBe5zzp3uvffADcAV3vt1zrl7nHMLvfdrSv7LjDGDVhXrU7c+Hff3w7Zt\n4bhiRSFXjADgBHZzNxdyNZ9gDf+QtW9gIMQrIH82k7JvH/z2tyJgzsn3OXNkvDNmiGFWF5MGs/v7\nQ7X19u2Hp9KedJIIyoQJ8q5/C+3DpPGC1tbwipcszUVyEaF4QR2Q97jzbGzA4/YZ8f643YZeV+8V\nB8Nt1jB2KUoYvPfdQHfm817n3GOIwb8IyGQ9swpII+JwMXCr974P6HTObQLOc851Acd779dlzvkW\nsAgwYRinaMM4NZY7d4Yn6L6+wsZ5KFRyiNu4lDQprmfJoMcXuq+KhmYS9feL8ddWG9qXac8euOgi\nMd7aQG/qVDm+tzdkA2lq7eTJIggqULW1oXVFfb2IxAUXBDHo7pZgdmtrEKHOTplpabFbff3hC+po\n3UG8vgNkd6bVdanjGoX4PdkiO9mPyRjbDDnG4JxrBJ4LPAzUee81hLYdqMt8ngm0R6dtRYSkL/NZ\n2ZbZbowzVq4M7aa1xbS6X+KagZGiweMv8EEqGOD9fBFwRZ+fnDlUVcm4pk0LjfRqamTsc+aIUZ88\nWQLDGzZIHGDePBGFujox1LNnS7X1/PkhUPy970ldxfLlYtghPK23tck1GhrEXbV5c6hb0L9ZQ4MI\ngAa6k7UGcHjLiqSrKN85xRCLgWUkjX2GJAwZN9L3gPd77//iXPgfzHvvnXN5wn1DpyX6LzKVSpGy\n/9KOKXp6Qj7+vHnyNKxGXBnMnVMM3sOVfImXcx8v4pf0D/FZaGAgBJ37+oJo7dolIlBVJTOEmTPF\njTR5cujXNGmSCICu31BfL+dOny6Vy1ddJe6i5mYRkdWr5RyNSaxZIyIyb54c09Mjx+hKZ8uXixjN\nmiUuqvp6OSburhqTSgX3k3ZpnTcvzAzi9R40VqHfq6uzW3RocFoD5HGDPhOGI0c6nSZdhila0f+X\nOOeqEFG4yXufSZ5ju3Ou3nvf7Zw7BXgys30bcFp0+ixkprAt8zneHnmRAy3moDzm6e0VA3LbbWLs\nHngge38p3EivYi3/wqd5Eb9kN7V5j0uKkgau1f0yebJ8P+EEcRFprKC6WlJnJ08W8VDa20UwpkwR\nozltmhjutWtl/44dUquhPY3OOisslvPHP8I558jxui7D6tVhMR+tc5gzR4LYqVSoiYjTV2OSKag9\nPTLLWL8+uxo6XnozDkBrOmv80mNUVOJ1GYrp0mqMnORD8/JkI6thUmxWkgO+Dmzw3q+Mdt0JLAau\nybyvjrbf4py7FnEVnQ6sy8wq9jjnzgPWAW8DoubIxrGM1ijET5cXXCCZOb//fenv92w2cBNv4/V8\nn8f5m4LHJlNbdWagYqVP8Xv2yLsGjvV9yxY5Z98+EZVnnpHt27eLa6evDx59VMRDg+vt7eJe2rEj\n+PLb2mTWoMVtLS1htThF02D37hU3lj61b9wYhEfJ1esomYYaG/n4vOSaDslit1xGPxYOY+xS7Izh\nxcDlwG+dc7/JbPs4sAK43Tl3BZl0VQDv/Qbn3O3ABuAQcGUmIwngSiRddTKSrmqB53FCHORUV4XW\nDsSpnKVgBk9xNxfyYT7HLzh/0OPVbVVVFd57e0Pdgo4v3zjjDCitoaiqEhfTxImhZfcTT4gYVFfL\nS9eL1oKzzk5ZL1q7uabTIgpdXTKjiJvnaeuMj3403F9beMfZQfnIZfyT+/OdN5Ttxtij2KykB4F8\nWd6vyHPO1cDVObb/Gjin2AEaxyaPPSbv6i4qpShM5AA/4HXcymXcxNuLOkfHMTAAz3uexAHWrhXj\n/cwzYXz5xjltmjzBV1bCFVdIt9KtmTSLLVuyq5yfeiq09NAMo02bJMNJayG0gG/rVhGOk0+W79pL\n6dxzRSyqq0UMamtFaKur8xem6aygvT3MLHTxITg8VTW58E5cIJck2YnVGNtY5bNRdmJj0toqxqjY\nmoSh4/ka76Sbev6FTw/57IGB7B5F+/bJ0/9xxwX3kKJxiZNOkhjBxo2SJXT33SH9VlNSa2rk/JNO\nku+zZokIaPHa9dfLNdNpmT3U1sr1Nm0K20CC2poWq1XUvb2hxqE2fxjlr8a7pSXEdwqtuhbvh8Kx\ng2L6JxljBxMGo+yoYWltlXYOpZwdJPkEV/NsHuOlPIDPO8nNj/ciDjpGdYDGopDsn/SXv8DPfx5m\nHd3dcOKJYUGhzk5pEa6LA0GIqbzqVSKSp54qojFxogiC9kTSArT6+uC77+2VhoJbt0ox3ebNEpB+\n4gmZNSxadPgsIJ+rKO6RlCsuUMwxxrGHCYNRdtQF0d5eXlG4hO/ybr7KfNrZz3HDvk6uMVZVSUbS\nrl1BAFQgpk8Xo6zfDxyQJ3ldyU0rnyH0XDruOHE9feIT8LnPwbe/HZ7QV6wQIXjwwWDMV60Ks4vq\nanFVnX++iMbq1TLLaWoSUYiNtwqCVkp3dITgt9aQaLppITdR8nrGsY0Jg1EWYheEFnlt2lS++/0d\nj/BlruSV3MufmVny6/dFS33qokAnnCAuoXRaDLmmsJ55ZuhrdP314kZSY9zXJwKi11q9OghRS0to\ngxGvkQDy99NsrsWLpcZBa0F07eu40V5ypqDFay0tYb2FuIq5kMFPVjWbMBz7OJ+vBeVRxDnnR+O4\njKGTTkvWzLZtYVnMUjOLP9HOfK7ky9zJxcO6RtxwTzOP4gK7igr4p3+ShYH+8Iew9vO0aSIQ2pKi\nulp8/01NYrzVmGol9OzZ4vrRa+s60ep2iunokApxdeW0t8u26upwv4YGaRV+112H+/7j5nvLl0u9\ngtYdxAHqobiHLBV1dOOcw3tffGl/HmzGYJSVj35U8vcnTy7P9aewl7t4LV/gA8MWBQgCEBepxQV2\nAwNwxx3yFH/CCbKtpkaCwccdFwx1ZaW81q4Vw7x1q7TD1jqHzZuzXUsTMv8HdndLbKGrS4x9Y6PM\nKlasCH2N1q4NVc833yyzFTX6cVA4V0vthobs7zoT0cV9CpFsj65Y8dqxiwmDUTZWrgxN8bSnTymp\noJ9v81Z+xd/xeT40omsNlo4K8GSmrl8DyCBBZe1tpFlC558vT/EdHSIEl18uhv/kk2VW0NgotQp7\n9oTFiBYtkhlBba0cqwWAO3bIObq+QpwtpDMJbXGR7Hoar8ymcQYIs4Xly7Ob5BVyJcX7bMZw7GPC\nYJQUNUorVoTga7lYwVWcwB7eyHcZSmO8YtFg8pQpkpXkvRhxXeZTC9iWLoVPfSqs4DZ/vjzd790b\nnvAhGOZgHU+uAAAgAElEQVSmJgks798vhnnz5sNjC3V18rfbvVuO0XP1WosWyXUg27jHxyixaMSN\n8gqttWCxhPGNCYNRUlaskOZwDz1UXlG4gq9xMT9kPu30MbHk149jDr29ITU1nvnooj0rVkhbj7lz\nZZagRnjzZhGKd75TPmts4Je/DNfeulW2NzeLOCxaFCrDtSgunQ7N8ZR4XeZCQeGkWBRr7IvJUDKO\nXUwYjJKRTktwdulSye0vFy/jZ3yGT/ISfs4uppfsuhUVMksYGJAUVDXMFRXBxaSziFg4nnpKznnw\nQfm+aJEY/5kzxX103HESrNb4AUhsYdas4O9fulSEYelSEQF1/cTN7JYuHdqTfD73kM4SilnPOdc1\njWMfEwZjxGhzvAcfDK0cypVUdjp/4FYu4zJu5Y/8bUmvHQeb4xYWcZW2/i4NGk+aFFph7N0r5111\nVZhNPPGEZCKdfHKITcSL6mgsQWsKksHg3t7QIhtEPDRTKW5bodeB3Et3JvcpyZoHCzIbYMJglIA7\n7hCDoumoKg6lZjpP8yNewyf5DPfz9+W5SZHoKmtx0LqmRuIR558vMQadVZyf6eG3ZUuYBXR2yvG/\n+12IISTbWUMQqDlzDncZ5apKHklsIFebCxOE8YkJgzEi0mkxbhMmlLP/EVRxkDu4hB9yMV/nnSW/\nfrJrauwqiusZYiZOFCFQIdSitbgeoaFBgsRLl0raqrqI4jqCuDcTHN4iO5WSWYLODDQTSfcvXy73\n0e1DcTUVwgLQ45ehN5MxjAzx+gra2K08eG7gn9jDCXyMa8pzhzyuLxWFadMO33fwoIiCcyFldd++\nYOj7+0Nweu5cmUW0tMC994aupm1tEqBuaTm8AZ7OGrSoLaaxMWQlLViQ7Z4qdkGvQkbfBGF8YzMG\nY1jEq3epUSoXH+LznMuvOZ8HGaBy8BOGQTwjUDHQWYRWF8ervE2bJjEDXbdh7lzZPnNm6HSqlc3K\n4sVhxlBfH1Y9035Fcdqp9kzatEkC19u3y7apU7PXb4DsuMRIV0+zOIMBJgzGMEmlJLbwzW+W9z4X\n8UM+wBeYTzv7qCnvzTIkRWLHjuxspEOH4AUvkErl3t7QAmPVKqk/iF1SEyaIUT94UALH3d1BSKdN\nEyPf1XX4GgqtrVIPMX++fFeD3dycLQoQ1nguRQdUK2YzwITBGAb6RLlunRjOctHEb/ga7+TV3MPW\nrCXEy4vGF+JV2/bskXeNOySX0Pze96TVdlNTWItBO6lqHKKiIqS0NjaKAJ1/vswwkkVna9bINXRG\nUVcn29V9FGNP8kapMWEwhowKw+9/HwKupeYUnuCHXMyVfJlf8fzy3CQPyUyjyZOlLmPCBDHkbW0y\nS6iuFpeQGuuOjrD+Ash5s2fLLGHGDDHwM2bIa8eO0D67qys7oAzZojBvnly3mJhAKUXCBGf8Yt1V\njaJJp8X4XX99yNkvB5N5hjYWsJpFXM0ny3OTHGhsYeZMKVrr65PZQ39/cC9pA7wpU0QoZswQsYgz\ni+L219OmyWxBu6hCdqC6oUFmGFddJds0PrF8uQSVIbslRrm6m1oG0rGBdVc1jijptLR22LmzfHUK\nAI4BvsXb2ciZXM0nynejHJx0krS8eNe7RPx6ekQQ4piDdkXdt0+EZM8eaSmu7T8mTQouqKqq8LdS\nUQA51jlxD3V1iQCosKgApNNSQa1V0CNlMMNvwmDEWLqqURSplLRwKFf7bOXT/Av1dPNOvkY5GuPl\nQuMklZUSJP785yULqb//8NqGOXPEvTRpkgjG7NniVgKZHRw4EK7X1yef582TjKTKSjn2U5+SAHZ1\ntYiDLpwTB6AbG7NFoaVFgszLl4fPudJS86WqFpvCahhgMwZjELRW4d57y7fQjvI2vsVl3Mp5PMxB\nJpX3ZhkqK0MKqv4+jZtMmyY9k3RhnenTxW3U3Q0/+1l44gdxD+3dG7qjQghib90q8YP+fpmR6Kzg\n5JNl8R5tvBen/TY1ZQuDVjhrt9Z8T/j5tsfxi/hYS001cmHCYBRFOdZTiDmfn/M5PkyKNDs4qbw3\nixgYkJRRjQPs3y8uJV2Qp7s7HLt9u2QfzZkjBr+6WmIEakQ1+LxpEzz+eMhg2rtXZhLHHQenny7i\ncvfdcNZZ8MgjYrQ1yJysaFaS6y7HFBKJeHlVnZHEvZQsNdXIRVHC4Jz7BvAa4Env/TmZbS3AO4Gn\nMod9wnv/48y+jwPvAPqB93nvf5LZfi7QClQD93jv31+yX2KUhVRKDN7NN5fvHn/DZr7LG3kbN/EY\nZ5X8+lqDoKuzxe6hOMdB4wD6xL9li5yr19CFeBYtEjGprhYR0OI0DTrX1Mixs2fLtvnzQ6sK7aYa\nVzlv3Ro+x4vxQCiIa2kJjfI6OmQcel+toobDxaSYtRcMI0mxM4ZvAv8FfCva5oFrvffXxgc6584C\n3gycBZwK3OecOz2TZnQDcIX3fp1z7h7n3ELv/ZoR/wqjLKxcKUFYdYOUg6n0cBev5d/4V37CBeW5\nCaF1drLuYuZMed+9O3t953gmocHkGTMkNtDeHp7yQWYEmk1UWyvGeuJEmSFMmSIGXdtt636tVu7o\nkG2zZonhTj75xyu2xe2ydfnPOAYB2cclzynUYttcR0ZMUcLgvf+5c64xx65c0cGLgVu9931Ap3Nu\nE3Cec64LON57vy5z3LeARYAJwyhFK2w/8IHyXL+SQ9zOm7iPV3ADV5bnJsisQGcGGlPwXmYBVVVi\n2OMWGCoMkyfL+4EDsr27W2YV3d1izM88M7TFTqezl+R85BF4/vNFIObOlZlDR0d2q+10Wu6tYlHI\nWCdnEatXh2vEswQVqOQ5uvxnPkwYjJiRZiW91zm33jn3deecTo5nAtHkmK3IzCG5fVtmuzEKSafF\nFVIuUQDPdbyPfir5INcOfniJ0EwhFYhUSmYBdXXiGoq7rD7xhMwkpk8P7bTnzZOZlFY4a28ikG3L\nlsn3ZcukMvz73xfX07Jl8q77amvFWO/dK9fo6AhdVJWksdZz0unsWokLoonW+vXZ7buVZMsNwyjE\nSILPNwD/lvn8aeDzwBUjHlGGlujxJpVKkbJHmiPOzp3lu/YSruelPMCL+QX9ZcqByNcuO3aL3Xuv\nGP9kcL2iQlxBIAHjtjZpgzFlSnaxmfr/QYx6rhbaHR3yamyUY1avDj2SIPRaam4u/OSuM7h4VTcd\nx2CxBPvf59gknU6TLkMu8rD/j/TeP6mfnXNfA+7KfN0GWY1tZiEzhW2Zz/H2bfmu32KRsqPGypXy\nVBsXZZWShfyYT3A1L+KX7GFqeW5CblFIki8Fd2BAnuarq8WgV1fLDKG6OlsM4o6o6saJs4TSaRGC\nrVslM2jBgiACuq+2NohNklwZRxpziL8PxlBSW4d7nHHkST40L4/9iiNg2K4k59wp0dfXAY9mPt8J\nXOqcm+icexZwOrDOe98N7HHOneecc8DbgNXDvb9RHtJp+Pd/D8tQlpr/w+9YxWLewPfo5FnluckQ\nqKiQOMPUqWHNBc1EqqgQMVizRjqpxi6f5cvlCb6zMxj1ZOtsCJlINTUitqlU9sygpycUuOUin2Ak\nDbXOGjTInHQlwdC/D7bdOHYpNl31VmABMMM59ydgGZByzjUh2UmPA+8G8N5vcM7dDmwADgFXRo2P\nrkTSVScj6aoWeB4FxGsAvOlNUvVbDk5mO3fxWj7AF3iIF5XnJkNEW17s3i3Gu7o6tL0YGJAK55oa\niTNMmCDFbk1N8uTf0yOf//M/JcCsixU1NEjmEkg6q27v7JT73HyzZCFVV4s7qadHxCKXKylXYRoU\nXoIz32Tb2mIYxVJsVtJlOTZ/o8DxVwNX59j+a+CcokdnHBH0ibC1tXyiMIleVrOIm3gbt/DW8txk\nmFRUSAbSpEnBfdTfL4HqAwfEsO/dK+0yqqtl9lBbK4HelSvFHaVtMs48U7Y3N4tR7+gIXVI1+Dx9\nejDA2r47FoC4MG2wNNOhUqjaudjjTDyOfazy2fgr3d3F+eWHjucbvIMtzKaFlnLcoCCVlfK78jXs\nHRiQeIrGVDSWoJXLdXXh2N5eaZmtBWq1tfCnP8m1daYxb54cA9ldaNNp2d7VBa9+tWybMye4fkph\ncIdi4PVdj8lXHAdWHDfeMGEYpyQNxnXXZefAl5J/4dPMYTMp0vij1LdRRUH7F02YIGmqSk2NbHcO\nzjhD6g8eeUSykHbvDt1TQQTk0UxETdNGVVT+53/k2lu2wHOeI9trakQ0zjxTZggNDTJDaGoS4Whp\nkX8DjVEUqlhOunuS3/MVyCm5rmVtMYwkJgzjlNggpNPSzK0cS2C8mdu4gq9zHg/TS5lbsxZA22Jo\nqmosCiAGXH//o4+G9hn19WLYQUSgqkpcTytWSFX4jh0h1dU5OP54Wfazt1f+rrW1IgDV1dIaQ2sf\nVASamvI/meua2jGDCcNQKPY8cx2NP0wYDH75y+A2KSXn0c5/8V5ezk/ZTn3pb1AkhdxISrx/YECy\nlKZPhyVLxHi/9a1htgESj9m/P7TYUOHZtSvEDerrRTS2bpXiODWwmvoKcqxmEOUSAW2dUYrA8GBt\nMPJd34Rh/GHCME7RdtqdneURhdl08X1ezz/yTR7lOaW/wRBIGn0IK7Fp/GDHDjHy+rfYtUsM/4oV\nsrra5MniXqqpCYvvVFXlroNQATl4UL5v3ixZSCtWyHedNaRSoaNqY2PogNrZGQQh7pOkabKdndnn\nxC6oQkZ8MANvAmAoJgzjlFQKvvhFeOCB0l+7hr9wF6/lP/kIP+LC0t+gBGig+Mknw6I7cYO9qVMl\nvnDOOZJZtGNHCFBPyiwVoTUK118vhn/TJtl/1llhLQV96k+6iJKVy5AdX0gGgxsbDz9etye3GcZI\nMWEYp6xcKW6MUscVKujnVi7jIV7ISpaW9uJlwPvg1olnTnv2iBvoiSdCu22Q2cDAgLiH1q8PaznH\nab5btsjsQpvtKYWqmOMsIRWHOIVVZxMqKsnq51zEx9lswBgKJgzjEDUo+/eX/tr/yUeYzH6WcD1H\namnO4aIN82KfvzJpkmyrq4P3vEeK0vbulW27d4sQNDRIBtLevZJx1N0tqaizZ8s1NNYAUvBWX59b\nCPRpv709ZChBcCnFrbX1305nHOpOUpJJBSYMxnAwYRhnpNMSSI1XJisV/5ev8hp+xHzaOURV6W9Q\ngHwN80ACwzNmwFNPZW/X41UU5syRp/2+PjjvPIkDVFfLvpoaqW6urxfX0pYtsl3rFJ56Krij1q+X\nNZ7VnRT3VlJyGer58w8vZss1w4jrHlQczJVklBIThnGIrjNQSl7Offwb/8r5PEgP00p78SIo9Hu8\nl2U6e3rkaX7LFjH0b3kLfO1rYU2G//3f4FrTNRO6uuArX5H01q1bZaagItTXJ+fpzEODznPmiLFW\nN1Jzs4jJ+vUizG1tMjvo7Q1P/NpMLzkjUOJZgO7TmUXSvZROy2xj1apwv2ID1IYBJgzjhpUrpRnc\nhg1SqVtKzmAjt/AW3sh32cTppb14EWiqaCF0JqB9i3btghtuCAvxgLiF4jhDZaWkmSaDvm1tElv4\n0IfgnnvgD38QI69ZTlu3iuHX4reeHhGYBQtCwFqb46XTIho9PUE48vVHiu+fSoXr1dYeHqOAMJOI\n23IbRjGYMIwTenrEfVRqF9KJ7OBuLuRjXMMDLCjtxYukmAC6GvyKCpkt7N0rGUdatNbXJy/9rHGH\nrVvFqD7zjFRC6xKdIMZ/yxZxU23eLGJRXS0Vz2vWBHdPHCRuacmuTWhtDcIxb16oZ9C4QfyUn6xQ\nznV9xTqiGiPh6PQnMI4o6bQ82T71VGlrFiZygO/zeu7gElr5x9JduIzoOgsDAyIKzoVV3erq4KST\n5LhJk8QltGSJ/P3OOktWSkulJEtp3z6JCSxcKO6oOXNEIFIpEZDmZjH6S5eKy0dnAkmD3dmZnbmk\nbbkXLBg8dlBsp1RzHRlDxWYMxzDptBRVPfhgORbd8XyVd/M0J/KJwxvpjoiJE6U4rBgX0XCI4xHe\nh9nBzp1yb5DMo+pqcfOou0cX1Glqks+aJZRKSR3D2WfDJZeEbCIVh+TqbBoHUHfS+vVhJhKLhJKr\nH5JeI653SGYxmTAYw8X5cvyfN0Kcc340jmussnBhdupkKfgo1/BmvsNL+DnPMKW0Fy8x+QSmokKe\n/i+6SFw/s2fLcp4bN0qm0Zw5YvDVjTRtmriJ2trEkDc3izvpqqtCnADgxhtlOVCtVG5okM/d3TLL\nWL5c3EZx7GHrVmnBcfBg2A5h3YeVK/MbeHUrNTeHgrfly2VhILCA83jCOYf3fsR54jZjOEZJp+Gj\nH5Vgc6lnC6/j+7yX/+I8Hi6LKAw2U4h7FhVD8lqaVTQwIEHom26Sz9oeu7paREDTU1dn1hnctUue\nyqdMCYZ740Z58tfq5p4eKYo7PRODnzdPrqFLecazDA0yd3ZK3OORR0QIamulLqK3N4hLnHmUz8jH\nrqfOTgs4G8PHhOEYJZWCz35WXEmlnC08j1/zVd7NQtbwBKeW7sIRg00WhxsnmTJFnv51fQYQEZg8\nWa557rliXO+9V4r/1q4VQ63U1YmB1xXYQARizRox2ioWFRUyq9CZx/r1MqOorxejr7GGtja5fnW1\nxD2mTg1psnV1cvyOHXJMLiOv8QoVgbiFRkfH8P5GhgGA937UvWRYxkg5+2zvxcyW5jWTrX4Ls/zr\n+F5JrzvUl3PDP7e62vt587yvqvK+ocH7++/3fsEC76dOlf3z5nk/ZYr3J54o++fNk+2VlfI+Z468\nT5sm+/W6c+bINadMke9Tp8p1zzhDjqurk+3xOdXV3s+cGe6h++fN8/75zw9jW7Ag97/vsmXh8/33\nZ39fvFi2GeOLjO0csQ22GcMxypIl8NhjpbvecezjTi7iS/wzP+D1pbswQw8yFzp2ypRQm3DSScE9\n9PznS/xg61ZZYvMPf5BitZaW8JReVSWut76+sMBOfaZbeFOTPIV3dGSvz6yFbIsWiUupq0vcUBMn\nhqC2ziQaGsRFVFsrr7Y2eNe7wvUVTSvWTKaursGX99Rj9TjtupqvgtowCmHCcAySTsN994VFaUaK\nY4CbuZxHOYdr+FhpLhpRyNBrVXGxxMfW1IRWFVu2iP//wAFxuVRUiOFetEiM5s03izHWVtkgRv3R\nR8M1168PMYKmJjmvry8Enbu6xAXU0yPxiPp6ueaECVLn0NgowWetQu7pyS6e0zWif/97ubcGoevq\n5J6LFmUfG/dISrbqVpIuKOubZBSDCcMxxsqVcMstYlxKxdV8ghN5mku5jVI1xot7GxXqc1RIFHKd\nN316aHana1hrURvIvrlzxcj39Ulg+ZlnZHtNTZhhTJ0q2VwbNkjrjKWZRrEtLZKJ1Noq5+p6DOm0\nBJqbmuS+9fVyjKal7tgh56rvv7MzCA2Eld46O0MDP0131X5LivZIWrw4bNPuq6tXh+voTEjPsYZ6\nRrGYMBxjdHTIusOloplv8ka+y3k8zEEmley6sUEv1Ocoafz1e1WVuIqeeCIsugMiJHv2iNumsVEC\nwLt3S7D4V78Sg6vZQH19su3gweyAtnNyn+5uyRR69atDv6OWlhCUTqXkqV5nHWrkdV1nPQdkDJpZ\ntGiRCI1eT9uVbNwY3E6TJomR7+sLM4Ek6saKRUvfk2s+GMZQMGE4hli5Er797cPXMx4uL6WNa/gY\nL+UBnmZGaS46RJKiEX/v7xcjfuBAiFPs2CHup64ueWlq68aNIgr9/TI7UPbtk2Oqq+GMM+QpvrZW\n1m2urxcDr8Z15UoRgnnzwtO49kOCYPDjVdhyGWYVCy1m6+iQWgidXXR1SSyiqUlmLMnCOBB32OLF\nhzfdizOTVACT5ykWezDyUkyEGvgGsB14NNo2HbgX+APwE6A22vdx4I/ARuBV0fZzgUcz+75Y4H5l\njNsfe9x/v2ShaMZMKV5z+KP/M3X+5dx71LKPNBNIXxUV4fO0afLKdVzy2GJeNTWS/TNzpmQENTSE\nDCLNDPrCF+TvvWxZyBTS7B99LVsWsoziDKRJk7K3L1ggnxcvDtlR3ocMKb3WsmW5s4s0A2nBgsPv\nH/93ke8849iEEmUlFSsMLwGemxCGzwIfzXz+GLAi8/ksoAOoAhqBTYQK63XACzKf7wEW5rlfOf92\nY55c/8Pff//I0jjjVy07/WOc4d/NDUdEAIoZd0WFpIOq+C1YEFJD9V3FYNq0kAaqxlmPUcNcVyfH\n19WFY+bNkxTS2KjX1BxunDWN1PtgaPOljqpxv+CCICixIKhYzJkTUlrjMeq44jF84QvZ4qKf9R6F\nMGE4timVMBTVRM97/3NgV2LzRYDmRawCMjkTXAzc6r3v8953ZoThPOfcKcDx3vt1meO+FZ1jDIFk\nI7Z0WlYZE00dGRPo47u8kR/zD3yV94z8gkVQzLidE7+7uoF6ekJFt74PDEi6KkjfI11RDSTADOI2\n6u0VdxNIsLmrS1xG9fVw6qkSP9BWFZWVweWycmWoYG5rC9lBK1dmjzWualauuip0Q122LLSvUHdS\nTY24jy64QFxVzc0yNm2JEbt9li4Nge0FC8KY5s8f3DVkriOjGEYSY6jz3mdyONgO1GU+zwTao+O2\nAqcCfZnPyrbMdmMEaKO8J58sxdU817OEXqr5MJ8rxQUByevflXysyKAGv7dXjjt4MLuFh8YOKipE\nFCbliH/rustaP7B9e1iS8/rrQ0O8vXsl3rB9O8ycKcfX1oYeRfPnS+B41qzQ3bS6OhjTnp7sthOa\n5bN69eEZQMnP8bsadW2v3dAg125qCr2O4nbaXV25W2K0tEjspK0te0GeQq0zTBiMYihJ8Nl7751z\nJXheDbREUbtUKkVqnP8XnS+AeN99kj5ZipqF9/NFXshDvJhfMEDlsK+TLFjLJQpanzBhgnyePFna\nUMRrL8c1DBMnilF/+umwv7pajHp/vwiDpqrW1Ynxv/lmMbiTJ8v2hgYRgvr6cJ+2NgnWx4vd1NaG\n/khr12b3H1LDDcH4xstsKvpvlWtpTn1PpyUbqbdXxrtqVeitpDOJxsZs0Uneu7Y21EPYgjzjj3Q6\nTboMi2+MRBi2O+fqvffdGTeRPrNuA06LjpuFzBS2ZT7H27flu3iL/ReeRfIJUL/v2CFPjbHBHA6v\n4W4+ymd5IQ+xl+NHdK1YFJyTVzK7SI+ZMEGMuqahxqLifXD57Nsnn2fNkifoRYvguuskZXXvXjGm\n2oF04UIRy1mzpLDsxS+Wv9GZZ8q1YlGoqws1BGqsly4N3zs6RBDiuoB0WlxTKhTLlweXDoRtSq5/\nO0VnJCoKmvqaSoUxFGqIt3SpicF4JvnQvDz+D28EjEQY7gQWA9dk3ldH229xzl2LuIpOB9ZlZhV7\nnHPnIUHotwHXjeD+4xp9SLjttpGLwjn8lm/yj7yWu9hCw4jHFuO9GHsIzeu8D0Kxf7+8DwzIfm0j\noTMFfdfZw9aMM/K662Qmousuz5kjLprWVti0SdxHGzfKsfX18nnuXFmbor5eZgJTpsiTerLRXVwE\npmswwOFLfMbkct3kM9jx7K+rS4RE12PQc+IxxLOUXNi6C0apKUoYnHO3AguAGc65PwH/CqwAbnfO\nXQF0Am8C8N5vcM7dDmwADgFXZqLlAFcCrcBk4B7v/ZrS/ZTxQ22tGLE77pBirpFQRzd38Vrey3/x\nMPNLMr5kGwsVhP7+YPiV6mrZrquo6ewBgnhMmSKupP37xS20a5e4jbRiWenuFuM/a5YEn7dvl5hE\nR4cY4Bkz5G931VUST4Dw1B8b67gwTIPM8bG5GIpRzrVMZzJYHQtDvBRoXNNgC/IY5aIoYfDeX5Zn\n1yvyHH81HL6sl/f+18A5RY/OyEKN1+rV8oQ71D5CSarZzw+5mG/wDr7DpaUaZtaYdOlMJe5FBNki\n0deX+zft2xcC0lrhvH+/fJ46VWYHILOC7m7520ydmr2voSG4g1pb5fOiRbkNfS7DDfnXUR5qkDc2\n6snGdzqeWChyiUG+z4ZRCqzyeQwRG6ynngp9eoaDY4BWmtnMHP6Nfy3F8P5K3MZCXUn5UlJVCPS9\nsVGCwXv2yOt5z5PjnnxS4in79oVZxsyZkn6qLS96erKDzyCfIWQDqeHVp3B1E8Uzg6Fm9AxVGLT/\nkY4j17GxSAxWoWzCYJQaE4YxgrZLSDZHGy7LWM5p/Im/52eUqjGeokHkioqQeaSzhmQQWmcHeuz2\n7XKszgw2bAhZOnv2iDBMnizHxbOL+G8yZYrEHHbulIBzW5sEctVl09h4uPslX4C3HAY312wAslNh\nIbvnka7trLOW+Pcm3VCGMVJMGMYIcZHVAw+MrJjtLXybt/Mt5tPOAapLNcQsvA9Ge7AV19TdVFUl\nswUVBRCX0f79cM45MhvQ5Ti1zgAk5VMzjuLiMm1Sp0/Uw+kXVCphiGMY+WYn+WYeudxacWO9ocwu\nDKMYTBjGALFh6+gIBWHD4YX8ki/wAf6en/HkX2sSy0NFRWhqEaOupZqaMDtQl8/27fK0v3WriIAK\nxq5dElieOzcEjjVvv75e3Eg9PSH+ou4knWXFdQb6ZB4/jRfjSio3+VJac5FrdmEYpcKEYQwQZ8u0\ntw9fFBro5A4uoZlW/oezSzW8vBx/vGQOnXSSpNT29YmxP+UUiY/MmSNGfN48MepLl4ZFb3TRmk2b\ngusn7ii6aFH4e+zdK/UKIC4nXRehszNUGQ/labwcxPcqph32YHELmxUY5cSEYYyQSsEXvzj8BXiO\nZw93cyEruIof8+phXePss2W50GIzoTQjKBkk1+26wpkubqPFWjt2wL33igtp377Q6mHOnMNXKYvb\nQ6gLac2asLpZKpXtZonfjxaD1SXkI58wHO3fYxx7mDCMUnK1wPjRj4Z3rUoOcRuX8gAv5b9477DH\nNBRRgFCzUFMjrqNnnpF3TT392c9kBrFhgyyIo8a9uVlqDlpaxHV0+eXBbVTICKp7RRvU6YwBsmdd\nR0i8xYMAABlzSURBVLuHUL6Fd4aLCYNRakwYRimx66G9XZrBDRbEzce1fJAJHOL9fJGRZCDlC3hr\nzGDOHHj8cZkJPPFEEJG9eyVO4L28z54tazDPnCmFZ69+taSjJt0tIGmoOhPQ/kG5SGb3xO96PY3T\nHG1hMENujHZMGEYxsREbbtuLK/kSr+ReXshDHKJqROPJtwSnCsb27XKMjrW/X4rMDh4Ut5Cupvb4\n43JcV1dYwrKrS57uW1pC11GQWceGDSHwXog4rVPXQ7Ycf8MYOiYMo5h0Wtpe/OQnwzv/VazlX/g0\nL+YX7KbA43YGbV1xyinyBD8wkC0G+QrVTjgB/vKX0MpC000HBsJsYdo0eN/74POfl+P375dMowMH\nZCag8YNcdQX6pF8oXz9XIFmForVVhCZuTa0BbRMNwzgcE4ZRzD33wKOPDq9m4dls4Cbexhv4Hv/L\nnKLOUddPvorqQtXL3oeGeHHl8QkniAD09sLnPifxBW2BPXGixB80Syd2I2kr6fb2YMy7ukL8oBij\nHh+j8QdrTW0Yg2PCMMrQBec7OyUgOxxm8BR3cyEf5nM8yEtKOr4kzoW1FPr7wwppyjPPhIV6Pvxh\n6Yo6e7b8Tq0xgDAr0Nf69bJ90yZ515XYBnMn6bUMwxg+JgyjDH1SXrkS7r576LGFiRzgB7yOW7mM\nm3h7WcYY4/3hMwydOUybBs95jsQJHnxQDP6uXfJqbpZWGZs3Z7uM4uwj/RwHjotZk6RQcNlEwzAG\nx/lSLBRcYpxzfjSO60jQ0iI+9498RNpDDA3PKhZzHM/wJm6nyCW9gcKN7gYj7lmkay7v2xdcShdc\nAOvWwfe/H9JH4zUO4ngASPC4oSGsXjZvnvxNqqulRsEwjNw45/Dej7j5mc0YRgFJo3jBBcMRBfg4\n/8FZbOClPDAkUYDhi0JyPeeaGjHg+/aJy6i3V9JXd+0KAeRkgVeuNYr1+2C1C4ZhlB4ThqNEcqEV\ndZXoWsND5Q3cwXv4CvNpZz/HlWSMxTB9urw2b5asJA06g9QqVFeL2yhuaBeTr7bAKnsN4+gxtMdK\no2Tk8pWnUtI8bqhre/8dj3AD/8TF/JA/M7MEoyueLVukhQXAcceJC+j5zxc3Un29CEVLiwSTm5tz\nC0MSEwXDOLrYjGGUoDULQw02z+JP/IDX8S5upIPnlmVsudB2FzNnyvvu3RJf2LNHgsr19SIGCxYE\nwdO4AuRu+QG5XUqGYRxZTBiOIPmMYW2tuJC6u4d2vSns5U4u4ou8nx+yaMTjiwPQavgrK6UWYfJk\nCTCrCPz4x/AP/xD6/ixfLmsi9PTItqam7HTUZPbRkexsahjG0DBhOILkM4YrV8Jvf5sdxB2MCvr5\nNm/lv3ken+PDJRlfZWUIemstQn9/SDGNufRSOebGG6V2obJSMogWLAitsxsbQzVzXMk8VFeZYRhH\nFosxHCU6O0PFb0/P0EQBYAVXMZXd/BM3MNzGeBMSjwW5MqG0nQXILEI/v+c9Ekc45xyZGdTViSjo\nkpPptMyE4spjpZg4g2EYRw+bMRwF1DDGy3UOhSv4GhfzQ17IQ/QxcdDj4zqDmMFSYl1Gb3btkvjB\nvn1wxhniWtJsot5e+fzKV4ZWFUNdO9mEwTBGFyYMR4F0OjxBL1kCt9xS/Lkp7uczfJKX8HN2cmJR\n5+RbQ6GiIn/HVJAZxezZYd3luXMloDxnjiyqM3Fi9joKTU3BjZQLFYxksDl+Nwzj6DNiYXDOdQJ7\ngH6gz3v/AufcdOA7QAPQCbzJe9+TOf7jwDsyx7/Pez/M3qFjj+Qaw52d8IMfSCZPMZzOH7iNS7mM\nW/kjfzvi8eQThaoq2TdpEpx/vnQm1TWZFy8WAVi9WsTtkUfC71Gxy1eXkC/YbEVshjG6KEWMwQMp\n7/1zvfcvyGy7CrjXe/+3wE8z33HOnQW8GTgLWAh82Tk3LuIccUaSBmk3bAirmQ3GNHZyNxfyST7D\n/fx9uYZJZaXMFKqqpAtqOp3dLVVnBqmUxBamTpVjli2T762tZuQNY6xTKldSMvp5EbAg83kVkEbE\n4WLgVu99H9DpnNsEvABoL9E4Ri3JJ+b2dvjNb4pbKrOKg9zBJdzJRXyddw753vliDH+9flVYHe6E\nE8RFpELQ0yNBZ6WnB1asgLVrRRB275bMIw2mFyMKyYZ4heoYDMM48pRCGDxwn3OuH/iq9/5GoM57\nr80RtgMZRwQzyRaBrcCpJRjDqCa5rOQ998B//3ex6yd7vsyV7KWGj3HNsO4f90HSWgV9P/FECUIf\nOCCBZG1vocHm3bslFjFlisQXli0TEairk98Su5CKJVdcweoYDGP0UApheLH3/s/OuZOAe51zG+Od\n3nvvnCvUoi3nvpbIUqRSKVKj/DGy0NNyvBB9Rwfs3Fl807oPci1/x684nwcZoHJYY4tjCXpffX/6\naRGJqsyqn7NmiVCceaa0yr7kEjH82vwu2SJbU24NwzjypNNp0mUoDBqxMHjv/5x5f8o59wPENbTd\nOVfvve92zp0CPJk5fBtwWnT6rMy2w2gZY9ZmMDeKdha99978K6QluYgf8kGuZT7t7KNm5IMkpKCC\niIPGD047TXoenX22jLO7W2YMq1dLPcKFF2YXqbW1hRqMka6rPMo13zBGLcmH5uWxX3YEjEgYnHPH\nAZXe+78456YArwKWA3cCi4FrMu/aM/RO4Bbn3LWIC+l0YN1IxjBaUR96Z6dk9Wh76ooiQ+1N/Iav\n8U5ew4/YmqWlQ6OiQgRAZwjOZc8gtE32+efLDOH662WWAFLdrD2PZsyQYHQcA9BsopEadhMGwxhd\njHTGUAf8wMlj6ATg2977nzjnfgXc7py7gky6KoD3foNz7nZgA3AIuHIsr8hTTAA1nZaFZtavlwye\n3bsHv+4pPMEPuZh/5ks8wgsGP6EAyZTU5PfNm+V91SoRCe1zpEFnbYQHob1FjBl1wzj2sBXcSkSh\nReabm+HOOyXzZ+/ewteZzDO0sYAfcjGf4VNDHocWrU2YILGCmprD7xnPIhoaxFXU1BRiCOoa0vWn\n9ffFjNR9ZBhG6bEV3MYA6XRoNV1MLyTHAKtYzEbO5DN8clj31BmBtrvYu1fSVRsbYds2KVrbvVu2\nTZ4MXV1hrPp59WoRhaVL8xefmSgYxrGLCUOJyGc89cn61lvh4MHC1/g3/pVT+DMv56cMtzHexInZ\n96mokLTYmhpxZWlMYfZsePJJeMMbQutszTDKtbpcLmzWYBjHJiYMJSKXgUyn4eab4fOfH1wULucm\n3sItnMfDHGTSsMdRVSX3qqyUz9o+e/16ed+5U1xa27dLbUJHR/Z4W1pCxhFkd0jN9ftMGAzj2MOE\noQxoULq9PQR3C/FiHuTzfIiXcT87OGlE99YWG/392QV0lZWSWTR7tvQ30gK2p54SETj77NyFamvW\niEvJMIzxgwlDCYnrTFIpWcRmMJ7F//Jd3sjbuIkN/J+yjCtueXHccfI+Y4a8tOdRTFy0lpwRWCsL\nwzj2MWEoEbHB1AKxP/+58DknsJu7uZB/51P8hAtKNpaqKhGA/n4JPk+fLq6j2bPD+svnnx+qmZNU\nVx9eyAa2JKdhjBdMGEqEFrMB3H23pHkWyrit5BC38yZ+ysv5Mv9c0rH094uraP9++b5woWQaTZ8e\njlm1StZVWL48CIQa/YULC6+rYBjGsY0JwwjRlNQ1a0JH0sHxfJH343F8gC+UfEwDA7Ki2oMPyloP\njY2SoqqB6CVLRCjUZZR86o9jCoV6IZnryDCOTUwYRoAWgDU2iihosdiGDcGnn4slXE+KNC/il/SX\n+J/AuZBtpIHv1lZpydHWJsa8p6f4GUGhzqkmDIZxbDIuFskpFz09wTg2NEiB2ObNhUVhIT/mE1zN\nhdzNHqaWdDxa0XzCCSJQ8+bJ9uZmeM5z4IIojLF+fViSs1BzRq1xMAxj/GAzhhGifvmbb5biskIt\nL/4Pv2MVi3kdP6CTZ4343tXV4h6aNEkqnU84QSqsTzpJxtTZKQKhRWtJt1AxgWObFRjG+MOEYYgk\n0zX18+bNhTunnsST3MVr+QBf4Je8uCRjmTxZhKGqSoRh167gzlKDrqmoZuANwygWE4Yhkuycmk5L\nrOHhh0NwN8kkelnNIm7ibdzCW0s2lunTJdA8Y4Z8nzVL3FttbUGwmpqyx57rs2EYRox1Vx0BqZQ8\nqT/+eKHFdzw3czkTOMRl3IovQVjHuex1FbSjal2drJ9QXy9ZUoZhjC+su+pRInYltbVJq4lCfIp/\nZy6bSJEuiShAWLO5slJeBw9Kg7z6egkWWw2CYRgjwWYMI6CpqXBq6pv4Dp/lo5zHw2ynftj30eU4\nvZeitMcfl8Z8uqymFqjFa0ubq8gwxh+lmjFYumoeCqVwLlkihriQKLyAh7meJVzEnSMSBchemnP/\nfnEbdXRIkdrWrZImq20skqJQhnXCDcM4xjFhyEM+g5pOS0rqySfnF4XZdPF9Xs87+Aa/Zd6Ix1JZ\nCTNnyutd75JtHR2SfbR5s8wi5s/P3cgudn0ZhmEUg8UYhoh2I9W+SElq+At38Vo+z4e4m9eO+H7a\nGXXyZFlkR+9bWyuzFn0Vqkkw15JhGEPBhCFisJbSutzlvffKOgZJKujnVi6jnfl8gQ+UZEw6K9m5\nUzqiNjfLbKFQ6mnydyxYEJboNIEwDGMwTBgiCrWUXrkSVqyAf/93ePrp3Of/Jx9hMvv5Z77EcJfm\njKmuDstxqigkDX6uXkZxncWCBaFHkp5r4mAYRiFMGAoQu2BuuUVWPHvmmdzH/l++ymv4EfNp5xBV\nI763rrA2darENFatEhHo7JS0VChs8FXkdKZg6yYYhlEslq6agzjts7ZWYgqFMpBezn3czOW8hJ+z\nidOHdU8tUps3T9xUJ2VW+Fy5Ut4140iJDf9gv6VQ62zDMI4dxnSBm3NuIbASqAS+5r2/5miMIx9q\nSFtb5Sm9tja/KJzBRr7NW3kTtw9bFCAIw8SJMlM49VRZmznfSmqF2mHHmNvIMIyhcsRnDM65SuD3\nwCuAbcAjwGXe+8eiY474jEHdRum0BJibmsR9U1cHO3bIqmhJpvM0D3Men+GTtPKPI7p/Vcb79Ja3\nyHtrq8QUtAlec/PhMYbFi7NXXjMMY3wzlmcMLwA2ee87AZxztwEXA48VOqnctLYGo7t+vbzX1ckK\naLlEoYqDfJ/X8z3eMGJRgLAuc7wSnK6VoDMEW2/ZMIwjwdEQhlOBP0XftwLnHYVxZBHXAqxeDYsW\nyecvfzmsnRzwfIX3sJPpfJz/GPG9KypEDKZNk/d582Q8TU1BCGxGYBjGkeJoCENRPqKW6HE4lUqR\nKoNlTOb7r14N3d1inNevl4rjXLMFcPyEV3EXrx1RYzy9fn09nH56KFaDw2cDyZ9vQmEYRjqdJl2G\n1gZHI8YwH2jx3i/MfP84MBAHoI9GjKGlJbw++1mpHchVxDZSnAvdUV/6UmmEt3JldozDYgaGYQyH\nsRxj+BVwunOuEXgCeDNw2VEYRxadnbBwoSy2s39/LvdRaTj5ZKli7uuT2UFHh2yPxcBEwTCMo8kR\nFwbv/SHn3BJgLZKu+vU4I+lokE6LC6m9HXbvLt99JkyAF74QHnpI4gca8LaV1QzDGE0cle6q3vsf\ne+/P8N7P9d6PPHo7QlIpmDsX/vKX8t5n0iQRhe3bZWZSTFaRdUY1DONIM+5bYixZAr/7nfj6danM\nUlNVBSecAH/3dyII27cXX6BmnVENwzjSjMv1GOKn8Bkz5Mm9HIFmxXsRnvnzpYK5ocEK0wzDGL2M\nyxlDa2swyO3tcOON8MQTpb9PZSWcfbZULK9YEVxHnZ2Dr59QqP23YRhGORmXwtDRIYa5vR3Wri3f\nfZyToHZrq7iPUikRhQsvLHyeVTgbhnE0GTfCED+Fr18vlc3d3aF5XanQorW6Omm+N3++uI3Wrw/C\ncMklpbufYRhGqRk3wpDkttvg978v/XX7+2UthZoa+MpXwpN/a+vwnvzNdWQYxpFm3ASf40VramrK\nIwogM5B9+6RmIZ6lnHnm8K5nwmAYxpFmXM4YTjhBVkUrNVVVMHOmiMCaNdn7rrqq9PczDMMoB+Nq\nBbclS+COO0Jb61JRVSWzkP37pU5hwYIQQLYnfsMwjhSl6pU0roQBxLXzspeV5loVFTB5sriOGhqk\n/9E558jswATBMIwjTamEYdzEGFaulLYXpRKFmTPh3HMlw2jBAgkub9smWUgmCoZhjGXGjTAsXSpP\n86XgtNPgIx+R9tzNzbLNOqMahnGsMG6Cz0uWyEI8I8E5mDUL3vEOERpFV3sDEwbDMMY+42bG0NY2\n8mtMnw4f/ODh22ORMAzDGOuMmxnDhg0jO//EE6WSuaMDVq0K2y3zyDCMY41xIwzDaXvhnLS4OPlk\nCSwrjY3Wv8gwjGOXceNKGg4/+xm8/OXwylce7ZEYhmEcOcbNjCEui3AFsnyPOw6OP17Wf87nIjLX\nkWEYxzLjrsBNrp9/+9vfLlXMl1xiAmAYxtiiVAVu42bGkI/KSplNXHSRfG9uNkEwDGN8My6FYRRO\nkgzDMEYNFnw2DMMwshi2MDjnWpxzW51zv8m8/iHa93Hn3B+dcxudc6+Ktp/rnHs0s++LIx28YRiG\nUXpGMmPwwLXe++dmXj8GcM6dBbwZOAtYCHzZub+Ge28ArvDenw6c7pxbOIL7H3XSugrPKGcsjHMs\njBFsnKXGxjk6GakrKVf0+2LgVu99n/e+E9gEnOecOwU43nu/LnPct4BFOc4fM4yV/1jGwjjHwhjB\nxllqbJyjk5EKw3udc+udc193ztVmts0EtkbHbAVOzbF9W2a7YRiGMYooKAzOuXszMYHk6yLELfQs\noAn4M/D5IzBewzAMo8yUpMDNOdcI3OW9P8c5dxWA935FZt8aYBnQBdzvvX92ZvtlwALv/XtyXM8S\nSg3DMIbBUS1wc86d4r3/c+br64BHM5/vBG5xzl2LuIpOB9Z5771zbo9z7jxgHfA24Lpc1y7FDzMM\nwzCGx0gK3K5xzjUh2UmPA+8G8N5vcM7dDmwADgFXRv0trgRagcnAPd77NSO4v2EYhlEGRmWvJMMw\nDOPoccQrn51zb3TO/Y9zrt8597zEviEVxjnnJjnnvpPZ3u6cazhCv2FhZox/dM597EjcM3H/bzjn\ntjvnHo22Tc8kC/zBOfeTKEvsqBQcOudOc87dn/m3/p1z7n2jdJzVzrmHnXMdzrkNzrn/GI3jjO5R\nmSkovWu0jtM51+mc+21mnOtG8ThrnXN3OOcey/zbnzfaxumcO8OFIuLfOOd2O+feV/Zxeu+P6As4\nE/hb4H7gedH2s4AOoApoROofdEazDnhB5vM9wMLM5yuBL2c+vxm47QiMvzIztsbMWDuAZx/hv+FL\ngOcCj0bbPgt8NPP5Y8CK4f5dSzTGeqAp87kG+D3w7NE2zsw1j8u8TwDagfNH4zgz1/0g8G3gztH4\n75655uPA9MS20TjOVcA7on/7qaNxnNF4K5AM0NPKPc6SD34IPzIpDB8HPhZ9XwPMB04BHou2Xwp8\nJTrmvOgf9qkjMO4XAmui71cBV/3/9s7mRasyjMPXL9TS6QsTRlBjZtMmolRo0SeCJRMZBEG2CHHR\nqkUrF/lPFG0jWrgQ+pyKCMJq4So0Z/owhpI2OjLjRKARQYS/Fs9znHNejOrNM+de3BcMPO99eM+5\n5pmZ9z5zPx9ngP6bopsYFoDJ2t4KLIzbrz35zgJ7I3sCm4CTwN0RPYHtwHFgD2UWYMifOyUx3DES\nC+VJSQI/XSMeynPE7XHgxFp4RtpEb5yFcduAcwC2/wQuSdrcs+fVa454Ds2k7eXaXgYma3vwBYcq\n05l3Al9G9JR0g6T56vOF7TMRPYFXgMNA+0G1ET0NHJd0StILQT2ngRVJb0o6Lel1SRMBPdscAI7V\ndq+evSQG/f3CuP19XG+NCT9a73JLEMJT0s3Au8BLtn9tH4viafuK7fsod+SPSNozcnxwT0lPAhdt\nz3HtrWhCeFYetL0TmAFelPRw+2AQz3XALkopehfwG+W//6sE8QRA0gZgP/D26LE+PHt5HoPtcZ6S\nvEipnTVsp2S4xdoejTfvuRO4IGkdcJvtX8a49v/x3EE3Ew/FsqSttpdU9qW6WOP/pV8Xr6eQpPWU\npHDU9mxUzwbblyR9DOwO6PkA8JSkJ4CbgFslHQ3oiev6Jtsrkt4H7g/oeR44b/tkff0OpQyzFMyz\nYQb4yvZKfd1rfw5dSmrf+XwIHJC0QdI0qwvjloDLdcaAKAvjPmi952BtPwN8tgbOpyg7w07VLP5s\n9Riadl8cpNT0m/i/7dfZ0ZOOSz3nG8D3tl8N7LmlmdEhaSPwGDAXzdP2Eds7bE9TSgqf234+mqek\nTZJuqe0JSl3822ie9fznJN1VQ3uBM8BHkTxbPMdqGanx6c+zj0GSfxhAeZpSo/8dWAI+aR07QhlF\nXwD2teK7Kb9cZ4HXWvEbgbeAHymzSabW6HuYocyyOQu8PEAfHgMuAH/UvjwEbKYMTP4AfArcPm6/\nXifHhyi18HnKB+0cZRv2aJ73AKer5zfA4RoP5Tni/Cirs5JCeVJq9/P167vm7yOaZz3/vZTJBl8D\n71EGpCN6TgA/U3anbmK9euYCtyRJkqTD0KWkJEmSJBiZGJIkSZIOmRiSJEmSDpkYkiRJkg6ZGJIk\nSZIOmRiSJEmSDpkYkiRJkg6ZGJIkSZIOfwHUpA8JMiGk4AAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remember the projection formula $c = \\hat{u} \\cdot \\vec{v}$. \n", "\n", "We now need to calculate the projection coefficients $c$ for each component $\\hat{u}$ and each voxel (each $\\vec{v}$).\n", "\n", "This will give us a new output matrix of coefficients $C$ which is shape `(2, N)`, where the rows give the coefficients for one component, and the columns give the coefficients for one voxel.\n", "\n", "For example, `C[0, 0]` will be the result of `V[0].dot(X[:, 0])`, `C[0, 1]` will be the result of `V[0].dot(X[:, 1])`, and `C[1, 0]` will be the result of `V[1].dot(X[:, 0])`.\n", "\n", "With that background, see if you can use matrix multiplication to calculate the projection coefficients `C` for projecting the data `X` onto the vectors in `V`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculate the projection coefficients for projecting X onto the vectors in V\n", "# Put the result into a new array C.\n", "C = V.dot(first_two)\n", "C.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 22, "text": [ "(2, 122880)" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remember that `C` - the projection coefficients - has one column per voxel. We can think of each row as corresponding to a volume where the volumes are contained in: `C[0]` (first row of `C`) - projection coefficients for first principal component; `C[1]` (second row of C) - projection coefficients for second principal component." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Take the transpose of `C` and reshape the resulting first dimension (length `N`) back to `vol_shape` - the original shape of the 3D volumes in the data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Transpose C\n", "# Reshape the first dimension of C to have the 3D shape of the original data volumes.\n", "C_vols = C.T.reshape(vol_shape + (2,))\n", "C_vols.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 23, "text": [ "(64, 64, 30, 2)" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Break this 4D array up into two volumes (volume for first component, volume for second component) using slicing:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Break 4D array into two 3D volumes\n", "vol0 = C_vols[..., 0]\n", "vol1 = C_vols[..., 1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Show the middle slice (slice over the third dimension) from the volume of coefficients for the first component:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Show middle slice (over third dimension) from volume of coefficients for first component\n", "plt.imshow(vol0[:, :, 14], cmap='gray')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 25, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Show the middle slice (slice over the third dimension) from the volume of coefficients for the second component:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Show middle slice (over third dimension) from volume of coefficients for second component\n", "plt.imshow(vol1[:, :, 14], cmap='gray')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 26, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nRK5CYII=\n", "text": [ "" ] } ], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are ready to do the same thing for all the time points, instead of just the first two." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Take the original array data matrix with `n_vols` volumes. Reshape to be shape `(N, nvols)`. Take the transpose to get an array shape `(n_vols, N)`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Reshape first dimension of whole image data array to N, and take transpose\n", "arr = data.reshape(N, n_vols).T\n", "arr.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": [ "(173, 122880)" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculate the mean across columns (mean per volume). Make this 1D vector (shape `(n_vols,)`) vector into a column vector (shape `(n_vols, 1)`). Subtract this array from the `(n_vols, N)` data array to remove the mean across columns (mean per volume) (broadcasting will extend the single mean column to N repeats for the subtraction). Call this mean-corrected variable `X`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculate mean across columns\n", "# Reshape mean to a column vector\n", "# Subtract from data array to remove mean over columns (row means)\n", "# Put result into array X\n", "row_means = arr.mean(axis=1)\n", "X = arr - row_means.reshape(n_vols, 1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get the unscaled covariance matrix of X:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculate unscaled covariance matrix of X\n", "unscaled_covariance = X.dot(X.T)\n", "unscaled_covariance.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 29, "text": [ "(173, 173)" ] } ], "prompt_number": 29 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get U, S, V outputs from the SVD of the unscaled covariance" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculate U, S, V with SVD on unscaled covariance matrix\n", "U, S, V = npl.svd(unscaled_covariance)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use `plt.subplots` to make a column of 10 axes. Iterate over these axes, plotting one principal component vector per axis. You should then have a plot of each of the first 10 principal component vectors:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Use subplots to make axes to plot first 10 principle component vectors\n", "# Plot one component vector per sub-plot.\n", "fig, axes = plt.subplots(10, 1)\n", "for i, ax in enumerate(axes):\n", " ax.plot(V[i])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use `V` and matrix multiplication to calculate the projection coefficients for projecting the data `X` onto the principal components `V`. Put the result into `C`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculate projection coefficients for projecting X onto V\n", "# Put results into array C.\n", "C = V.dot(X)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remember, each row of `C` is a full volume of projection coefficients, one row per principal component." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reconstruct these rows as volumes by taking the transpose of `C` and reshaping the first dimension length `N` to the original three dimensions of the original data volumes." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Transpose C\n", "# Reshape the first dimension of C to have the 3D shape of the original data volumes.\n", "C_vols = C.T.reshape(img.shape)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Take the first volume (corresponding to the first principal component) and display the middle slice (slicing over the third dimension):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Show middle slice (over third dimension) of first principal component volume\n", "plt.imshow(C_vols[:, :, 14, 0], cmap='gray')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 34, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\naSKyGcAogPtUdSuAIVUdm7s6CmBowpIQQnpCmTf9WwCWicgMAD8VkYtcvYpI0z8/IyMjAGpvn+Hh\nYVQqlQkJTAh5O9VqFdVqtdS5pUfvVfUFEfkJgPcDGBWRuaq6X0TmATjQ7LoxpfejuISQzlGpVJIX\n6qpVq5qeGyq9iMwB8IaqPi8iRwG4BMAqAGsBXAvglvr/d40nVCs+/TgylWrHn2f9Tr8Pu93nzsti\nz40y9fg2rT/nfbtoqqb1V31/dkzBjy9EKwy9X22x4Ta/n1s01daGL71vHvVnfXrvt9tjPy5h/XHr\nwwNp6M+HAS0+7BhN2x4aOuSx+vt54oknivJpp52W1NmXm8+YZPvz33s0jhWFotthvDf9PACrRWQa\nav7/GlW9V0Q2AbhdRD4NYDeAqycsCSGkJ4RKr6pbAJzb4PODAC7ullCEkO4x8Ek0IvwMuahNm+v+\nuuuuS+q2bNlSlKNVWj5MFq3gisx7K3e0H1/0XLwJH4Xz7Iq1yHT0WHPUm6q2/yj3e5Tz37sFFr+l\ndrTFta3zslh3wj8zm1TDm/DWFXjPe96T1C1YsKDpddY98y5fWbq9Oo9z7wnJDCo9IZlBpSckMwZi\nlV2nViNFYSs7xdRP44x8OyuL39s92qzBrvby92fDUd4/nT17dlH29xCFg6wf7/uL5LT358ce7LH3\nlaN9/KIpwba/aIp1NNbgpzzblYN+xZ+dKu1lts/Xt2n9dn+dHW/wzyUKA7Y7jtVpH59vekIyg0pP\nSGYMhHkfmfOR6e9Nx2gLaGv+etPYm/uWOXPmFGVv/tqQk8+Xb5Mp+MQV9h4iE96HfCLT0d5TlEgi\nembejLUJRfz23pYomYl/1ja85r/3KEmIrfPPxYcoLdZst6Y+kD5P/90+9thjRfnd7353UmefoV9l\nZ78//6wjl8XCkB0hpKNQ6QnJDCo9IZkxED69J1pxZOuiveT9tFh7rve17LH3u2w7Pqzjjy12LMD7\n+9Z/jFav+Xu313m/3fqr3neNNtCwKwx9UlDbjk9GGWWIsc/Th7Ss3F5OGy71927l9Jl6bELPnTt3\nJnW2f3+d7eOkk05K6mx2HLuqDgCuuuqqouyfp72/sj48UP433wl/n296QjKDSk9IZvRtlZ2l3Rl4\n3kyP+rPmmp91Z00ym5gSSMM6NrECkJr3flWYNV0jV8ObxjaE5uWM6qKEF9as9eEtexwlv/Cz+uw9\n+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\nZlDpCcmM/we/Wo85/1c8zgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 34 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What does this first component show us?\n", "\n", "Remember that the projections coefficients tell us how much of the component vector there is in the data, at each voxel. If the voxel has a high value it means there is a large amplitude of the component time-course at this voxel, and if the component is dark it means there is a large negative amplitude of the component time course.\n", "\n", "Have a look again at the first component time course. How would a large positive or negative amplitude of the time course come about?\n", "\n", "As a hint while you are thinking, get the mean over time from the image data (mean over the last axis), and show the middle slice (slicing over the third axis):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Make the mean volume (mean over the last axis)\n", "# Show the middle slice (slicing over the third axis)\n", "mean_vol = data.mean(axis=-1)\n", "plt.imshow(mean_vol[:, :, 14], cmap='gray')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 35, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 35 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Display the middle slice (slicing over the third dimension) for the second principal component volume.\n", "\n", "Looking at the principal component plot - what kind of changes over time does this principal component represent?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Show middle slice (over third dimension) of second principal component volume\n", "plt.imshow(C_vols[:, :, 14, 1], cmap='gray')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 36, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n3n3Rq+xsgkvdh73Xus5mstHX5LVpVwPqz4cPH47q9L235+n7a+s0dg5Bz63YlYLeyksd7mqvr44N\nV6qEkOe6lHNIedNfC+DPAOwQke29774G4BsAviMitwA4AODzc5aGENI4KbP3D6F8wm9DveIQQppm\nJPay8/CiqLw+quQx1+d5rhtrJ2kV156nj/Ui6+zkiye3vme2P92OvWdXXnllUbauN401UbS6b5Nv\n6Ai5ycnJqE6ryjYxppbbyqLPs6rw66+/XpTtKjTdjj1P96/NAAD48Ic/XJS9fQLtvbamgCY3WYuX\nHKZuGHtPSMvgoCekZXDQE9IyBmbT5yYQzLWLquw3rj9be1HbstZe9PZ21z5Tew25e6h5oaE6xNRu\nhOFl8Um1H61r0drqZXJ6SR7ttet99qzLzpt30XMm1u2o3aXWdaqfrZepx9rw+ndg76e3Z2LTtnoq\nfNMT0jI46AlpGSPhsvNUcU/99c6zdVoltGq6Tvp47bXXRnXPPPNMUbYuu+eff74oe/nk7TV4CTy1\numjl1Nfg5fy3sjz55JNF2ebg164+m2xT92/70yq1t6LRXoM1nzTe9en+bBu6P8/Fa80eXWefrXZJ\neslFqpCbDKOOKDwN3/SEtAwOekJaBgc9IS1jJPay8xIPeivwbJ0+z7apbT27pl+7efTKOSC29Wyd\ntjOtba5DWq2LSduk1jWVmnTRXrteeWbtWm2DWntf13khyJ6rz8qcuh+g7c/7TdiVdWVt2vui768N\nM9bLvr3fmZ1D8Gz6OlZ3eja87btK4thCjspnEELe03DQE9IyhhaRl5oDvEoUk1Yzreqoo7GWLl0a\n1enECz/60Y9K27TRXjpKzaqAOmLNZg/SLkKbxNJLfqlVO7vvnG7TJo7Uq9Csiquj4GzkWaoJ5rlH\nvWuwqqpn2ujn50W62Tp9nu1Pm2s2Wk8n1LTRh6nmpyXV9eZtxZ2jzlv4piekZXDQE9IyOOgJaRkj\nEYbrUcVm8uwdbbPZUFR9nrXfdH/Lli0rbdMmzVy+fHlR1nveAbGNXSVcWNvjts1bbrmlKFv32qZN\nm4qyDisGYrejnQfxnpE+Njcc2vtNWPvbm+fx2tSuPvuMtGynn356VHfuuecWZTsno+dh7FxOHSGz\nTcwTaPimJ6RlcNAT0jJGIolGFReMlwyjrA0gdnscOHAgqtOqnU0WoVVsq+bpFWp67zogViWtC832\n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\n", "text": [ "" ] } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do the same for the third principal component volume:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Show middle slice (over third dimension) of third principal component volume\n", "plt.imshow(C_vols[:, :, 14, 2], cmap='gray')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 37, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 37 } ], "metadata": {} } ] }