All Projects → gee-hydro → gee_whittaker

gee-hydro / gee_whittaker

Licence: GPL-3.0, GPL-3.0 licenses found Licenses found GPL-3.0 LICENSE GPL-3.0 LICENSE.md
Non-parametric weighted Whittaker smoothing

Programming Languages

r
7636 projects
matlab
3953 projects
C++
36643 projects - #6 most used programming language
julia
2034 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to gee whittaker

CartoLineGen
QGIS plugin to simplify and smooth lines for a given map scale.
Stars: ✭ 18 (-40%)
Mutual labels:  smoothing
Streamator
A Spectator Specifically build for Content Creation and Streaming
Stars: ✭ 18 (-40%)
Mutual labels:  smoothing
modape
MODIS Assimilation and Processing Engine
Stars: ✭ 19 (-36.67%)
Mutual labels:  smoothing
array-smooth
Moving average smooth algorithm
Stars: ✭ 20 (-33.33%)
Mutual labels:  smoothing
Basic-Image-Processing
Implementation of Basic Digital Image Processing Tasks in Python / OpenCV
Stars: ✭ 102 (+240%)
Mutual labels:  smoothing
undither
Smart filter to remove Floyd-Steinberg dithering from paletted images
Stars: ✭ 38 (+26.67%)
Mutual labels:  smoothing
smooth
The set of smoothing functions used for time series analysis and in forecasting.
Stars: ✭ 78 (+160%)
Mutual labels:  smoothing
polatory
Fast, memory-efficient 3D spline interpolation and global kriging, via RBF (radial basis function) interpolation.
Stars: ✭ 82 (+173.33%)
Mutual labels:  smoothing
interpolations
Lightweight Unity library for smoothing movements and value progressions in code (dragging, easing, tweening).
Stars: ✭ 29 (-3.33%)
Mutual labels:  smoothing
discrete frechet
Compute the Fréchet distance between two polygonal curves in Euclidean space.
Stars: ✭ 68 (+126.67%)
Mutual labels:  smoothing
smooth-corners
CSS superellipse masks using the Houdini API
Stars: ✭ 133 (+343.33%)
Mutual labels:  smoothing
Interactive Data Editor
A Software to interactively edit data in a graphical manner
Stars: ✭ 35 (+16.67%)
Mutual labels:  smoothing
bfast-explorer
Breakpoint detection of Landsat pixel time series via BFAST-based algorithms, provided as a Shiny app
Stars: ✭ 17 (-43.33%)
Mutual labels:  gee
North China Plain GEE Organized
The built-up land mapping of the North China Plain from 1990 to 2019
Stars: ✭ 27 (-10%)
Mutual labels:  gee
gee monkey
Batch export Google Earth Engine (GEE) tasks with `Tampermonkey`.
Stars: ✭ 56 (+86.67%)
Mutual labels:  gee
curso-gee
Google Earth Engine para el monitoreo del uso y cobertura del suelo de la República Argentina
Stars: ✭ 34 (+13.33%)
Mutual labels:  gee

GEE Whittaker

AppVeyor build status

Non-parametric weighted Whittaker smoothing in GEE

为何gee_whittaker核心代码转为闭源

  • 无人遵守开源代码协议GPL3
  • 同类文章作者多不愿公开源代码

Calibrate and Validate in R

The development version from GitHub with:

# install.packages("devtools")
install.packages("phenofit")
devtools::install_github("kongdd/gee_whittaker")
library(whittaker)

Whittaker in Google Earth Engine (GEE)

The following is the main GEE script of the simpler version Whittaker and an examples which smoothed 4-day MODIS LAI images in PML_V2 model.

Please note that there are four necessary steps when using this method, also shown in the above example:

  1. Pre-process, unmask NA values and initialize weights

    If skip this step, it will lead to matrix dimensions not equal, matrix can’t be inversed …

  2. apply Whittaker method (a 2d image array returned)

  3. convert 2d array into multi-bands (every single date corresponds to band)

    There is a small trick you should know:

    you should not convert 2d image into ImageCollection. If so, for each exporting task (one date one task), matrix operation in Whittaker (the most time-consuming part) will be executed repeatedly. Then, it will lead to n times slower (n is the number of images).

    Just export multi-bands image directly!

  4. EXPORT the smoothed result

Please note that smoothing algorithm costs lots of computing resource. You can’t smooth imagecollection and do further calculation or analysis right now in the same script in GEE. The best option is exporting smoothed images first.

At last, you should select a appropriate lambda parameter carefully when using this method! But if you are process MODIS, you can have a try about wWHd in my previous blog.

For Chinese users, you might interested about my another blog in 知乎, I have explained some technique details in it.

Finally, if you not satisfied the smoothed result, you can have a try about other weights updating methods.

Calibration and Validation

Calibrate lambda equation

  1. test/whit_lambda/02_whit_lambda_main.R: Prepare input data, calibrate optional lambda based on V-curve theory.

  2. test/whit_lambda/03_whit_lambda_formula.R: calibrate the empirical lambda equation based on Multiple Linear Regression

Validate Whittaker performance

  1. test/s1_reference_curve.R: Get reference curve, and used as benchmark to evaluate smoothing methods’ performance.

  2. test/s2_evaluate_performance.R: Evaluate performance of different smoothing methods

  3. test/s4_parameters_sensitivity.R: Parameter sensitivity analysis

References

[1]. Kong, D., Zhang, Y., Gu, X., & Wang, D. (2019). A robust method for reconstructing global MODIS EVI time series on the Google Earth Engine. ISPRS Journal of Photogrammetry and Remote Sensing, 155 (May), 13–24. https://doi.org/10.1016/j.isprsjprs.2019.06.014

Acknowledgements

Keep in mind that this repository is released under a GPL3 license.

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