From 245a5d45ec5f3607f34493e02494231e721ff45a Mon Sep 17 00:00:00 2001 From: Beaudette Date: Sat, 5 Oct 2024 08:53:34 -0700 Subject: [PATCH] Update mix-colors.html --- AQP/aqp/mix-colors.html | 7599 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 7551 insertions(+), 48 deletions(-) diff --git a/AQP/aqp/mix-colors.html b/AQP/aqp/mix-colors.html index 629c05d..f96949f 100644 --- a/AQP/aqp/mix-colors.html +++ b/AQP/aqp/mix-colors.html @@ -11,7 +11,7 @@ - + Mixing Munsell Colors in {aqp} @@ -1481,7 +1481,7 @@

Mixing Munsell Colors in {aqp}

D.E. Beaudette

-

2023-10-17

+

2024-10-04

@@ -1609,7 +1609,145 @@

1.1 Munsell Spectral scales = list(tick.number = 12), xlim = c(370, 740) ) -

+

+ + + + + + + + + + + +Value 6 / Chroma 8 +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + +0.0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 + + + + + + + +400 +450 +500 +550 +600 +650 +700 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

1.2 Implementation

@@ -1635,7 +1773,51 @@

1.2 Implementation

A picture is far more intuitive.

par(bg = 'black', fg = 'white', mar = c(0, 0, 0, 0))
 colorContrastPlot(m1 = colors[1], m2 = colors[2])
-

+

+ + + + + + + + + + +m1 +m2 + + + + + + + + + + + +5YR 2/2 +10YR 4/4 +Prominent +Δ +E +00 + +19.8 + +

Simulate a mixture via mixMunsell. See the online documentation for details on the method and relevant citations.

@@ -1650,7 +1832,37 @@

1.2 Implementation

geometric mean of the source spectra.

par(bg = 'black', fg = 'white', mar = c(0, 0, 0, 0))
 soilPalette(parseMunsell(c(colors, mixed$munsell)), lab = c(colors, mixed$munsell))
-

+

+ + + + + + + + + + + + + + +5YR 2/2 +10YR 4/4 +10YR 3/3 + +

Evaluate the top 5 mixture candidates (ranked by spectral distance) using metrics of color contrast. Note that color contrast does not always correlate with @@ -1661,14 +1873,215 @@

1.2 Implementation

m2 = mixed.5$munsell, labels = c('closest match', 'top 5 matches') ) -

+

+ + + + + + + + + + +closest match +top 5 matches + + + + + + + + + + + + + + + + + + + +10YR 3/3 +10YR 3/3 +10YR 3/3 +10YR 3/3 +10YR 3/3 +10YR 3/3 +7.5YR 3/3 +2.5YR 3/2 +2.5Y 3/3 +7.5YR 3/2 +Faint +Faint +Prominent +Faint +Faint +Δ +E +00 + +0 +Δ +E +00 + +3.31 +Δ +E +00 + +8.29 +Δ +E +00 + +3.42 +Δ +E +00 + +4.52 + +

1.3 Results

Demonstrate reference spectra for the source colors and final mixture. The dashed line is the weighted geometric mean spectra.

plotColorMixture(colors, mixingMethod = 'reference', showMixedSpec = TRUE)
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + +0.02 +0.04 +0.06 +0.08 +0.10 +0.12 +0.14 +0.16 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + +5YR 2/2 +50% + +10YR 4/4 +50% + +10YR 3/3 +#1 + + + + + +color 1 +color 2 +mix #1 + + + + +

50% 5YR 2/2 + 50% 10YR 4/4 = 10YR @@ -1693,7 +2106,122 @@

1.3.1 Mollic Epipedon m <- c('10YR 2/2', '10Y 6/6') plotColorMixture(m, w, mixingMethod = 'exact', label.cex = 0.65, overlapFix = TRUE) -

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + +0.00 +0.05 +0.10 +0.15 +0.20 +0.25 +0.30 +0.35 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + +10YR 2/2 +60% + +10Y 6/6 +40% + +5Y 3/3 +#1 + + + + +color 1 +color 2 +mix #1 + + + + +

