Generate a color signature for each soil profile in a collection.
a SoilProfileCollection
object
horizon level attribute containing soil color (sRGB) red values
horizon level attribute containing soil color (sRGB) green values
horizon level attribute containing soil color (sRGB) blue values
algorithm used to compute color signature, colorBucket
, depthSlices
, or pam
number of classes to request from cluster::pam()
rescaling factor for CIE LAB L-coordinate
use proportions or quantities, see details
names for resulting pigment proportions or quantities
function passed to aqp::profileApply(APPLY.FUN)
argument, can be used to add progress bars via pbapply::pblapply
, or parallel processing with furrr::future_map
For the colorBucket
method, a data.frame
object containing:
id column: set according to idname(spc)
.white.pigment
: proportion or quantity of CIE LAB L-values
.red.pigment
: proportion or quantity of CIE LAB positive A-values
.green.pigment
: proportion or quantity of CIE LAB negative A-values
.yellow.pigment
: proportion or quantity of CIE LAB positive B-values
.blue.pigment
: proportion or quantity of CIE LAB negative B-values
Column names can be adjusted with the pigmentNames
argument.
For the depthSlices
method ...
For the pam
method ...
See the related tutorial.
https://en.wikipedia.org/wiki/Lab_color_space
# trivial example, not very interesting
data(sp1)
depths(sp1) <- id ~ top + bottom
# convert Munsell -> sRGB triplets
rgb.data <- munsell2rgb(sp1$hue, sp1$value, sp1$chroma, return_triplets = TRUE)
sp1$r <- rgb.data$r
sp1$g <- rgb.data$g
sp1$b <- rgb.data$b
# extract color signature
pig <- soilColorSignature(sp1)