Transformation of R colors by simulating color vision deficiencies, based on a CVD transform matrix.
1 2 3 4 5 6 7 8 9
character. A color or vector of colors, e.g.,
numeric 3x3 matrix, specifying the color vision deficiency transform matrix.
numeric. Severity of the color vision defect, a number between 0 and 1.
list of cvd transformation matrices. See
Using the physiologically-based model for simulating color vision deficiency (CVD)
of Machado et al. (2009), different kinds of limitations can be
emulated: deuteranope (green cone cells defective), protanope (red cone cells defective),
and tritanope (blue cone cells defective).
The workhorse function to do so is
simulate_cvd which can take any vector
of valid R colors and transform them according to a certain CVD transformation
cvd) and transformation equation.
tritan are the high-level functions for
simulating the corresponding kind of colorblindness with a given severity.
Internally, they all call
simulate_cvd along with a (possibly interpolated)
version of the matrices from
cvd. Matrix interpolation can be carried out with
interpolate_cvd_transform (see Examples).
col is a matrix with three rows named
B (top down) they are interpreted as Red-Green-Blue values within the
[0-255]. Instead of an (s)RGB color vector a matrix of the same size as the
col with the corresponding simulated Red-Green-Blue values will be returned.
This can be handy to avoid too many conversions.
Machado GM, Oliveira MM, Fernandes LAF (2009). A Physiologically-Based Model for Simulation of Color Vision Deficiency. IEEE Transactions on Visualization and Computer Graphics. 15(6), 1291–1298. doi: 10.1109/TVCG.2009.113 Online version with supplements at http://www.inf.ufrgs.br/~oliveira/pubs_files/CVD_Simulation/CVD_Simulation.html.
Zeileis A, Fisher JC, Hornik K, Ihaka R, McWhite CD, Murrell P, Stauffer R, Wilke CO (2020). “colorspace: A Toolbox for Manipulating and Assessing Colors and Palettes.” Journal of Statistical Software, 96(1), 1–49. doi: 10.18637/jss.v096.i01
1 2 3 4 5 6 7 8 9 10 11 12 13
# simulate color-vision deficiency by calling `simulate_cvd` with specified matrix simulate_cvd(c("#005000", "blue", "#00BB00"), tritanomaly_cvd["6"][]) # simulate color-vision deficiency by calling the shortcut high-level function tritan(c("#005000", "blue", "#00BB00"), severity = 0.6) # simulate color-vision deficiency by calling `simulate_cvd` with interpolated cvd matrix simulate_cvd(c("#005000", "blue", "#00BB00"), interpolate_cvd_transform(tritanomaly_cvd, severity = 0.6)) # apply CVD directly on RGB matrix RGB <- t(hex2RGB(rainbow(3))@coords*255) deutan(RGB)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.