1.3.2 Experimenting with @@ -1701,13 +2229,174 @@

1.3.2 Experimenting with

The colorMixtureVenn function from the sharpshootR package is a handy way to view simulated mixtures of 2-7 colors.

colorMixtureVenn(colors)
-

+

+ + + + + + + + + + + + + +5YR 2/2 + +10YR 4/4 + +7.5YR 3/3 + +

chips <- c('10YR 8/1', '2.5YR 3/6', '10YR 2/2')
 colorMixtureVenn(chips)
-

+

+ + + + + + + + + + + + + + +10YR 8/1 + +2.5YR 3/6 + +10YR 2/2 + +2.5YR 5/5 + +10YR 4/2 + +5YR 2.5/4 + +5YR 4/3 + +

chips <- c('2.5YR 8/2', '2.5B 3/6', '2.5G 4/4', '2.5R 4/8', '2.5Y 6/10')
 colorMixtureVenn(chips, ellipse = TRUE)
-

+

+ + + + + + + + + + + + + + + + +2.5YR 8/2 + +2.5B 3/6 + +2.5G 4/4 + +2.5R 4/8 + +2.5Y 6/10 + +10BG 4/1 + +7.5GY 5/3 + +2.5Y 5/2 + +10YR 5/4 + +2.5GY 4/2 + +5BG 5/4 + +7.5PB 4/1 + +7.5GY 5/3 + +2.5YR 5/2 + +10Y 6/4 + +5YR 6/6 + +10BG 3/2 + +10GY 4/4 + +5Y 4/2 + +10YR 4/4 + +2.5B 5/4 + +10GY 6/2 + +2.5R 6/6 + +2.5Y 7/7 + +5BG 3/11 + +5PB 3/2 + +7.5GY 4/4 + +2.5YR 4/2 + +10Y 5/5 + +5YR 5/7 + +10Y 4/2 + +

@@ -1718,40 +2407,1830 @@

2 Additional

2.1 Tinkering with plotColorMixture

plotColorMixture(c('10YR 5/3', '10YR 3/2'))
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.04 +0.06 +0.08 +0.10 +0.12 +0.14 +0.16 +0.18 +0.20 +0.22 +0.24 +0.26 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10YR 5/3 +50% + +10YR 3/2 +50% + +10YR 4/2 +#1 + + + + +color 1 +color 2 +mix #1 + + + + +

Compare “reference” vs. “exact” mixing methods.

plotColorMixture(c('10YR 6/2', '5YR 5/6'), mixingMethod = 'reference', showMixedSpec = TRUE)
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.06 +0.08 +0.10 +0.12 +0.14 +0.16 +0.18 +0.20 +0.22 +0.24 +0.26 +0.28 +0.30 +0.32 +0.34 +0.36 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10YR 6/2 +50% + +5YR 5/6 +50% + +7.5R 5/5 +#1 + + + + + +color 1 +color 2 +mix #1 + + + + +

plotColorMixture(c('10YR 6/2', '5YR 5/6'), mixingMethod = 'exact')
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.06 +0.08 +0.10 +0.12 +0.14 +0.16 +0.18 +0.20 +0.22 +0.24 +0.26 +0.28 +0.30 +0.32 +0.34 +0.36 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10YR 6/2 +50% + +5YR 5/6 +50% + +5YR 6/4 +#1 + + + + +color 1 +color 2 +mix #1 + + + + +

# is this right? can the resulting spectra be "higher" than the source?
 plotColorMixture(c('10YR 6/2', '5YR 5/6'), w = c(2,1))
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.06 +0.08 +0.10 +0.12 +0.14 +0.16 +0.18 +0.20 +0.22 +0.24 +0.26 +0.28 +0.30 +0.32 +0.34 +0.36 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10YR 6/2 +67% + +5YR 5/6 +33% + +7.5YR 6/4 +#1 + + + + +color 1 +color 2 +mix #1 + + + + +

