Remote Sensing Image Analysis with Python
ZFL Bonn, March/April 2015

Mort Canty

Software Installation on Windows


Download and install version 2.7.9 of Python(x,y) for Windows

My Scripts

Download the Zip archive from my CRCPython Git repository and unpack.
Alternatively, if you are familiar with Git, you can clone the repository.
Execute ..\CRC\auxil\dist\auxil-1.1.win32.exe to install my auxil Python package.
Copy the file ..\provmeans\windows 32bit\prov_means.dll to your Windows directory.
You will also need the mlpy package, which you can get here, and the pyshp package, here.

Test your installation: cd to ..\CRC\src\CHAPTER1 and run python

The follow-along IPython notebooks and scripts can be downloaded here.

Recommended Reading

Langtangen (2009) Python Scripting for Computational Science
Canty (2014) Image Analysis, Classification and Change Detection in Remote Sensing
Westra (2013)
Python Geospatial Development
Rossant (2013) Learning IPython for Interactive Computing and Data Visualization

Web Resources

My software page
Numpy and Scipy documentation
GDAL (Geospatial Data Abstraction Library)
GDAL/OGR in Python
Python GDAL/OGR Cookbook

Course Summary

Python Integrated Development Environments (IDEs)




IPython Notebook

Introduction to Python

Hello World!

#!/usr/bin/env python
import sys,math
r = float(sys.argv[1])
s = math.sin(r)
print 'Hello World! sin(%f)=%f'%(r,s)

Basic syntax and namespaces

Variables, lists, tuples, dictionaries

Functions, parameters, keywords, scope

String processing


Classes and OOP

Exceptions and Debugging

Exceptions, try/except/finally blocks

debugging in IPython

Array-Oriented Computing

Numpy arrays (ndarray)

Vectorized computation



Linear algebra



Command line functions

Reading and writing raster images


Vector data, ESRI shapefiles

Python Scripts for Image Analysis

Principal components

Corner detection, Canny edges


Solar incidence angle correction


Supervised classification

Parallel computing for cross-validation

Change detection

Radiometric normalization