Delete fix point from continuum line.
deletecp(x, ispec, cpdelete)
Object of class
ID or index of spectrum to be modified.
Single value or vector of wavelength containing fix point(s) to be deleted.
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 (
Object of class
Clman containing the updated version of x.
Lukas Lehnert and Hanna Meyer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
## 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) ## Mask parts not necessary for the example mask(spec) <- c(1600, 2600) ## 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(1100, 1300),ylim=c(0.17,0.21)) ## Find wavelength of fix point to be deleted getcp(spec_clman, 1, subset = c(1100, 1300)) ## Delete all fix points between 1200 and 1240 nm spec_clman <- deletecp(spec_clman, 1, c(1200:1240)) ## Plot new line plot(spec_clman, ispec = 1, xlim = c(1100, 1300),ylim=c(0.17,0.21)) ## Check new hull hull <- checkhull(spec_clman, 1) hull$error
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.