Curve fit vegetation index (VI) time-series of every growing season using fine curve fitting methods.
curvefit(
y,
t = index(y),
tout = t,
methods = c("AG", "Beck", "Elmore", "Gu", "Klos", "Zhang"),
w = NULL,
...,
type = 1L,
use.cpp = FALSE
)
Vegetation time-series index, numeric vector
The corresponding doy of x
The output interpolated time.
Fine curve fitting methods, can be one or more of c('AG', 'Beck', 'Elmore', 'Gu', 'Klos', 'Zhang')
.
(optional) Numeric vector, weights of y
. If not specified,
weights of all NA
values will be wmin
, the others will be 1.0.
other parameters passed to curve fitting function.
integer, 1
or -1
1
: trough-to-trough curve fitting
-1
: peak-to-peak curve fitting
(unstable, not used) boolean, whether to use c++ defined fine
fitting function? If FALSE
, R version will be used.
fFITs S3 object, see fFITs()
for details.
'Klos' have too many parameters. It will be slow and not stable.
library(phenofit)
# simulate vegetation time-series
FUN = doubleLog.Beck
par = c(mn = 0.1, mx = 0.7, sos = 50, rsp = 0.1, eos = 250, rau = 0.1)
t <- seq(1, 365, 8)
tout <- seq(1, 365, 1)
y <- FUN(par, t)
methods <- c("AG", "Beck", "Elmore", "Gu", "Zhang") # "Klos" too slow
fit <- curvefit(y, t, tout = tout, methods)