All Projects → pylandtemp → pylandtemp

pylandtemp / pylandtemp

Licence: Apache-2.0 license
Algorithms for computing global land surface temperature and emissivity from NASA's Landsat satellite images with Python.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pylandtemp

Felicette
Satellite imagery for dummies.
Stars: ✭ 1,710 (+1454.55%)
Mutual labels:  geospatial, earth-science, satellite-data, earth-observation, satellite-images
Start maja
To process a Sentinel-2 time series with MAJA cloud detection and atmospheric correction processor
Stars: ✭ 47 (-57.27%)
Mutual labels:  raster, remote-sensing, earth-observation, landsat-8
aitlas
AiTLAS implements state-of-the-art AI methods for exploratory and predictive analysis of satellite images.
Stars: ✭ 134 (+21.82%)
Mutual labels:  remote-sensing, satellite-data, earth-observation, satellite-images
eodag
Earth Observation Data Access Gateway
Stars: ✭ 183 (+66.36%)
Mutual labels:  geospatial, landsat, remote-sensing, earth-observation
Geospatial Python CourseV1
This is an collection of blog posts turned into a course format
Stars: ✭ 53 (-51.82%)
Mutual labels:  geospatial, raster, remote-sensing, earth-observation
awesome-spectral-indices
A ready-to-use curated list of Spectral Indices for Remote Sensing applications.
Stars: ✭ 357 (+224.55%)
Mutual labels:  raster, landsat, remote-sensing, landsat-8
deck.gl-raster
deck.gl layers and WebGL modules for client-side satellite imagery analysis
Stars: ✭ 60 (-45.45%)
Mutual labels:  landsat, remote-sensing, earth-observation, landsat-8
Python-for-Remote-Sensing
python codes for remote sensing applications will be uploaded here. I will try to teach everything I learn during my projects in here.
Stars: ✭ 20 (-81.82%)
Mutual labels:  remote-sensing, satellite-data, satellite-images
Python Geospatial
A collection of Python packages for geospatial analysis with binder-ready notebook examples
Stars: ✭ 187 (+70%)
Mutual labels:  geospatial, raster, remote-sensing
Blendergis
Blender addons to make the bridge between Blender and geographic data
Stars: ✭ 4,642 (+4120%)
Mutual labels:  geospatial, geodata, raster
wxee
A Python interface between Earth Engine and xarray for processing time series data
Stars: ✭ 113 (+2.73%)
Mutual labels:  climate, raster, earth-observation
eemont
A python package that extends Google Earth Engine.
Stars: ✭ 290 (+163.64%)
Mutual labels:  raster, remote-sensing, satellite-images
Julia Geospatial
Examples for a blog series on Geospatial Julia using ArchGDAL
Stars: ✭ 58 (-47.27%)
Mutual labels:  geospatial, raster, earth-observation
Landsat578
Very simple API to download Landsat [1-5, 7, 8] data from Google
Stars: ✭ 54 (-50.91%)
Mutual labels:  landsat, remote-sensing, landsat-data
s5p-tools
Python scripts to download and preprocess air pollution concentration level data aquired from the Sentinel-5P mission
Stars: ✭ 49 (-55.45%)
Mutual labels:  remote-sensing, satellite-data, earth-observation
python-resources-for-earth-sciences
A Curated List of Python Resources for Earth Sciences
Stars: ✭ 159 (+44.55%)
Mutual labels:  geospatial, earth-science, earth-observation
pylandsat
Search, download, and preprocess Landsat imagery 🛰️
Stars: ✭ 49 (-55.45%)
Mutual labels:  landsat, remote-sensing, earth-observation
CoastSat.slope
Beach-face slope estimation from satellite-derived shorelines, extension of the CoastSat toolbox.
Stars: ✭ 42 (-61.82%)
Mutual labels:  remote-sensing, satellite-images
lightweight-temporal-attention-pytorch
A PyTorch implementation of the Light Temporal Attention Encoder (L-TAE) for satellite image time series. classification
Stars: ✭ 43 (-60.91%)
Mutual labels:  remote-sensing, satellite-data
geeSharp.js
Pan-sharpening in the Earth Engine code editor
Stars: ✭ 25 (-77.27%)
Mutual labels:  landsat, remote-sensing

