makehull: Re-calculate hull

View source: R/continuum_transform.R

makehullR Documentation

Re-calculate hull

Description

Re-calculates the hull after it was manually adapted

Usage

makehull(x, ispec) 

Arguments

x

Object of class Clman.

ispec

Name or index of spectrum to be checked.

Details

In some cases, it might be desirable to manually adapt automatically constructed segmended hulls (transformSpeclib). For example local maxima could be removed because they are very small and maybe afflicted with uncertainties which might legitimate it to manipulate the continuum line. Therefore, hsdar provides functions to remove and add "continuum points" from or to a continuum line. Manually adapted continuum lines can then be used to update band depth or ratio transformation. Handle these functions with care to avoid continuum lines too much build by subjective decisions. In the typical workflow, spectra are first transformed (transformSpeclib). Continuum points can then be retrieved (getcp) and manually adapted by adding addcp and deleting (deletecp) of points. Use checkhull to check for errors. If all uncertainties are removed, re-calculate the hull (makehull) and update the transformed spectrum (updatecl).

Value

Object of class list.

Author(s)

Lukas Lehnert and Hanna Meyer

See Also

transformSpeclib, addcp, deletecp, makehull, updatecl

Clman

Examples

## Model spectra using PROSAIL
parameter <- data.frame(N = rep.int(c(1, 1.5),2), LAI = c(1,1,3,3))
spec <- PROSAIL(parameterList=parameter)

## Transform spectra
spec_clman <- transformSpeclib(spec, method = "sh", out = "raw")

## Plot original line
par(mfrow = c(1,2))
plot(spec_clman, ispec = 1, xlim = c(2480, 2500), ylim=c(0.022,0.024))

## Add fix point at 4595 nm to continuum line of first spectrum
spec_clman <- addcp(spec_clman, 1, 2495)

## Plot new line
plot(spec_clman, ispec = 1, xlim = c(2480, 2500), ylim=c(0.022,0.024))

## Check new hull
hull <- checkhull(spec_clman, 1)
hull$error

## Add fix point at 4596 nm to continuum line of first spectrum
spec_clman <- addcp(spec_clman, 1, 2496)

## Check new hull
hull <- checkhull(spec_clman, 1)
hull$error

## Re-calculate hull
hull <- makehull(spec_clman, 1)

## Transform spectra using band depth
spec_bd <- transformSpeclib(spec, method = "sh", out = "bd")

## Update continuum line of first spectrum
spec_bd <- updatecl(spec_bd, hull)

## Plot modified transformed spectrum
plot(spec_bd, FUN = 1)

hsdar documentation built on March 18, 2022, 6:35 p.m.