{ "metadata": { "name": "", "signature": "sha256:2eb9938db0caf8bd62e8fa7ebfcb83a56906919da4d56e4cf5893e2bcd5479fc" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Image analysis in Python with SciPy and scikit-image\n", "\n", "From telescopes to satellite cameras to electron microscopes, scientists are producing more images than they can manually inspect. This tutorial will introduce automated image analysis using the \"images as numpy arrays\" abstraction, run through various fundamental image analysis operations (filters, morphology, segmentation), and finally complete one or two more advanced real-world examples.\n", "\n", "Image analysis is central to a boggling number of scientific endeavors. Google needs it for their self-driving cars and to match satellite imagery and mapping data. Neuroscientists need it to understand the brain. NASA needs it to [map asteroids](http://www.bbc.co.uk/news/technology-26528516) and save the human race. It is, however, a relatively underdeveloped area of scientific computing. Attendees will leave this tutorial confident of their ability to extract information from their images in Python.\n", "\n", "# Prerequisites\n", "\n", "All of the below packages, including the non-Python ones, can be found in the [Anaconda](https://store.continuum.io/cshop/anaconda/) Python distribution, which can (and should) be obtained for free. (Though some may need `conda install`ing.)\n", "\n", "## Required packages\n", "\n", "- scikit-image (0.10 or higher)\n", "\n", "Required for scikit-image:\n", "\n", "- Python (>=2.5 required, 2.7 recommended)\n", "- numpy (>=1.6 required, 1.7 recommended)\n", "- scipy (>=0.10 required, 0.13 recommended)\n", "\n", "Required for image viewing and other examples:\n", "\n", "- matplotlib (>=1.0 required, 1.2 recommended)\n", "\n", "Required for skimage.viewer and skivi interactive examples\n", "\n", "- Qt\n", "- PyQt4/PySide\n", "\n", "Required for development:\n", "\n", "- cython (>=0.16 required, 0.19 recommended)\n", "\n", "Recommended for IO:\n", "\n", "- FreeImage\n", "- Pillow/PIL\n", "\n", "Recommended:\n", "\n", "- PyAmg (Fast random-walker segmentation)\n", "\n", "## Example images\n", "\n", "scikit-image ships with some example images in `skimage.data`. For this tutorial, we will additionally make use of images included in the `images` directory of the `skimage-tutorials/scipy-2014` folder:\n", "\n", "[Tutorial repository](https://github.com/scikit-image/skimage-tutorials)\n", "\n", "# Sections\n", "\n", "For convenience, we have divided this tutorial into several chapters, linked below. Throughout the tutorials, feel free to ask questions. We want you to come away confident in your image analysis skills!\n", "\n", "- [Images are just NumPy arrays](00_images_are_arrays.ipynb)\n", "- [Color and exposure](0_color_and_exposure.ipynb)\n", "- [Image filters](1_image_filters.ipynb)\n", "- [Feature detection](2_feature_detection.ipynb)\n", "- [Morphological operations](3_morphological_operations.ipynb)\n", "- [Segmentation](4_segmentation.ipynb)\n", "- [Advanced example: measuring fluorescence intensity on chromosomes](adv0_chromosomes.ipynb)\n", "- [Advanced example: measuring intensity along a microscopy image](adv1-lesion-quantification.ipynb)\n", "\n", "# Improv time!\n", "\n", "If we have time, raise your own analysis problems. They can make an interesting case study for the rest of the class! Even within the scikit-image team, we still surprise each other with the amazing diversity of applications we encounter!\n", "\n", "# After the tutorial\n", "\n", "Stay in touch!\n", "\n", "- Follow the project's progress [on GitHub](https://github.com/scikit-image/scikit-image).\n", "- Ask the team questions on the [mailing list](https://groups.google.com/d/forum/scikit-image)\n", "- [Contribute!](https://github.com/scikit-image/scikit-image/blob/master/CONTRIBUTING.txt)\n", "- If you find it useful: cite [our paper](https://peerj.com/articles/453/)!" ] } ], "metadata": {} } ] }