Sat-process is a Python library for processing sensor specific geospatial raster data. Two sensor classes are provided here: landsat8 and sentinel2, The Landsat8Scene class is used to create a 'scene' from original landsat-8 pathrow images and metadata files, while the Sentinel2Scene class creates a 'scene' from sentinel-2 tiles and associated metadata. The core library can be used to easily build new sensor classes by using the Landsat8Scene and Sentinel2Scene classes as examples.
The sat-process workflow involves creating a 'Scene' from existing data, which can then be used to generate a variety of 'Products', depending on what is defined for that sensor. More precisely, a Scene is a collection of Products covering the same spatial region for a single date/time. The Scene class (e.g., the Landsat8Scene class) determines what products may be generated from the data.
Generate a proach product is a function of the scene:
from satprocess.scene import Landsat8Scene
scene = Landsat8Scene(filenames, metadata=mtlfilename)
There are several standard products available within sat-process, depending on specific sensor.
Products are generated by calling the function of the same name on that scene.
scene = Landsat8Scene(filenames, metadata=mtlfilename) ndvi = scene.ndvi()
The returned ndvi object is a Gippy GeoImage with one band, which can then be further used. Additional calls to .ndvi() will return the already processed GeoImage rather than reprocessing it. The Scene.available_products() function will return a dictionary of all the available products are their description.
The product functions accept a filename keyword, if provided the output product will be saved to that file. Otherwise, if the product produces an output (see virtual products) then it will be saved to the scene.outpath directory (deffaults to current working directory).
For a given Scene, see what products are available via
Below is a list of all the products that appear across the base Scene class, Landsat8Scene, and Sentinel2Scene.
Product | Products Required | Bands required | Description |
---|---|---|---|
dc | original files | Digital counts from the sensor, before conversion to radiance | |
pan | original files | A panchromatic band (typically higher resolution) | |
rad | dc | Apparent radiance, corrected for viewing geometry and date | |
toa | rad or dc | Top of the atmosphere reflectance | |
color | any | any 3 bands | A 3-band byte-scaled image (default: red, green, blue) |
ndvi | toa | nir, red | Normalized Difference Vegetation Index |
evi | toa | nir, red, blue | Enhanced Vegetation Index |
pansharpen | pan + dc/rad/toa | red, green, blue | Pansharpened visible bands |
The above products rely on specific bands in order to work, so sat-process uses general band names for common spectral bandpasses. The average ranges for spectral bandpasses are given in the table below, along with the band numbers for several sensors.
Band Name | Band Ranges | Landsat 5 | Landsat 7 | Landsat 8 | Sentinel 2 | MODIS |
---|---|---|---|---|---|---|
Coastal | 0.40 - 0.45 | 1 | 1 | |||
Blue | 0.45 - 0.5 | 1 | 1 | 2 | 2 | 3 |
Green | 0.5 - 0.6 | 2 | 2 | 3 | 3 | 4 |
Red | 0.6 - 0.7 | 3 | 3 | 4 | 4 | 1 |
Pan | 0.5 - 0.7 | 8 | 8 | |||
NIR | 0.77 - 1.00 | 4 | 4 | 5 | 8 | 2 |
Cirrus | 1.35 - 1.40 | 9 | 10 | 26 | ||
SWIR1 | 1.55 - 1.75 | 5 | 5 | 6 | 11 | 6 |
SWIR2 | 2.1 - 2.3 | 7 | 7 | 7 | 12 | 7 |
LWIR | 10.5 - 12.5 | 6 | 8 | |||
LWIR1 | 10.5 - 11.5 | 10 | 31 | |||
LWIR2 | 11.5 - 12.5 | 11 | 32 |