# label collision
 plotColorMixture(c('10YR 5/3', '10YR 3/2', '5R 2/2'))
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.02 +0.04 +0.06 +0.08 +0.10 +0.12 +0.14 +0.16 +0.18 +0.20 +0.22 +0.24 +0.26 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10YR 5/3 +33% + +10YR 3/2 +33% + +5R 2/2 +33% + +5YR 3/2 +#1 + + + + +color 1 +color 2 +color 3 +mix #1 + + + + + +

plotColorMixture(c('10YR 5/3', '10YR 3/2', '5R 2/2'), label.cex = 0.65)
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.02 +0.04 +0.06 +0.08 +0.10 +0.12 +0.14 +0.16 +0.18 +0.20 +0.22 +0.24 +0.26 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10YR 5/3 +33% + +10YR 3/2 +33% + +5R 2/2 +33% + +5YR 3/2 +#1 + + + + +color 1 +color 2 +color 3 +mix #1 + + + + + +

plotColorMixture(c('10YR 4/6', '2.5Y 6/2', '5Y 2/2'), w = c(1, 1, 2))
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + +0.00 +0.05 +0.10 +0.15 +0.20 +0.25 +0.30 +0.35 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + +10YR 4/6 +25% + +2.5Y 6/2 +25% + +5Y 2/2 +50% + +2.5Y 3/3 +#1 + + + + +color 1 +color 2 +color 3 +mix #1 + + + + + +

plotColorMixture(c('5G 6/5', '5R 5/4'), w = c(1, 2))
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.12 +0.14 +0.16 +0.18 +0.20 +0.22 +0.24 +0.26 +0.28 +0.30 +0.32 +0.34 +0.36 +0.38 +0.40 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5G 6/5 +33% + +5R 5/4 +67% + +7.5YR 5/2 +#1 + + + + +color 1 +color 2 +mix #1 + + + + +

plotColorMixture(c('5G 6/5', '5R 5/4'), w = c(3, 1), label.cex = 0.65)
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.12 +0.14 +0.16 +0.18 +0.20 +0.22 +0.24 +0.26 +0.28 +0.30 +0.32 +0.34 +0.36 +0.38 +0.40 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5G 6/5 +75% + +5R 5/4 +25% + +2.5G 6/3 +#1 + + + + +color 1 +color 2 +mix #1 + + + + +

Check: “blue” + “yellow” = “green”, yes. Note weighted geometric mean spectra (dotted line): closest chip isn’t a perfect fit but close enough.

plotColorMixture(c('5B 5/10', '5Y 8/8'), label.cex = 0.65, showMixedSpec = TRUE, mixingMethod = 'reference')
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.05 +0.10 +0.15 +0.20 +0.25 +0.30 +0.35 +0.40 +0.45 +0.50 +0.55 +0.60 +0.65 +0.70 +0.75 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5B 5/10 +50% + +5Y 8/8 +50% + +7.5G 6/6 +#1 + + + + + +color 1 +color 2 +mix #1 + + + + +

plotColorMixture(c('5B 5/10', '5Y 8/8'), label.cex = 0.65, mixingMethod = 'exact')
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.05 +0.10 +0.15 +0.20 +0.25 +0.30 +0.35 +0.40 +0.45 +0.50 +0.55 +0.60 +0.65 +0.70 +0.75 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5B 5/10 +50% + +5Y 8/8 +50% + +7.5G 6/5 +#1 + + + + +color 1 +color 2 +mix #1 + + + + +

Top 3 mixture candidates

plotColorMixture(c('5B 5/10', '5Y 8/8'), label.cex = 0.65, showMixedSpec = TRUE, mixingMethod = 'reference', n = 3)
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.05 +0.10 +0.15 +0.20 +0.25 +0.30 +0.35 +0.40 +0.45 +0.50 +0.55 +0.60 +0.65 +0.70 +0.75 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5B 5/10 +50% + +5Y 8/8 +50% + +7.5G 6/6 +#1 + +7.5G 6/5 +#2 + +7.5G 6/7 +#3 + + + + + +color 1 +color 2 +mix #1 +mix #2 +mix #3 + + + + + + +

Interesting mixture of three colors, closest Munsell chip of mixture is not in spectral library.

