Colormaps

A poorly chosen colormap between values and colors can fool the human eyes to, e.g., pick out non-existing features, or to hide important features.

Considerations

  • Accessibility/CVD
  • Perceptual Uniformity
    • Printing in B/W
    • 3d surfaces and light shading

Accessibility/CVD

Some colormaps (rainbow colormaps in particular) do not scale well for people with CVD (color blindness).

Perceptual Uniformity

the lightness of the color in an image is a fair representation of its scalar values

non-uniformality in lightness is the main reason of faulty feature extractions from image, (banding)

isoluminant: Having uniform light intensity

Printing in B/W

Some colormaps, do not provide the same level of information when converted to black/white.

3d surfaces and light shading

in a 3D scene, shading cues, which are themselves changes in brightness, are vital to understanding shapes. Thus, you have to avoid having the brightness changes in the color map interfere with the brightness changes in shading and vice versa. You achieve this by limiting the color map to reasonably bright colors. Because this reduces the total range of brightness in the color map, I find it most effective to use a diverging (double-ended) color map.

https://www.kennethmoreland.com/color-advice/#publication

Type of Colormaps

Sequential Colormaps

Rainbow maps (and why they suck)

See Rainbow Colormaps

Perceptually Uniform Sequential colormaps

This is great python notebook from the team at EHT (Event Horizon Telescope), scroll down for the section where they talk about uniformiziing non-uniform colormaps. https://github.com/liamedeiros/ehtplot/blob/docs/docs/COLORMAPS.ipynb

‘viridis’, ‘plasma’, ‘inferno’, ‘magma’, ‘cividis’

Viridis

a series of color maps that are designed to improve graph readability for readers with common forms of color blindness and/or color vision deficiency. The color maps are also perceptually-uniform, both in regular form and also when converted to black-and-white for printing.

Source: viridis - Colorblind-Friendly Color Maps for R

Cividis

Based off of viridis, but optimized for all viewers, specifically those with CVD.

Source: “Optimizing colormaps with consideration for color vision deficiency to enable accurate interpretation of scientific data”

Cubehelix

CubeHelix https://www.mrao.cam.ac.uk/~dag/CUBEHELIX/

Diverging Colormaps

This are colormaps/gradients used to show polarization.

Qualitative Colormaps

https://imagej.net/plugins/glasbey - Glasbey LUT (lookup table) - designed to be “maximally discontinuous”. Colors next to each other are very differnt from on another.

LUT (Color Lookup Tables)

Other Resources

Misc

Posts

Whitepapers

Tools


Related Notes