knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval=FALSE
)

Download LOPEX datasets

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:

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
}

PROSPECT-PRO inversion: using optimal subdomains

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
}

Results: estimation of 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).

Fig. 1. Estimation of 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 NAs 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 NAs.

Fig. 2. Comparison of th performances obtained with Matlab and R for the estimatinon of PROT, CBC, EWT and LMA as PROT+CBC using PROSPECT-PRO inversion

 



jbferet/prospect documentation built on Feb. 10, 2025, 9:35 a.m.