While there are a number of python projects for MODIS acquisition and processing (pyModis and get_modis), I have yet to encounter a toolset for automating Landsat 8 processing in Python. There's discussion of GRASS-based approaches, and of challenges related to automated downloading, but I'm curious if anyone's come across Python processing options. My functionality wish list would include items similar to what GRASS offers:

  • data acquisition and import
  • Auto-enhance colors, natural color composites
  • Calculate Top-of-Atmosphere Reflectance and band-6 Temperature
  • Haze removal
  • Atmospheric correction
  • Cloud identification
  • image classification
  • Export of results

2 Answers 2


I just thought I'd add that there are some 'pure' Python solutions for several nodes in this workflow, also.

Some file reading and basic processing:

Spectral Python: http://spectralpython.sourceforge.net/

More classification than you'll find in pure remote sensing and GIS packages:


More links I can't share: 6S Python atmospheric correction, Shapely, gdal bindings for reading geoTIFF (relatively trivial to parse metadata from Landsat 8 and read all images into a cube). There are other processing options in SciPy general and MDP (modular data processing, too).


If you really want to use python, and you need functionality similar to GRASS, perhaps the easiest solution would be to use GRASS via Python.

That isn't specific to Landsat8, but I don't think a processing solution should be tied that closely to a specific satellite. You could implement some simple wrappers / higher level functions if you're consistently performing the same operations.

Side note: on "Cloud identification", remember that Landsat8 has a specific sensor for this (Band 9 on OLI) so that should be pretty trivial.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.