{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Finding faces, with processed data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You'll need the processed data from the website. Use your web browser to download http://nipy.bic.berkeley.edu/practical_neuroimaging/srabold.nii.gz into this current directory, or do:\n", "\n", "`curl -O http://nipy.bic.berkeley.edu/practical_neuroimaging/srabold.nii.gz`\n", "\n", "in the terminal / shell (for OSX and Linux)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import nibabel as nib" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "img = nib.load('srabold.nii.gz')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "print(img.header)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " object, endian='<'\n", "sizeof_hdr : 348\n", "data_type : \n", "db_name : \n", "extents : 0\n", "session_error : 0\n", "regular : \n", "dim_info : 0\n", "dim : [ 4 40 64 64 121 1 1 1]\n", "intent_p1 : 0.0\n", "intent_p2 : 0.0\n", "intent_p3 : 0.0\n", "intent_code : none\n", "datatype : float64\n", "bitpix : 64\n", "slice_start : 0\n", "pixdim : [-1. 3.5 3.75 3.75 1. 1. 1. 1. ]\n", "vox_offset : 352.0\n", "scl_slope : 1.0\n", "scl_inter : 0.0\n", "slice_end : 0\n", "slice_code : unknown\n", "xyzt_units : 10\n", "cal_max : 0.0\n", "cal_min : 0.0\n", "slice_duration : 0.0\n", "toffset : 0.0\n", "glmax : 0\n", "glmin : 0\n", "descrip : \n", "aux_file : \n", "qform_code : scanner\n", "sform_code : scanner\n", "quatern_b : 0.0\n", "quatern_c : 1.0\n", "quatern_d : 0.0\n", "qoffset_x : 68.25\n", "qoffset_y : -118.125\n", "qoffset_z : -118.125\n", "srow_x : [ -3.5 0. 0. 68.25]\n", "srow_y : [ 0. 3.75 0. -118.125]\n", "srow_z : [ 0. 0. 3.75 -118.125]\n", "intent_name : \n", "magic : n+1\n" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Defaults for plotting" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.rcParams['image.cmap'] = 'gray'\n", "plt.rcParams['image.interpolation'] = 'nearest'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Loading the image may take a little while:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "data = img.get_data()\n", "data.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "(40, 64, 64, 121)" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.imshow(data.mean(axis=-1)[:, :, 30])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nHLYQQnjC/wN9Sxgdv2+sLQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Why is this image blurry?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So what was the subject doing here?\n", "\n", "https://openfmri.org/dataset/ds000105\n", "\n", "* 001 House\n", "* 002 Scrambled\n", "* 003 Cat\n", "* 004 Shoe\n", "* 005 Bottle\n", "* 006 Scissors\n", "* 007 Chair\n", "* 008 Face" ] }, { "cell_type": "code", "collapsed": false, "input": [ "event_types = ['house', 'scrambled', 'cat', 'shoe', 'bottle', 'scissors', 'chair', 'face']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should have the task lists for this subject in your `~/data/ds105` directory. Let's check:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "HOME = os.path.expanduser('~')\n", "DATA_PATH = os.path.join(HOME, 'data', 'ds105')\n", "SUB1_TASK_PATH = os.path.join(DATA_PATH, 'sub001', 'model', 'model001', 'onsets', 'task001_run001')\n", "os.path.isdir(SUB1_TASK_PATH)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "True" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you got \"False\" above - you can download the zip file of the task files you need from:\n", "\n", "http://nipy.bic.berkeley.edu/practical_neuroimaging/ds105_sub001_tasks.zip\n", "\n", "Download the file, then `cd ~/data` and `unzip ~/Downloads/ds105_sub001_tasks.zip` (if you downloaded the file to your `Downloads` folder.\n", "\n", "Recheck:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.path.isdir(SUB1_TASK_PATH)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "True" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Look in this path:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.listdir(SUB1_TASK_PATH)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "['cond001.txt',\n", " 'cond002.txt',\n", " 'cond003.txt',\n", " 'cond004.txt',\n", " 'cond005.txt',\n", " 'cond006.txt',\n", " 'cond007.txt',\n", " 'cond008.txt']" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What are in these files?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "COND1_FNAME = os.path.join(SUB1_TASK_PATH, 'cond001.txt')\n", "print(open(COND1_FNAME, 'rt').read())" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "156.000\t0.5\t1\n", "158.000\t0.5\t1\n", "160.000\t0.5\t1\n", "162.000\t0.5\t1\n", "164.000\t0.5\t1\n", "166.000\t0.5\t1\n", "168.000\t0.5\t1\n", "170.000\t0.5\t1\n", "172.000\t0.5\t1\n", "174.000\t0.5\t1\n", "176.000\t0.5\t1\n", "178.000\t0.5\t1\n", "\n" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a common format for specifying events - any guesses what the columns are?\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I want to read this file to give me something I can use to specify my design. Something like this:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def evdefs_from_fname(fname):\n", " \"\"\" Get onset, duration, amplitude for event from file\n", " \n", " Parameters\n", " ----------\n", " fname : str\n", " Filename to read data from\n", " \n", " Returns\n", " -------\n", " evdefs : list of lists\n", " list, one element per event, where the elements are lists containing\n", " (onset, duration, amplitude)\n", " \"\"\"\n", " evdefs = []\n", " with open(fname, 'rt') as fobj:\n", " for line in fobj:\n", " entries = [float(e) for e in line.split()]\n", " evdefs.append(entries)\n", " return evdefs" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "# Of course we need to test\n", "evdefs = evdefs_from_fname(COND1_FNAME)\n", "assert len(evdefs) == 12\n", "assert evdefs[0] == [156.000, 0.5, 1]\n", "assert evdefs[-1] == [178.000, 0.5, 1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can actually do something neater than that:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "dtype_def = [('onset', 'f'), ('duration', 'f'), ('amplitude', 'f')]\n", "evs = np.loadtxt(COND1_FNAME, dtype_def)\n", "evs" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "array([(156.0, 0.5, 1.0), (158.0, 0.5, 1.0), (160.0, 0.5, 1.0),\n", " (162.0, 0.5, 1.0), (164.0, 0.5, 1.0), (166.0, 0.5, 1.0),\n", " (168.0, 0.5, 1.0), (170.0, 0.5, 1.0), (172.0, 0.5, 1.0),\n", " (174.0, 0.5, 1.0), (176.0, 0.5, 1.0), (178.0, 0.5, 1.0)], \n", " dtype=[('onset', '" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nRSP0f8kf4ZCt7vFyAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "np.set_printoptions(suppress=True)\n", "cons_exper" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 22, "text": [ "{'constant_0': array([ 1., 1., 1., 1., 1., 1., 1., 1.]),\n", " 'type_bottle_0': array([ 1., -0., -0., -0., -0., -0., -0., -0.]),\n", " 'type_cat_0': array([ 0., 1., -0., 0., -0., -0., -0., -0.]),\n", " 'type_chair_0': array([-0., -0., 1., -0., -0., 0., -0., 0.]),\n", " 'type_face_0': array([-0., 0., -0., 1., -0., -0., -0., -0.]),\n", " 'type_house_0': array([-0., -0., 0., -0., 1., 0., -0., -0.]),\n", " 'type_scissors_0': array([-0., -0., -0., -0., 0., 1., -0., 0.]),\n", " 'type_scrambled_0': array([ 0., -0., -0., 0., -0., -0., 1., 0.]),\n", " 'type_shoe_0': array([-0., -0., 0., 0., -0., -0., -0., 1.])}" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we make the drift terms. Here we use a spline set:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "drift = fmrid.natural_spline(t, [t.mean()])\n", "# Make confounds a little easier to display\n", "drift = drift / drift.max(axis=0)\n", "plt.figure(figsize=(10, 20))\n", "plt.imshow(drift)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 23, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nRIPYDttRzmxzLc4EQkQDIhoQ0YCIBkQ0IKIBEQ0SPWxPiDPbFy5cUC6X0+rVqyVJvb29ampqUjqd\n1po1a9TX12dZZNyNKuK2bds0f/78of/p9vZ2pdNpdXd3q66uTjt27LAsMu6qjnj69Gnt3r1bGzZs\nUAhBklQul9XS0qLa2lo1NzerVCrZFhpnVUfcvHmztmzZcsljV2dnp7LZrCQpm82qXC6PfoUJUNU3\nll27dmnGjBnK5XLq6OgYev/FPXIkbW1tQ38uFAoqFArVLCM2qor40ksvaefOndq9e7cGBgb0xhtv\naP369crn8+rq6lIul1NXV5fy+XzFz39/xImgqi/nJ554QqdOndKJEyf03HPPacWKFfrJT36ihoYG\nFYtF9ff3q1gsqrGx0b3eWLIM2xe/O7e2tqqnp0eZTEZnzpzRxo0bHTcfe6kQ9YHMdYepVKTHzi99\n6UsjbvPyyy9Hus9z586NuE1/f3+k26q0do5YDDh2NiCiARENiGhARAMiGhDRgIgGiR62uRZnAiGi\nARENiGhARAMiGhDRgIgGiR62ObM9gRDRgIgGRDQgogERDYhoQESDRA/bUc9sM2wnABENiGhARAMi\nGhDRgIgGRDSI7bDtfHklhu0EIKIBEQ2IaEBEAyIaENGAiAZENIjtEYvzKIMjlgQgogERDYhoQEQD\nIhoQ0YCIBrEdtqP8eCDKNhLDdiIQ0YCIBkQ0IKIBEQ2IaEBEg9gO2/yW6SRDRAMiGhDRgIgGRDQg\nogERDRI9bHPh+wRCRAMiGhDRgIgGRDQgogERDYhoENsjlihHGRyxTCBENCCiARENiGhARAMiGhDR\nILbDNs+LM8kQ0YCIBkQ0IKIBEQ2IaEBEg9gO21yLM8kQ0YCIBkQ0IKIBEQ2IaEBEg9gO21GfriWK\nqEN51bc/prc+SRDRgIgGRDQgogERDYhoQEQDIhrE9oglylEGT0I5gRDRgIgGRDQgogERDYhoQESD\nRA/bPAnlBEJEAyIaENGAiAZENCCiARENEj1sRz2zzbU4CUBEAyIaENGAiAZENCCiARENEj1sc2Z7\nAiGiARENiGhARAMiGhDRgIgGiR62uWZ7AiGiARENiGhARAMiGhDRgIgGRDRI9BFL1CMRrsVJACIa\nENGAiAZENCCiARENiGgQ22E7yqn/KVOiLT+2w/abb76pr371q7rrrrs0f/58lUol9fb2qqmpSel0\n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\nTzQgogERDYhoQEQDIhoQ0YCIBgzb72HYHmdENCCiARENiGhARAMiGhDRgGH7PQzb44yIBkQ0IKIB\nEQ2IaEBEAyIaTIphO4qbbrqp6s9lTzQgogERDYhoQEQDIhoQ0YCIBkQ0mBRHLFFuiyOWcUZEAyIa\nENGAiAZENCCiAREdwhU89NBDYcaMGeHuu+8eet83vvGNkM1mQy6XC5s2bQpvvfXW0Me2bdsW5syZ\nE+bNmxcOHjxY8TZHuMtYG27tV/wXHThwIPzpT3+6JOJvf/vbcOHChXDhwoWwYcOG8MMf/jCEEMI/\n//nPkMlkwt/+9rfQ0dERcrncVS0kCYZb+xW/nJcuXarp06df8r7PfvazqqmpUU1NjT73uc9p//79\nkqRSqaR7771X6XRay5YtUwhBvb29Y/PlEzOjekx8+umntXr1aklSuVzWvHnzhj6WyWRULpdHt7qE\nqPoExLe//W1NmzZNa9eulST9b2+/VCqVqvi5bW1tQ38uFAoqFArVLmNMdXR0qKOjY+QNR3ocOHHi\nxCWPiSGE8Mwzz4QlS5aE/v7+offt3LkzPPLII0N/X7RoUXjjjTciPa78/ve/H2kZkbZx3lalbYbL\nddVfznv27NGWLVu0c+fOS17ifPHixdq7d696enrU0dGhmpoaTZs2LfL/uGMb521FvT9phC/ndevW\naf/+/Xrttdc0e/Zsfetb39J3vvMdvf3221q5cqUk6VOf+pS2b9+umTNnqrW1VStWrNDUqVP1gx/8\nIPIiku6KEX/2s59d9r7m5uZht9+0aZM2bdo0+lUlzYgPDmbLli0LkhL5tmzZsor/plQIFb6t4qpw\n7GxARAMiGox7xAMHDmjevHmaO3eunnrqqcs+3tzcrJkzZ2rhwoXD3sapU6e0fPlyLViwQIVCQc8+\n++xl2wwMDKihoUH19fVqbGzU1q1bh729CxcuKJfLDR3SjuhafmeupL6+Puzfvz+cPHkyZDKZcPbs\n2Us+XulM0gf94x//CK+++moIIYSzZ8+GO+64o+LR0ptvvhlCCGFgYCAsWLAgdHd3V7y9733ve+HL\nX/5yWL16daR/w7juiefPn5ck3XPPPbrtttu0atUqlUqlS7apdCbpg2bNmqX6+npJ0q233qoFCxbo\nlVdeuWy7i8+l3dfXp3fffVe1tbWXbXP69Gnt3r1bGzZsqHg+oJJxjdjZ2alsNjv09/nz5+vQoUOj\nus3jx4/ryJEjWrx48WUfGxwc1KJFizRz5kw9/PDDmj179mXbbN68WVu2bIl01cRF4/6Y6NTb26v7\n779fW7durfhbozU1Nfrzn/+s48ePa/v27Xr11Vcv+fiuXbs0Y8YM5XK5yHuhNM4R8/m8jh49OvT3\nI0eOqLGxsarbeuedd3Tfffdp/fr1ampquuK2t99+uz7/+c9f9tDx0ksvaefOnbrjjju0bt067du3\nTw8++ODIdx7pkXMMXfzGcuLEiYrfWEKofDru/QYHB8P69evD5s2bh93m7Nmz4d///ncIIYTXXnst\nLFy4MPz9738fdvuOjo7whS98IdK/YdwjdnR0hGw2G+68886wbdu2yz7+wAMPhI997GNh6tSpoa6u\nLhSLxcu2OXjwYEilUmHRokWhvr4+1NfXh+eff/6SbQ4fPhxyuVz4+Mc/HlatWhV+9KMfjbiuqN+d\nOXY2mFDfWMYLEQ2IaEBEAyIaENGAiAb/B8jU4GHb+Sh0AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We combine that with our event design matrix:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "X, cons = fmrid.stack_designs((X_exper, cons_exper),\n", " (drift, {}))\n", "plt.figure(figsize=(20, 10))\n", "plt.imshow(X)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 24, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fit the design, the by-hand way:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Reshape the data for estimation\n", "slice_size = np.prod(data.shape[:-1])\n", "Y = np.reshape(data, (slice_size, n_trs)).T\n", "Y.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 25, "text": [ "(121, 163840)" ] } ], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "B = np.linalg.pinv(X).dot(Y)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "B.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": [ "(13, 163840)" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's make a contrast map. But, what are our contrasts?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "cons" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 28, "text": [ "{'constant_0': array([ 1., 1., 1., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0.]),\n", " 'type_bottle_0': array([ 1., -0., -0., -0., -0., -0., -0., -0., 0., 0., 0., 0., 0.]),\n", " 'type_cat_0': array([ 0., 1., -0., 0., -0., -0., -0., -0., 0., 0., 0., 0., 0.]),\n", " 'type_chair_0': array([-0., -0., 1., -0., -0., 0., -0., 0., 0., 0., 0., 0., 0.]),\n", " 'type_face_0': array([-0., 0., -0., 1., -0., -0., -0., -0., 0., 0., 0., 0., 0.]),\n", " 'type_house_0': array([-0., -0., 0., -0., 1., 0., -0., -0., 0., 0., 0., 0., 0.]),\n", " 'type_scissors_0': array([-0., -0., -0., -0., 0., 1., -0., 0., 0., 0., 0., 0., 0.]),\n", " 'type_scrambled_0': array([ 0., -0., -0., 0., -0., -0., 1., 0., 0., 0., 0., 0., 0.]),\n", " 'type_shoe_0': array([-0., -0., 0., 0., -0., -0., -0., 1., 0., 0., 0., 0., 0.])}" ] } ], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "contrast = cons['type_face_0'] - cons['type_house_0']\n", "contrast" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 29, "text": [ "array([ 0., 0., -0., 1., -1., -0., 0., 0., 0., 0., 0., 0., 0.])" ] } ], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "con_data = contrast.dot(B)\n", "con_data.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 30, "text": [ "(163840,)" ] } ], "prompt_number": 30 }, { "cell_type": "code", "collapsed": false, "input": [ "con_img = np.reshape(con_data, img.shape[:-1])\n", "con_img.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 31, "text": [ "(40, 64, 64)" ] } ], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.imshow(con_img[..., 30])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 32, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nXg7A7znl5ORg7ty5iMfjmDdvHgC/5/PVV1/hoYceQjQaxezZs1FfXz8s80m7w/7tb3+LLVu24K23\n3sJf/vIXdHZ2prvLIeXhhx/Gjh07LrJt2rQJkUgEiUQC2dnZ2Lx582UaXXhGjRqF6upqNDU14eWX\nX8a6devQ3d3t7ZzGjBmDt99+G/v27cOuXbvw3HPPIZFIeDufC3nmmWcwe/bsvqw7n+eUkZGBuro6\n7N27Fw0NDQD8ns/jjz+OSCSC9957D++99x5isdiwzCetDvvEiRMAgPnz52P69Om45557UF9fn84u\nh5y77rorUIe7oaEBK1asQGZmJiorK72a0+TJk1FUVAQAmDBhAgoKCtDY2Oj1nHpT5E+ePImenh5k\nZmZ6PR8AOHz4MLZv345f/OIXfWUFfJ9TanyDz/N566238Ic//AFjxozByJEjMW7cuGGZT1oddmNj\nI2KxWN/fZ8+ejXfffTedXQ4LF84rFov1/WLwjba2NjQ1NWHevHlez+ncuXMoLCzEpEmT8Otf/xqR\nSMTr+QDAY489hj//+c8X1d7weU4ZGRlYtGgRlixZgldffRWAv/M5fPgwTp8+jaqqKpSUlGDDhg04\nderUsMxHouMguBIiIbu7u/HAAw+guroaY8eO9XpOI0aMwP79+9HW1oZnn30We/fu9Xo+tbW1mDhx\nIuLx+EXz8HlOe/bswf79+7F+/XqsXr0aR44c8XY+p0+fRmtrK5YuXYq6ujo0NTXhb3/727DMJ60O\nu7i4+KIaCE1NTSgtLU1nl8NCcXFxXz2R5uZmFBcXX+YRhePMmTNYunQpli9fjoqKCgD+zwk4L2yV\nlZWhvr7e6/n8+9//xquvvooZM2Zg2bJl+Oc//4nly5d7PaesrCwAQH5+Pu677z5s27bN2/nMmjUL\neXl5KC8vx7XXXotly5Zhx44dwzKftDrs3hKau3fvxsGDB/Hmm2+ipKQknV0OCyUlJaipqcGpU6dQ\nU1Pj1f+EkskkVqxYgdtvvx2PPvpon93XOXV2dvaVVe3q6sIbb7yBiooKb+cDAE8++SQOHTqEAwcO\n4K9//SsWLVqEF154wds5ff311+ju7gYAHD16FDt37sS9997r7XwAIDc3F/X19Th37hxee+01/PCH\nPxye+STTTF1dXTIWiyVnzpyZfOaZZ9Ld3ZDz05/+NJmVlZUcPXp0Mjs7O1lTU5P88ssvk/fdd19y\n2rRpyYqKimR3d/flHqYz77zzTjIjIyNZWFiYLCoqShYVFSVff/11b+f03nvvJePxeHLu3LnJe+65\nJ/n8888nk8mkt/NJpa6uLlleXp5MJv2d04cffpgsLCxMFhYWJhctWpR87rnnksmkv/NJJpPJlpaW\nZElJSbKwsDC5Zs2a5MmTJ4dlPkpNF0IIT5DoKIQQniCHLYQQniCHLYQQniCHLYQQniCHLYQQniCH\nLYQQniCHLYQQniCHLYQQnvB/8YTEo6g4QjgAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Can you find any face activity you believe?" ] } ], "metadata": {} } ] }