pylandtemp

GitHub license GitHub stars GitHub forks GitHub issues

Description

pylandtemp is a Python library that provides a simple API for computing global land surface temperature and emissivity from NASA's Landsat satellite images. It contains some implementations of Single-Channel and split window techniques. More methodologies under these groups will be added in the future.

Additionally, it also provides multiple methods for computing land surface emissivity. It is targeted towards supporting research and science workflows in many fields including climate science, earth sciences, remote sensing, space tech, geospatial data science, environmental studies, among others.

Even though only Landsat images are currently 'officially' supported, the methods available via this Python tool can be applied to other dataset including ASTER and MODIS.

Installation

The pylandtemp Python package is available through PyPI:

pip install pylandtemp

Documentation

The pylandtemp Python library is divided into multiple methods which provide access to set of algorithms for different computations.

  • Land surface temperature

    • Single-Channel: through the single_window() method
    • Split window: through the split_window() method
  • Land surface emissivity

    • Through the emmissivity() method.
  • Brightness temperature

    • Through the brightness_temperature() method.
  • Normalized Difference Vegetation Index (NDVI)

    • Through the ndvi() method.

Example

To compute land surface temperature using Jiminez-Munoz et al. (2014) split window technique and Ugur Avdan et al. (2014) emissivity computation method, a simple implementation is shown below:

import numpy as np
from pylandtemp import split_window

# lst_method and emissivity_method should point to keys of chosen -
# algorithms for temeprature and emmisivity, respectively

# Keys for available algorithms are presented in the next section

# tempImage10 is a numpy array of band 10 brightness temperature 
# tempImage11 is a numpy array of band 10 brightness temperature 
# redImage is a numpy array of the red band
# nirImage is a numpy array of the near infra-red (NIR) band

lst_image_split_window = split_window(
    tempImage10, 
    tempImage11, 
    redImage, 
    nirImage, 
    lst_method='jiminez_munoz', 
    emissivity_method='avdan',
    unit='celcius'
)

# The function returns a numpy array which is the land surface temperature image.

Supported algorithms and their reference keys

Land surface temperature --- Split window

Algorithm key
Jiminez-Munoz et al. (2014) 'jiminez-munoz'
Coll C. et al. (1997) 'coll-caselles'
Sobrino et al. (1993) 'sobrino-1993'
Kerr et al. (1992) 'kerr'
McClain et al. (1985) 'mc-clain'
Price (1984) 'price'

Land surface temperature --- Single-Channel

Algorithm key
Ugur Avdan et al. (2014) 'mono-window'

Land surface emissivity

Algorithm key
Gopinadh Rongali et al. (2018) 'gopinadh'
Ugur Avdan et al. (2014) 'advan'
Xiaolei Yu et al. (2014) 'xiaolei'

Tutorials

The notebooks here are tutorials on how to use pylandtemp package.

Contributing

All kinds of contributions are welcome --- development of enhancements, bug fixes, documentation, tutorial notebooks, new methods, new data, etc....

A guide to get you started with contributing will soon be made available.

What's new

  • December 2021: version 0.0.1-alpha.1 pre-release version is out on PyPI. Find it here
  • December 2021: Implemented tutorial notebooks based on the different methods. Find them here
  • November 2021: Implemented a runner for dynamic dispatch.

Code license

The code of this library is available under the Apache 2.0 license.

Sponsor

How to cite

Mudele, O., (2021). pylandtemp: A Python package for computing land surface 
temperature from Landsat satellite imagery. GitHub: https://github.com/pylandtemp/pylandtemp.

If preferred, here is the BibTex:

@Misc{pylandtemp,
author = {Oladimeji Mudele},
title =        {pylandtemp: A Python package for computing land surface temperature from Landsat satellite imagery},
howpublished = {GitHub},
year =         {2021},
url =          {https://github.com/pylandtemp/pylandtemp}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].