{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Parsing pixels with scikit-image\n", "\n", "Presented by **Stéfan van der Walt **
\n", "
\n", "\n", "This tutorial can be found online at [https://github.com/scikit-image/skimage-tutorials](https://github.com/scikit-image/skimage-tutorials)\n", "\n", "Please launch the IPython notebook *from the root of the repository*.\n", "
\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 give you a chance to try your hand at some real-world examples from StackOverflow.\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.\n", "\n", "The goal is for attendees to leave the tutorial confident of their ability to extract information from 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 be obtained for free.\n", "Alternatively, under OSX, a ``pip install`` should work.\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 reading and viewing:\n", "\n", "- matplotlib (>=1.0 required, 1.2 recommended)\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 `skimage-tutorials/images` folder.\n", "\n", "## Introduction\n", "\n", "- [Gallery](http://scikit-image.org/docs/dev/auto_examples/) -- soon to be interactive ([preview here](http://sharky93.github.io/docs/gallery/auto_examples))!\n", "- Subpackages, see ``help(skimage)``\n", "\n", "## Sections\n", "\n", "For convenience, we have divided this tutorial into several chapters, linked below.\n", "\n", "I am going to move through the material fairly quickly so that you can start playing around with code as soon as possible. **But that means you have to stop me if something is not clear!** My goal is for you to come away confident that you can manipulate images in Python.\n", "\n", "- [Images are just numpy arrays](../../lectures/00_images_are_arrays.ipynb)\n", "- [Color and exposure](../../lectures/0_color_and_exposure.ipynb)\n", "- [Segmentation](../../lectures/4_segmentation.ipynb) [depending on whether we have time]\n", "- [Real world example: analyzing microarrays](../../lectures/adv2_microarray.ipynb)\n", "- [Hands-on exercizes](../../lectures/stackoverflow_challenges.ipynb), questions and discussion!\n", "\n", "More lectures [here](../../lectures) and [here](http://scipy-lectures.github.io).\n", "\n", "## Further questions?\n", "\n", "Feel free to grab hold of me tomorrow during the conference, or at the [PyData Ask Us Anything](http://strataconf.com/big-data-conference-ca-2015/public/schedule/detail/41087)!\n", "\n", "Or meet the scikit-image team on \n", "\n", "## Other ways to 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/)!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "## The relationship of skimage with the Scientific Python eco-system\n", "\n", " - numpy (with skimage as the image processing layer)\n", " - scipy (in combination with ndimage)\n", " - sklearn (machine learning + feature extraction)\n", " - opencv for speed (e.g. in a factory setting)\n", " - novice (for teaching)\n", "\n", "---\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%reload_ext load_style\n", "%load_style ../themes/tutorial.css" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6rc1" } }, "nbformat": 4, "nbformat_minor": 1 }