Giter VIP home page Giter VIP logo

bayesian_lsp's People

Contributors

mattshisler avatar mcgregorian1 avatar mrjgao avatar ocsmit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bayesian_lsp's Issues

Generalize the curve function

There are cases in which users want to fit BLSP to the 6-parameter double-logistic function (e.g., Fisher et al 2006) as their VI data may not from temperate deciduous forests. Actually, the BLSP model can be generalized to fit any curve functions. So, the package needs to be adapted for users to easily customize their curve function and prior information.

Documentation next steps

For ian

  • make sure the functions work out of the bag
  • update documentation for FitBLSP for the fitted output
  • update documentation for each of the function help files
  • write javascript to export timeseries of evi2 for certain coordinates (L5-L9), with columns of only date and evi2 (and with QA?).
  • add to vignette a section for analysis application, where we load the data downloaded from GEE and upload it here.
  • finish updating the vignette

Fit the BLSP model

We are interested in the phenological information extraction method you presented. However, when we change the data of id from 1 to 3 or 5, the following message is displayed. What should we do?

Initialize model...
Estimate phenometrics...
Error in cbind(m1, c(samp[[1]][, paste0("m1", "[", i, "]")], samp[[2]][, :
object 'samp' not found

The FitBLSP results

The results of FitBLSP function do not show phenology for each year from my own data.

library(blsp)  
library(data.table)  
sample_file <- fread("sampleData.csv")  
single_ts <- sample_file[id == 0, .(date, evi2)]  
single_ts <- na.omit(single_ts)  
head(single_ts)  
avg_fit <- FitAvgModel(
  date_vec = single_ts$date,
  vi_vec = single_ts$evi2
)  

results <- FitBLSP(
  date_vec = single_ts$date,
  vi_vec = single_ts$evi2,
  initValues = avg_fit,
  verbose = TRUE
)  
head(results$phenos)

I would like to consult you on this issue, please reply to me at your convenience and thank you for your excellent work.

c7c25fd0a7dae455af00aa3c78b61ba
sampleData.csv

Add a progressbar

Recommend to add some kind of counter, either progressbar or something else to FitBLSP() because otherwise for users we're not sure how long the code needs to run

Get more phenometrics

Some users commented that they want to have more phenometrics rather than the default SOS and EOS. Since the annual VI curves are estimated, more detailed phenometrics can be derived from the curves, such as Greenup, MidGreenup, Maturity, Peak, etc (following MCD12Q2). Provide a function in the package for users to specify whether they want SOS & EOS or the MCD12Q2-like phenometrics.

Questions for pre-release

I will be adding more things as I think of them.

These questions are for the test data.

  • Why only the snow flag?
  • Which QA should be used if not using Landsat data?
  • From the documentation for FitBLSP, it doesn't seem like the QA column is inherently needed?
  • Do the column names need to be the same for someone else’s test?

Other

  • What is the exact data that can be used by others? E.g. only Landsat evi? Or Sentinel 2 evi?

FitBLSP

  • What is the number that is returned inherently with the function? I get the list with "fitted" and "phenos", but I'm also getting a number that I think is number of iterations to convergence?

Add examples of using the package to README.md

I feel like it might be easier for users to find the usage of the package if we add examples to README.md. But for now, I'm not sure how to write R Markdown in the README.md, or it just can't be done that way and we have to run an R Markdown to get results and pictures and put them in the README.md manually.

Recommendations for pre-release

I'm adding recommendations here to keep track of them. I don't want to implement these myself without asking for input.

I'll add to this list as we get closer to having a final package and documentation.

  • change the name of test_ts to something like landsatEVI or testData or something? Maybe not necessary, I was just thinking of having the name be more informative since ts is an abbreviation that not everyone uses
  • test_ts only needs columns date, renameall_evi to evi, rename all_qa to pixelQA, rename all_from to source, and snow.
  • #6
  • relatedly to above, suggest having a shorter dataset to have for the vignette. It currently takes >3 minutes to run FitBLSP() when having the plot, so might be easier for rendering the vignette to just have maybe 10 years worth of data and then at the end I can add a png of what the full thing looks like.
    • also this would help users be able to run a small sample of the data without this taking a long time
  • remove functionality in Fit_BLSP where weights_vec can be TRUE/FALSE
  • #9
    • First, throw error if weights_vec is not numeric or is outside of range [0,1]
    • Second, throw error if weights_vec is not the same length as vi_vec

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.