{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Combined slice timing and motion correction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nipy has a routine that combines the calculation of the motion between scans, and the slice time interpolation.\n", "\n", "You can imagine that, as the motion correction moves the slices, we might want to take into account the fact that the slices in the images now correspond to different times of acquisition.\n", "\n", "Nipy has a routine that does that by combining slice time correction with simultaneous motion correction.\n", "\n", "See:\n", "\n", "Roche, Alexis (2011) A four-dimensional registration algorithm with application\n", "to joint correction of motion and slice timing in fMRI. *Medical Imaging, IEEE\n", "Transactions on*; 30:1546--1554" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# - make numpy print numbers to 4dp only\n", "np.set_printoptions(precision=4, suppress=True)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "# - set gray colormap and nearest neighbor interpolation by default\n", "plt.rcParams['image.cmap'] = 'gray'\n", "plt.rcParams['image.interpolation'] = 'nearest'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We load the 4D image to which we will apply the algorithm:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import nipy" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "img = nipy.load_image('ds114_sub009_t2r1.nii')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To calculate the slice timing, we need the image TR. In our case, we can see the TR recorded in the `db_name` and `pixdim` fields of the header, but this is often not the case, and we will have to get the TR from some other source such as the original DICOM files or our lab notebook written when we acquired the data." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object, endian='<'\n", "sizeof_hdr : 348\n", "data_type : \n", "db_name : ?TR:2500.000 TE:50\n", "extents : 0\n", "session_error : 0\n", "regular : r\n", "dim_info : 0\n", "dim : [ 4 64 64 30 173 1 1 1]\n", "intent_p1 : 0.0\n", "intent_p2 : 0.0\n", "intent_p3 : 0.0\n", "intent_code : none\n", "datatype : int16\n", "bitpix : 16\n", "slice_start : 0\n", "pixdim : [-1. 4. 4. 4. 2.5 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 : 255\n", "glmin : 0\n", "descrip : \n", "aux_file : \n", "qform_code : scanner\n", "sform_code : scanner\n", "quatern_b : 0.0\n", "quatern_c : 0.9958999753\n", "quatern_d : -0.0904608666897\n", "qoffset_x : 124.244003296\n", "qoffset_y : -103.449684143\n", "qoffset_z : -33.4928588867\n", "srow_x : [ -4. 0. 0. 124.244]\n", "srow_y : [ 0. 3.9345 0.7207 -103.4497]\n", "srow_z : [ 0. -0.7207 3.9346 -33.4929]\n", "intent_name : \n", "magic : n+1\n" ] } ], "source": [ "print(img.metadata['header'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In fact nipy has taken the TR information out of the header, and put it into the 4th row, 4th column of the 5D affine matrix for this image:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[ -4. , 0. , 0. , 0. , 124.244 ],\n", " [ 0. , 3.9345, 0.7207, 0. , -103.4497],\n", " [ 0. , -0.7207, 3.9346, 0. , -33.4929],\n", " [ 0. , 0. , 0. , 2.5 , 0. ],\n", " [ 0. , 0. , 0. , 0. , 1. ]])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "img.affine" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.5" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TR = img.affine[3, 3]\n", "TR" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before we get going, we drop the first four scans because of the T1 effect (see the diagnostics notebook):" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "img = img[..., 4:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are ready to do the combined motion and slice-time correction." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import nipy.algorithms.registration as reg" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have to specify the times at which the slices were acquired, relative to the beginning of the volume. We can do this by passing in the times as an array, or by passing in a function that returns the times, given the TR and number of slices, but we can also select common schemes by passing in a string such as \"ascending\" (slices acquired sequentially from bottom to top). Here we've specified that this acquisition acquired the second slice in space first in time, and then alternate slices to the top slice, followed by the first slice in space, and alternate slices to the top slice. We call this `asc_alt_2_1` - but see `nipy.algorithms.slicetiming.timefuncs` for a collection of these functions with their standard names.\n", "\n", "`slice_info=2` tells nipy that the third image axes is the slice axis - meaning that the first slice collected in time was `img[:, :, 1, 0]`, the second slice collected was `img[:, :, 3, 0]` and so on." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "realigner = reg.SpaceTimeRealign(img, TR, \n", " slice_times='asc_alt_2_1',\n", " slice_info=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The estimation step takes a fairly long time:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "realigner.estimate()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The estimation step results in a list of transforms, one list for each run. We only have one run, so we have a list with a single entry:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "transforms = realigner._transforms\n", "len(transforms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each list has a transform object corresponding to every volume in the run. These transform objects give the transformation to match each scan to the first:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "169" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_0_xforms = transforms[0]\n", "len(run_0_xforms)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_0_xforms[0]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. 0. 0. 0.]\n", " [ 0. 1. 0. 0.]\n", " [ 0. 0. 1. 0.]\n", " [ 0. 0. 0. 1.]]\n", "[[ 1. -0.0002 -0.0003 0.0091]\n", " [ 0.0002 1. 0.0011 0.0538]\n", " [ 0.0003 -0.0011 1. -0.0132]\n", " [ 0. 0. 0. 1. ]]\n" ] } ], "source": [ "affines = [t.as_affine() for t in run_0_xforms]\n", "print(affines[0])\n", "print(affines[1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can get the translations and rotations from the affines, like this:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(169, 3)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "translations = np.array([aff[:3, 3] for aff in affines])\n", "translations.shape" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(translations[:, 0], label='x trans')\n", "plt.plot(translations[:, 1], label='y trans')\n", "plt.plot(translations[:, 2], label='z trans')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It takes a little more math to get the rotation (Euler) angles out of the affines, but not much:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "rotations = np.array([reg.aff2euler(aff) for aff in affines])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(rotations[:, 0], label='pitch')\n", "plt.plot(rotations[:, 1], label='roll')\n", "plt.plot(rotations[:, 2], label='yaw')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can generate a new 4D image with the estimated slice time and motion effects removed, using the `resample` method of the realigner object:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[Image(\n", " data=array([[[[ 0. , 0.000074, ..., 0.001222, 0.00045 ],\n", " [ 0. , 0.000085, ..., 0.000712, 0.001389],\n", " ..., \n", " [ 0. , 0.051972, ..., 0. , 0. ],\n", " [ 0. , 0.058916, ..., 0. , 0. ]],\n", " \n", " [[ 8. , 8.71661 , ..., 6.583172, 6.394062],\n", " [ 11. , 9.945651, ..., 8.784552, 10.173548],\n", " ..., \n", " [ 19. , 19.464956, ..., 20.643818, 16.838831],\n", " [ 28. , 24.863324, ..., 15.206551, 23.127875]],\n", " \n", " ..., \n", " [[ 0. , -0.048841, ..., -0.406789, -0.30147 ],\n", " [ 0. , -0.043404, ..., -0.406128, -0.192357],\n", " ..., \n", " [ 0. , -0.024625, ..., -0.005713, -0.000287],\n", " [ 0. , -0.013569, ..., 0.038333, -0.005998]],\n", " \n", " [[ -0. , -0. , ..., -0. , -0. ],\n", " [ -0. , -0. , ..., -0. , -0. ],\n", " ..., \n", " [ -0. , -0. , ..., 0.00019 , 0.000001],\n", " [ -0. , -0. , ..., -0.001327, 0.00003 ]]],\n", " \n", " \n", " [[[ 0. , 0.000086, ..., 0.001798, 0.000651],\n", " [ 0. , 0.000105, ..., 0.001728, 0.001786],\n", " ..., \n", " [ 0. , 0.036844, ..., -0.000008, -0.000009],\n", " [ 0. , 0.075551, ..., 0.000986, 0.000757]],\n", " \n", " [[ 10. , 9.902349, ..., 6.602799, 6.440941],\n", " [ 11. , 11.012152, ..., 9.631838, 11.075408],\n", " ..., \n", " [ 17. , 17.718577, ..., 22.038153, 23.378773],\n", " [ 24. , 30.842781, ..., 21.837303, 21.106181]],\n", " \n", " ..., \n", " [[ 0. , -0.044215, ..., -0.354631, -0.261918],\n", " [ 0. , -0.060915, ..., -0.400697, -0.18033 ],\n", " ..., \n", " [ 0. , -0.05253 , ..., 0.002833, -0.00158 ],\n", " [ 0. , -0.023525, ..., 0.097541, -0.012447]],\n", " \n", " [[ -0. , -0. , ..., -0. , -0. ],\n", " [ -0. , -0. , ..., -0. , -0. ],\n", " ..., \n", " [ -0. , -0. , ..., -0.000095, 0.000008],\n", " [ -0. , -0. , ..., -0.003408, 0.000068]]],\n", " \n", " \n", " ..., \n", " [[[ -0. , -0. , ..., -0.000002, -0. ],\n", " [ -0. , -0. , ..., -0. , -0. ],\n", " ..., \n", " [ 0. , 0.033435, ..., -0.000264, 0.000322],\n", " [ 0. , 0.019564, ..., -0.000798, 0.000842]],\n", " \n", " [[ 1. , 1.047769, ..., 1.63396 , 1.124314],\n", " [ 1. , 1.036284, ..., 0.512662, 1.012188],\n", " ..., \n", " [ 22. , 22.417285, ..., 18.379695, 17.671441],\n", " [ 14. , 13.5802 , ..., 14.135155, 21.798035]],\n", " \n", " ..., \n", " [[ 0. , 0.010414, ..., -0.010052, 0.047399],\n", " [ 0. , 0.007181, ..., -0.008071, 0.040042],\n", " ..., \n", " [ 0. , -0.000027, ..., 0.000722, -0.002334],\n", " [ 0. , 0.000015, ..., 0.005098, -0.000482]],\n", " \n", " [[ -0. , -0.000034, ..., -0. , -0.000478],\n", " [ -0. , -0.000015, ..., -0. , -0.00048 ],\n", " ..., \n", " [ 0. , 0. , ..., -0.000033, 0.000062],\n", " [ 0. , 0. , ..., -0.00024 , 0.000013]]],\n", " \n", " \n", " [[[ -0. , -0. , ..., -0.000008, -0. ],\n", " [ -0. , 0. , ..., -0.000009, -0. ],\n", " ..., \n", " [ 0. , 0.018632, ..., 0.000026, -0.000035],\n", " [ 0. , 0.024002, ..., 0.00008 , -0.000092]],\n", " \n", " [[ 1. , 0.990233, ..., 1.592441, 1.131572],\n", " [ 1. , 0.982283, ..., -0.393777, 0.963152],\n", " ..., \n", " [ 14. , 14.48239 , ..., 23.796226, 15.148474],\n", " [ 20. , 16.539546, ..., 20.393632, 9.952056]],\n", " \n", " ..., \n", " [[ 0. , 0.009584, ..., -0.011668, 0.047645],\n", " [ 0. , 0.005408, ..., -0.006562, 0.039168],\n", " ..., \n", " [ 0. , 0. , ..., -0.000067, 0.000221],\n", " [ 0. , -0. , ..., -0.00046 , 0.000048]],\n", " \n", " [[ -0. , -0.00003 , ..., -0. , -0.000537],\n", " [ -0. , -0.000011, ..., -0. , -0.000464],\n", " ..., \n", " [ 0. , 0. , ..., 0.000003, -0.000006],\n", " [ 0. , 0. , ..., 0.000022, -0.000001]]]]),\n", " coordmap=AffineTransform(\n", " function_domain=CoordinateSystem(coord_names=('i', 'j', 'k', 'l'), name='voxels', coord_dtype=float64),\n", " function_range=CoordinateSystem(coord_names=('scanner-x=L->R', 'scanner-y=P->A', 'scanner-z=I->S', 't'), name='scanner', coord_dtype=float64),\n", " affine=array([[ -4. , 0. , 0. , 0. , 124.244003],\n", " [ 0. , 3.934535, 0.720723, 0. , -103.449684],\n", " [ 0. , -0.72072 , 3.934551, 0. , -33.492859],\n", " [ 0. , 0. , 0. , 1. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 1. ]])\n", " ))]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resampled = realigner.resample()\n", "resampled" ] } ], "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.11" } }, "nbformat": 4, "nbformat_minor": 0 }