Book Description
Welcome to Scientific Python and its community. If you’re a scientist who programs with Python, this practical guide not only teaches you the fundamental parts of SciPy and libraries related to it, but also gives you a taste for beautiful, easytoread code that you can use in practice. You’ll learn how to write elegant code that’s clear, concise, and efficient at executing the task at hand.
Throughout the book, you’ll work with examples from the wider scientific Python ecosystem, using code that illustrates principles outlined in the book. Using actual scientific data, you’ll work on realworld problems with SciPy, NumPy, Pandas, scikitimage, and other Python libraries.
 Explore the NumPy array, the data structure that underlies numerical scientific computation
 Use quantile normalization to ensure that measurements fit a specific distribution
 Represent separate regions in an image with a Region Adjacency Graph
 Convert temporal or spatial data into frequency domain data with the Fast Fourier Transform
 Solve sparse matrix problems, including image segmentations, with SciPy’s sparse module
 Perform linear algebra by using SciPy packages
 Explore image alignment (registration) with SciPy’s optimize module
 Process large datasets with Python data streaming primitives and the Toolz library
Table of Contents
 Preface
 1. Elegant NumPy: The Foundation of Scientific Python
 2. Quantile Normalization with NumPy and SciPy

3. Networks of Image Regions with ndimage
 Images Are Just NumPy Arrays
 Filters in Signal Processing
 Filtering Images (2D Filters)
 Generic Filters: Arbitrary Functions of Neighborhood Values
 Graphs and the NetworkX library
 Region Adjacency Graphs
 Elegant ndimage: How to Build Graphs from Image Regions
 Putting It All Together: Mean Color Segmentation
 4. Frequency and the Fast Fourier Transform

5. Contingency Tables Using Sparse Coordinate Matrices
 Contingency Tables
 scipy.sparse Data Formats
 Applications of Sparse Matrices: Image Transformations
 Back to Contingency Tables
 Contingency Tables in Segmentation
 Information Theory in Brief
 Information Theory in Segmentation: Variation of Information
 Converting NumPy Array Code to Use Sparse Matrices
 Using Variation of Information
 6. Linear Algebra in SciPy
 7. Function Optimization in SciPy
 8. Big Data in Little Laptop with Toolz
 Epilogue

Appendix. Exercise Solutions
 Solution: Adding a Grid Overlay
 Solution: Conway’s Game of Life
 Solution: Sobel Gradient Magnitude
 Solution: Curve Fitting with SciPy
 Solution: Image Convolution
 Solution: Computational Complexity of Confusion Matrices
 Solution: Alternative Confusion Matrix Computing
 Solution: Computing the Confusion Matrix
 Solution: COO Representation
 Solution: Image Rotation
 Solution: Reducing the Memory Footprint
 Solution: Computing Conditional Entropy
 Solution: Rotation Matrix
 Solution: Showing the Affinity View
 Challenge Accepted: Linear Algebra with Sparse Matrices
 Solution: Dealing with Dangling Nodes
 Solution: Verify Methods
 Solution: Modify the align Function
 Solution: scikitlearn Library
 Solution: Add a Step to the Start of the Pipe
 Index
Product Information
 Title: Elegant SciPy
 Author(s):
 Release date: August 2017
 Publisher(s): O'Reilly Media, Inc.
 ISBN: 9781491922873