{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Finding faces, with processed data" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "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", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "nibabel: 2.0.0\n", "nipy: 0.3.0\n" ] } ], "source": [ "import nibabel as nib\n", "print \"nibabel:\", nib.__version__\n", "import nipy\n", "print \"nipy:\", nipy.__version__" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "img = nib.load('srabold.nii.gz')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "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 : 0.0\n", "scl_slope : nan\n", "scl_inter : nan\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" ] } ], "source": [ "print(img.header)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Defaults for plotting" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "plt.rcParams['image.cmap'] = 'gray'\n", "plt.rcParams['image.interpolation'] = 'nearest'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Loading the image may take a little while:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(40, 64, 64, 121)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = img.get_data()\n", "data.shape" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(data.mean(axis=-1)[:, :, 30])" ] }, { "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", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "event_types = ['house', 'scrambled', 'cat', 'shoe', 'bottle', 'scissors', 'chair', 'face']" ] }, { "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", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "from os import path as osp\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)" ] }, { "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", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "os.path.isdir(SUB1_TASK_PATH)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Look in this path:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "['cond001.txt',\n", " 'cond008.txt',\n", " 'cond005.txt',\n", " 'cond006.txt',\n", " 'cond007.txt',\n", " 'cond003.txt',\n", " 'cond004.txt',\n", " 'cond002.txt']" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "os.listdir(SUB1_TASK_PATH)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What are in these files?" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "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" ] } ], "source": [ "COND1_FNAME = os.path.join(SUB1_TASK_PATH, 'cond001.txt')\n", "print(open(COND1_FNAME, 'rt').read())" ] }, { "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": [ "We can actually do :" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "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', '" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(X/X.std(axis=0), interpolation='nearest', aspect='auto')" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from nipy.modalities.fmri.glm import GeneralLinearModel\n", "\n", "\n", "sh = img.shape[:-1]\n", "Y = img.get_data().reshape(np.prod(sh), n_scans)\n", "glm = GeneralLinearModel(X)\n", "glm.fit(Y.T)\n" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# specify the contrast [1 -1 0 ..]\n", "contrast = np.zeros(X.shape[1])\n", "contrast[:8] = [-1, -1, -1, -1, -1, -1, -1, 7]\n" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# compute the constrast image related to it\n", "zvals = glm.contrast(contrast).z_score()\n", "contrast_image = nib.Nifti1Image(np.reshape(zvals, sh), img.get_affine())\n" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(40, 64, 64)" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "con_img = np.reshape(contrast_image.get_data(), img.shape[:-1])\n", "con_img.shape" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(con_img[..., 30])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Can you find any face activity you believe?" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }