{ "metadata": { "name": "", "signature": "sha256:0c67908c53af094d11707ef17096da64bbfc5cb02845cf7eda284c5ce2447de2" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Modules and scripts" ] }, { "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 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 nibabel as nib" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's say I have a function that loads a 4D image, and a list with mean values across all voxels in each volume:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def vol_means(image_fname):\n", " img = nib.load(image_fname)\n", " data = img.get_data()\n", " means = []\n", " for i in range(data.shape[-1]):\n", " vol = data[..., i]\n", " means.append(np.mean(vol))\n", " return means" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's check that works:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "my_means = vol_means('ds107_sub012_t1r2.nii')\n", "plt.plot(my_means)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This seems like a useful function to me. I want to make a module called `mymodule` so I can do this:\n", "\n", "```\n", "import mymodule\n", "means = mymodule.vol_means('ds107_sub012_t1r2.nii')\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In fact, what I would really like to do, is to be able to have a script called `my_script.py` that prints the scan means out to the terminal window like this:\n", "\n", "```\n", "import mymodule\n", "means = mymodule.vol_means('ds107_sub012_t1r2.nii')\n", "print(means)\n", "```\n", "\n", "And I want to be able to run it like this from the command line:\n", "\n", "```\n", "python my_script.py\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Python *module* is a Python file with functions (and other things) that other modules and scripts may use. These other modules and scripts will `import` the module.\n", "\n", "A script is a file that you can run with `python my_script.py` that will do some processing, and usually print something to the screen, put up a plot or save some data to the filesystem.\n", "\n", "You store modules in files ending in `.py`. For example, the module `mymodule` would be in a file called `mymodule.py`.\n", "\n", "A module needs to 'import' everything it uses." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can store scripts with any extension, but it is common to use `.py` extensions for Python scripts as well." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's go to the text editor and the terminal, and create the module `mymodule.py` and the script `my_script.py`." ] } ], "metadata": {} } ] }