knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval=FALSE )
The leaf optical properties used in Féret et al. (2021) are available online. These datasets are produced from the LOPEX dataset, split into four specific subsets:
LOPEX_DRY_CAL and LOPEX_FRESH_CAL correspond to the dry and fresh samples extracted from the LOPEX dataset and used for the calibration of PROSPECT-PRO
LOPEX_DRY_VAL and LOPEX_FRESH_VAL correspond to the dry and fresh samples extracted from the LOPEX dataset and used for the validation of PROSPECT-PRO
These datasets include directional-hemispherical reflectance and transmittance data.
They also include a set of measured chemical constituents: EWT
, LMA
, PROT
and CBC
.
The datasets can be downloaded directly with an R script as described below.
# Libraries required library(prospect) # Datasets dbName <- list('LOPEX_DRY_CAL','LOPEX_FRESH_CAL', 'LOPEX_DRY_VAL','LOPEX_FRESH_VAL') # download LOPEX data DataBioch <- Refl <- Tran <- lambda <- list() for (db in dbName){ LeafDB <- download_LeafDB(dbName = db) DataBioch[[db]] <- LeafDB$DataBioch Refl[[db]] <- LeafDB$Refl Tran[[db]] <- LeafDB$Tran lambda[[db]] <- LeafDB$lambda }
The inversion of PROSPECT-PRO is performed using the optimal spectral domains corresponding to each constituent of interest.
EWT
, PROT
and CBC
are estimated here.
The optimal spectral domains are defined based on the results described in Féret et al. (2021).
Parms2Estimate <- c('EWT','PROT','CBC') EWT_mod <- PROT_mod <- CBC_mod <- list() # perform PROSPECT inversion using optimal spectral domains for EWT, PROT & CBC for (db in dbName){ print('PROSPECT inversion using optimal spectral domains') ParmEst <- Invert_PROSPECT_OPT(lambda = lambda[[db]], Refl = Refl[[db]], Tran = Tran[[db]], PROSPECT_version = 'PRO', Parms2Estimate = Parms2Estimate) EWT_mod[[db]] <- ParmEst$EWT PROT_mod[[db]] <- ParmEst$PROT CBC_mod[[db]] <- ParmEst$CBC }
PROT
, CBC
, EWT
and LMA
The results obtained with the R package prospect
are very close to those obtained with matlab, using the same algorithm for iterative optimization (with the function fmincon
).
PROT
, CBC
, EWT
and LMA
as PROT
+CBC
using PROSPECT-PRO inversion
For the sake of comparison, the comparison of the results obtained with Matlab and R are presented in Fig. 2.
The performances are identical.
The parametrization of the inversion may not be appropriate and fail to converge.
In this case, the inversion returns NA
s and the Tolerance
parameter of the iterative optimization is adjusted to a higher value in order to converge.
Tolerance
is increased automatically as long as the convergence is not reached, to a certain extent.
If convergence is not obtained for Tolerance = 1e-2
, then the inversion returns NA
s.
PROT
, CBC
, EWT
and LMA
as PROT
+CBC
using PROSPECT-PRO inversion
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.