plotColorMixture(c('5Y 8/10', '5B 4/10', '5R 4/8'), label.cex = 0.65, showMixedSpec = TRUE, mixingMethod = 'exact')
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + +0.0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + + +5Y 8/10 +33% + +5B 4/10 +33% + +5R 4/8 +33% + +2.5GY 4/2 +#1 + + + + +color 1 +color 2 +color 3 +mix #1 + + + + + +

2.2 Simulation of @@ -1768,26 +4247,132 @@

2.2 Simulation of return(z) }

Blue + yellow.

-
s <- seq(0, 1, length.out = 6)
+
s <- seq(0, 1, by = 0.25)
 z <- .continuousMixture(c('5B 5/10', '5Y 8/8'), s)
 
 par(bg = 'black', fg = 'white', mar = c(0,0,0,0))
 soilPalette(parseMunsell(z), sprintf('%s (%s / %s))', z, 1 - s, s))
-

+

+ + + + + + + + + + + + + + + + +5B 5/10 (1 / 0)) +7.5BG 5/16 (0.75 / 0.25)) +7.5G 6/5 (0.5 / 0.5)) +5GY 7/5 (0.25 / 0.75)) +5Y 8/8 (0 / 1)) + +

Near-white + dark brown.

s <- seq(0, 1, length.out = 6)
 z <- .continuousMixture(c('10YR 9/1', '10YR 2/1'), s)
 
 par(bg = 'black', fg = 'white', mar = c(0,0,0,0))
 soilPalette(parseMunsell(z), sprintf('%s (%s / %s))', z, 1 - s, s))
-

+

+ + + + + + + + + + + + + + + + + +7.5YR 9/1 (1 / 0)) +10YR 7/1 (0.8 / 0.2)) +10YR 5/1 (0.6 / 0.4)) +10YR 4/1 (0.4 / 0.6)) +10YR 3/1 (0.2 / 0.8)) +10YR 2/1 (0 / 1)) + +

Cobalt blue + grey.

s <- seq(0, 1, length.out = 6)
 z <- .continuousMixture(c('7.5B 6/10', '7.5B 8/2'), s)
 
 par(bg = 'black', fg = 'white', mar = c(0,0,0,0))
 soilPalette(parseMunsell(z), sprintf('%s (%s / %s))', z, 1 - s, s))
-

+

+ + + + + + + + + + + + + + + + + +7.5B 6/10 (1 / 0)) +2.5B 6/15 (0.8 / 0.2)) +7.5B 7/8 (0.6 / 0.4)) +7.5B 7/6 (0.4 / 0.6)) +7.5B 8/4 (0.2 / 0.8)) +5B 8.5/2 (0 / 1)) + +

2.3 Interpreting Spectral @@ -1817,15 +4402,15 @@

2.3 Interpreting Spectral 10YR 4/3 -3.46 +3.50 NA dE00 exact -5YR 4/3 +7.5YR 4/3 0.01 -0.46 +0.28 Gower reference @@ -1840,7 +4425,126 @@

2.3 Interpreting Spectral

The weighted geometric mean of the two spectra seems plausible:

plotColorMixture(c('10YR 8/6', '10YR 2/2'))
-

+

+ + + + + + + + + + + +Wavelength (nm) +Reflectance + + + + + + + + + + + + + + + + + + + + + + + + + + +0.0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 + + + + + + + + +400 +450 +500 +550 +600 +650 +700 +750 + + + + + + + + + + + + + + + + + + + + + + + + +10YR 8/6 +50% + +10YR 2/2 +50% + +10YR 4/3 +#1 + + + + +color 1 +color 2 +mix #1 + + + + +

Evaluate the top 20 mixture candidates in terms of spectral distance and \(\Delta{E_{00}}\) relative to the most likely match.

@@ -1864,7 +4568,170 @@

2.3 Interpreting Spectral axis(side = 1, at = s, col.axis = 'white') axis(side = 2, col.axis = 'white', las = 1, cex.axis = 0.75) title(sprintf("Mixture: %s + %s", m[1], m[2]), col.main = 'white') -

+

