Simulate Color Vision Deficiency

Description

Transformation of colors by simulating color vision deficiencies, based on a CVD transform matrix. This function is an interface to the CVD object and returns simulated colors for protanope vision.

See also deutan, tritan, desaturate, and cvd_image.

Usage

protan(cols, severity=1.0, linear=True)

Arguments

colslist, colorobject, matplotlib.colors.LinearSegmentedColormap
A list of valid hex colors (str) or a colorobject (such as RGB, HCL, CIEXYZ).
severityfloat
Severity in [0., 1.]. Zero means no deficiency, one maximum deficiency, defaults to 1..
linearbool
Should the color vision deficiency transformation be applied to the linearised RGB coordinates (default)? If False, the transformation is applied to the gamma-corrected sRGB coordinates (as in the Machado et al. 2009 supplementary materials).

Return

colorobject: Returns an object of the same type as the input object cols with modified colors as people with protanope color vision might see the colors (simulated).

Examples

from colorspace import rainbow_hcl, protan, palette
from colorspace import specplot, swatchplot
# Drawing 100 colors along the HCL rainbow color palette
cols = rainbow_hcl()(100)
specplot(cols);

specplot(protan(cols));

specplot(protan(cols, 0.5));

# List of (hex) colors
cols = ["magenta", "red", "orange", "#F2F204", "#6BF204", "#4DA00D"]
protan(cols);
# Visualize original and simulated color swatches
swatchplot([cols, protan(cols)],
           show_names = False, figsize = (5, 1.5));

# From palette object
pal = palette(cols, name = "custom palette")
protan(pal)
['#007FFF', '#6D5F00', '#C3AC00', '#FFE700', '#FADC00', '#A69200']
# From cmap (returns cmap)
protan(pal.cmap())
custom palette
custom palette colormap
under
bad
over