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

This tutorial aims at describing a real study case using experimental leaf optics. The ANGERS leaf dataset is used here.

Download ANGERS datasets

The ANGERS dataset is available online and can be downloaded directly wih an R script. This dataset includes directional-hemispherical reflectance and transmittance. It also includes a set of measured chemical constituents: CHL,CAR,EWT, and LMA.

# Libraries required 
library(prospect)
LeafDB <- download_LeafDB(dbName = 'ANGERS')

PROSPECT-D inversion: using full spectral information

PROSPECT-D can be inverted using the full spectral domain available from the data. This corresponds to the domain from 400 nm to 2450 nm. Experimental leaf optics and optical constants of PROSPECT need to be adjusted before running Invert_PROSPECT. CAB, CAR, ANT, EWT, and LMA are assessed when setting Parms2Estimate <- 'ALL'

# assess all parameters for PROSPECT-D
Parms2Estimate  <- 'ALL'
# adjust PROSPECT optical constants & experimental leaf optics before inversion
SubData <- FitSpectralData(lambda = LeafDB$lambda,
                           Refl = LeafDB$Refl, 
                           Tran = LeafDB$Tran)
print('PROSPECT inversion using full spectral range')
res <- Invert_PROSPECT(SpecPROSPECT = SubData$SpecPROSPECT, 
                       Refl = SubData$Refl, 
                       Tran = SubData$Tran, 
                       PROSPECT_version = 'D',
                       Parms2Estimate = Parms2Estimate)

Results: estimation of CHL, CAR, EWT and LMA

Results obtained with the R package prospect and matlab implementation are consistent.

Fig. 1. CHL, CAR, EWT and LMA assessed from ANGERS dataset using PROSPECT-D inversion and full spectral information available.

 

PROSPECT-D inversion: using optimal spectral domains

PROSPECT-D can be inverted using the optimal spectral domain defined for each of the constituents. CAB, CAR, ANT, EWT, and LMA can be assessed. However, no optimal spectral domain has been investigated for ANT so far, so the VNIR domain from 400 nm to 800 nm is used in this case...

# assess all parameters for PROSPECT-D 
Parms2Estimate  <- c('CHL','CAR','ANT','EWT','LMA')
print('PROSPECT inversion using optimal setting')
ParmEst <- Invert_PROSPECT_OPT(lambda = LeafDB$lambda, 
                               Refl = LeafDB$Refl, 
                               Tran = LeafDB$Tran, 
                               PROSPECT_version = 'D',
                               Parms2Estimate = Parms2Estimate)

Results: estimation of CHL, CAR, EWT and LMA

Fig. 2. Estimation of CHL, CAR, EWT and LMA from ANGERS using PROSPECT-D inversion and optimal subdomains for each of these constituents.

 



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