+ + + + + + + + + + +Match Candidate +Spectral Distance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +7.5YR +4/3 +5YR +4/3 +5YR +4/4 +2.5YR +4/4 +7.5YR +4/4 +10R +4/3 +2.5YR +4/3 +2.5Y +4/2 +7.5Y +4/2 +10YR +4/3 +10YR +4/4 +5Y +4/2 +2.5Y +4/3 +7.5YR +4/2 +10R +4/4 +10YR +4/2 +5YR +4/2 +2.5YR +4/2 +10YR +4/5 +7.5R +4/3 + + + + + + + + + + + + + + + + + + + + + + + +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 + + + + + + + + +0.007 +0.008 +0.009 +0.010 +0.011 +0.012 +0.013 +Mixture: 10YR 8/6 + 10YR 2/2 + +

par(mar = c(4.5, 4.5, 2, 1), bg = 'black', fg = 'white')
 
 plot(s, d$dE00, type = 'n', ylab = expression(~Delta*E['00']), xlab = 'Match Candidate', col.axis = 'white', col.lab = 'white', axes = FALSE)
@@ -1875,7 +4742,185 @@ 

2.3 Interpreting Spectral axis(side = 1, at = s, col.axis = 'white') axis(side = 2, at = 0:15, col.axis = 'white', las = 1, cex.axis = 0.75) title(sprintf("Mixture: %s + %s", m[1], m[2]), col.main = 'white')

-

+

+ + + + + + + + + + +Match Candidate + +Δ +E +00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +7.5YR +4/3 +5YR +4/3 +5YR +4/4 +2.5YR +4/4 +7.5YR +4/4 +10R +4/3 +2.5YR +4/3 +2.5Y +4/2 +7.5Y +4/2 +10YR +4/3 +10YR +4/4 +5Y +4/2 +2.5Y +4/3 +7.5YR +4/2 +10R +4/4 +10YR +4/2 +5YR +4/2 +2.5YR +4/2 +10YR +4/5 +7.5R +4/3 + + + + + + + + + + + + + + + + + + + + + + + +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +Mixture: 10YR 8/6 + 10YR 2/2 + +

The relationship between spectral distance and \(\Delta{E_{00}}\) is complex.

par(mar = c(4.5, 4.5, 2, 1), bg = 'black', fg = 'white')
 
@@ -1886,7 +4931,161 @@ 

2.3 Interpreting Spectral axis(side = 1, col.axis = 'white') axis(side = 2, at = 0:15, col.axis = 'white', las = 1, cex.axis = 0.75) title(sprintf("Mixture: %s + %s", m[1], m[2]), col.main = 'white')

-

+

+ + + + + + + + + + +Spectral Distance + +Δ +E +00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +7.5YR +4/3 +5YR +4/3 +5YR +4/4 +2.5YR +4/4 +7.5YR +4/4 +10R +4/3 +2.5YR +4/3 +2.5Y +4/2 +7.5Y +4/2 +10YR +4/3 +10YR +4/4 +5Y +4/2 +2.5Y +4/3 +7.5YR +4/2 +10R +4/4 +10YR +4/2 +5YR +4/2 +2.5YR +4/2 +10YR +4/5 +7.5R +4/3 + + + + + + + + + + +0.007 +0.008 +0.009 +0.010 +0.011 +0.012 +0.013 + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +Mixture: 10YR 8/6 + 10YR 2/2 + +

Try again, this time using the entire spectral library.

m <- c('10YR 8/6', '10YR 2/2')
 
@@ -1913,7 +5112,2527 @@ 

2.3 Interpreting Spectral # add first mixture candidate points(x$distance[1], d$dE00[1], bg = cols[1], pch = 22)

-

+

+ + + + + + + + + + + + + + + + +0.00 +0.05 +0.10 +0.15 +0.20 + + + + + + + +0 +10 +20 +30 +40 +50 + +Spectral Distance + +Δ +E +00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Mixture Candidates: 10YR 8/6 + 10YR 2/2 + + + + +

Reasonable thresholds on spectral distance between mixture and mixture candidates.

# assuming threshold of dE00
@@ -1927,7 +7646,101 @@ 

