- Notifications
You must be signed in to change notification settings - Fork29
Algorithms for computing global land surface temperature and emissivity from NASA's Landsat satellite images with Python.
License
pylandtemp/pylandtemp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
pylandtemp is a Python library that provides a simple API for computingglobal land surface temperature and emissivity from NASA'sLandsat Level 1 satellite images (starting from Landsat 5 to Landsat 8). 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.
The pylandtemp Python package is available throughPyPI:
pip install pylandtemp
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
- Single-Channel: through the
Land surface emissivity
- Through the
emmissivity()
method.
- Through the
Brightness temperature
- Through the
brightness_temperature()
method.
- Through the
Normalized Difference Vegetation Index (NDVI)
- Through the
ndvi()
method.
- Through the
To compute land surface temperature usingJiminez-Munoz et al. (2014) split window technique andUgur Avdan et al. (2014) emissivity computation method, a simple implementation is shown below:
importnumpyasnpfrompylandtempimportsplit_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) bandlst_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.
Algorithm | key |
---|---|
Jiminez-Munoz et al. (2014) | 'jiminez-munoz' |
Sobrino et al. (1993) | 'sobrino-1993' |
Kerr et al. (1992) | 'kerr' |
McMillin et al. (1975) | 'mc-millin' |
Price (1984) | 'price' |
Algorithm | key |
---|---|
Ugur Avdan et al. (2014) | 'mono-window' |
Algorithm | key |
---|---|
Gopinadh Rongali et al. (2018) | 'gopinadh' |
Ugur Avdan et al. (2014) | 'avdan' |
Xiaolei Yu et al. (2014) | 'xiaolei' |
The notebookshere are tutorials on how to use pylandtemp package.
Open source thrives on collaborations and contributions. Let us work on this package in the same spirit.
If you catch any bug, find any typo or have any suggestions that will make this package better,
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
Fork the ProjectCreate your Feature Branch (git checkout -b feature/AmazingFeature)Commit your Changes (git commit -m 'Add some AmazingFeature')Push to the Branch (git push origin feature/AmazingFeature)Open a Pull Request
- September 2022: Started to work on intergrating with with google Earth Engine to pull data directly and automate the workflow.
- July 2022: Poster presentation of this project at Scipy 2022. Linkhere
- December 2021: version 0.0.1-alpha.1 pre-release version is out on PyPI. Find ithere
- December 2021: Implemented tutorial notebooks based on the different methods. Find themhere
- November 2021: Implemented a runner for dynamic dispatch.
The code of this library is available under theApache 2.0 license.
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}}
About
Algorithms for computing global land surface temperature and emissivity from NASA's Landsat satellite images with Python.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.