vignettes/prospect4.Rmd
prospect4.Rmd
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