2.3 Interpreting Spectral # display colorContrastPlot(z$m1, z$munsell, labels = c('First Mixture Canidate', 'Subsequent Candidates'))

-

+

+ + + + + + + + + + +First Mixture Canidate +Subsequent Candidates + + + + + + + + + + + + + + + + + + + + + +7.5YR 4/3 +7.5YR 4/3 +7.5YR 4/3 +7.5YR 4/3 +7.5YR 4/3 +7.5YR 4/3 +5YR 4/3 +5YR 4/4 +7.5YR 4/4 +10YR 4/3 +7.5YR 4/2 +5YR 4/2 +Faint +Faint +Faint +Faint +Faint +Faint +Δ +E +00 + +2.73 +Δ +E +00 + +3.95 +Δ +E +00 + +3.17 +Δ +E +00 + +3.48 +Δ +E +00 + +3.91 +Δ +E +00 + +4.55 + +

2.3.1 Interpreting Spectral (Gower) Distance

@@ -1954,7 +7767,243 @@

2.3.1 Interpreting box() axis(1, at = seq(0, 0.1, by = 0.01), cex.axis = 0.75) axis(2, las = 1, cex.axis = 0.75) -

+

+ + + + + + + + + + + + + + + + + +All Spectra +Spectral Distance (Gower) +Frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 + + + + + + +0 +50000 +100000 +150000 +200000 + + + + + + + + + + + + + + +Spectra d < 0.1 +Spectral Distance (Gower) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.00 +0.02 +0.04 +0.06 +0.08 +0.10 + + + + + + +0 +10000 +20000 +30000 +40000 + +

2.3.2 Spectral @@ -2044,7 +8093,225 @@

2.3.2 Spectral box() axis(1, at = seq(0, 1, by = 0.1), cex.axis = 0.75) axis(2, las = 1, cex.axis = 0.75) -

+

+ + + + + + + + + + + + + + + + + +All Spectra +Spectral Distance (Gower) +Frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 + + + + + + +0 +50000 +100000 +150000 +200000 + + + + + + + + + + + + + + +Adjacent Munsell Chips +Spectral Distance (Gower) +Frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.0 +0.1 +0.2 + + + + + +0 +500 +1000 +1500 + +

knitr::kable(t(quantile(d.adj)), digits = 3)
@@ -2058,11 +8325,11 @@

2.3.2 Spectral

- - - - - + + + + +
0.0010.0130.0260.0630.25300.0080.0180.0430.216
@@ -2101,7 +8368,284 @@

2.3.2 Spectral box() axis(1, at = seq(0, 0.5, by = 0.05), cex.axis = 0.75) axis(2, las = 1, cex.axis = 0.75) -

+

+ + + + + + + + + + + + + + + + + +Adjacent Munsell Chips (Value) +Spectral Distance (Gower) +Frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.00 +0.05 +0.10 +0.15 +0.20 +0.25 +0.30 + + + + + +0 +50 +100 +150 + + + + + + + + + + + + + + +Adjacent Munsell Chips (Hue) +Spectral Distance (Gower) +Frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.00 +0.05 +0.10 +0.15 +0.20 +0.25 +0.30 + + + + + + + + +0 +100 +200 +300 +400 +500 +600 + + + + + + + + + + + + + + +Adjacent Munsell Chips (Chroma) +Spectral Distance (Gower) +Frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0.00 +0.05 +0.10 +0.15 +0.20 +0.25 +0.30 + + + + + + +0 +200 +400 +600 +800 + +

##
 adj.spec.dist <- make.groups(
   all = data.frame(x = d.adj),
@@ -2111,7 +8655,966 @@ 

2.3.2 Spectral ) bwplot(which ~ x, data = adj.spec.dist, par.settings = tactile.theme())

-

+

+ + + + + + + + + + + +x + + + + + + + + + + + + + + +all +hue +value +chroma + + + + + +0.00 +0.05 +0.10 +0.15 +0.20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

2.3.3 Comparison with @@ -2145,9 +9648,9 @@

2.3.3 Comparison with panel.xyplot(...) } ) -

+


-

This document is based on aqp version 2.0.2.

+

This document is based on aqp version 2.0.4.