A lightweight Python package for simple loading of Landsat imagery as NumPy arrays
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
espatools
.bumpversion.cfg
.gitattributes
.gitignore
.travis.yml
Example.ipynb
LICENSE
README.rst
RGB.png
aer.png
collage.png
requirements.txt
setup.py

README.rst

ESPA Tools

Documentation Status PyPI Build Status Documentation Built by gendocs GitHub

An open-source Python package for simple loading of Landsat imagery as NumPy arrays. When downloading Landsat imagery from USGS Earth Explorer, the datasets contain many bands (.tif files) and a few metadata files (.txt and .xml files). espatools is built to parse the .xml metadata file to read all of the bands for that dataset and provide a convenient and intuitive means of accessing that metadata along side the raw data in a Python environment. espatools can be found on GitHub and PyPI.

Collage of RGB colors

Connections

  • The package heavily uses properties for the creation of strongly typed objects in a consistent, declarative way.
  • PVGeo has implemented an interface for espatools to read Landsat imagery via XML metadata files. Check out PVGeo's Landsat Reader for more details.

Getting Started

espatools is available from PyPI

$ pip install espatools

Usage

We think espatools is easy to use; give it a try and let us know what you think as this is just the alpha-release!

  1. First, take a look at this example for PVGeo where espatools has an interface for direct use in ParaView.
  1. Then checkout this Jupyter Notebook for a demonstration of some simple plotting after reading Landsat imagery in a Python environment.

Example False Color

import espatools
import matplotlib.pyplot as plt

# Create the reader to manage I/O
reader = espatools.RasterSetReader(filename='metadata.xml')

# Perform the read and yield a raster set
raster = reader.Read()

# Get an RGB color scheme
color = raster.GetRGB('false_a')

# Now plot the false color image
plt.imshow(color)

The results of the above code yield the following false color image:

RGB False Color