pylandtemp

Algorithms for computing global land surface temperature and emissivity from NASA's Landsat satellite images with Python.

https://github.com/pylandtemp/pylandtemp

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: researchgate.net, sciencedirect.com, springer.com, wiley.com, mdpi.com, ieee.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary

Keywords

climate earth-observation earth-science geodata geospatial image-processing landsat landsat-8 landsat-data nasa-api nasa-data python raster remote-sensing satellite-data satellite-imagery-analysis satellite-images
Last synced: 6 months ago · JSON representation

Repository

Algorithms for computing global land surface temperature and emissivity from NASA's Landsat satellite images with Python.

Basic Info
  • Host: GitHub
  • Owner: pylandtemp
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 6.3 MB
Statistics
  • Stars: 179
  • Watchers: 7
  • Forks: 29
  • Open Issues: 4
  • Releases: 0
Topics
climate earth-observation earth-science geodata geospatial image-processing landsat landsat-8 landsat-data nasa-api nasa-data python raster remote-sensing satellite-data satellite-imagery-analysis satellite-images
Created almost 7 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License

README.md

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 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.

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:

```python import numpy as np from pylandtemp import split_window

lstmethod and emissivitymethod 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

lstimagesplitwindow = splitwindow( tempImage10, tempImage11, redImage, nirImage, lstmethod='jiminez-munoz', emissivitymethod='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' | | Sobrino et al. (1993) | 'sobrino-1993' | | Kerr et al. (1992) | 'kerr' | | McMillin et al. (1975) | 'mc-millin' | | 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) | 'avdan' | | Xiaolei Yu et al. (2014) | 'xiaolei' |

Tutorials

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

Contributing

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 Project Create 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

What's new

  • 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. Link here
  • 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} }

GitHub Events

Total
  • Watch event: 8
  • Fork event: 2
Last Year
  • Watch event: 8
  • Fork event: 2

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 181
  • Total Committers: 4
  • Avg Commits per committer: 45.25
  • Development Distribution Score (DDS): 0.105
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Oladimeji Mudele m****i@g****m 162
Oladimeji Mudele d****i@O****b 13
Oladimeji Mudele d****i@O****l 5
Ayodeji Babalola a****a@M****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 3
  • Average time to close issues: 9 months
  • Average time to close pull requests: 2 minutes
  • Total issue authors: 8
  • Total pull request authors: 2
  • Average comments per issue: 1.4
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dimejimudele (3)
  • asg-me18 (1)
  • npr99 (1)
  • jeafreezy (1)
  • ShenliangXue92 (1)
  • ibademola (1)
  • AyodejiBaba (1)
  • JiangThea (1)
Pull Request Authors
  • AyodejiBaba (2)
  • dimejimudele (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 218 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 5
  • Total maintainers: 1
proxy.golang.org: github.com/pylandtemp/pylandtemp
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
pypi.org: pylandtemp

Compute land surface temperature(LST) from Landsat-8 data

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 218 Last month
Rankings
Stargazers count: 6.0%
Dependent packages count: 7.3%
Forks count: 8.3%
Average: 13.9%
Dependent repos count: 22.1%
Downloads: 25.9%
Maintainers (1)
Last synced: 6 months ago

Dependencies

setup.py pypi
  • numpy *
.github/workflows/python-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
environment.yml pypi