- "Our brain views color in terms of lightness (black to white), saturation (dull to bright), and hue (red, orange, yellow, green, blue, purple.) These three variables, originally defined by Albert H. Munsell, are the foundation of any color theory system based on human perception." Marisa Krystian
- luminance-is-more-important-than-color by Mark S. Abeln
- wikipedia
- numbers aproximating transfer function ( CLUT with control points or data points). Function is approximated by interpolation
- function ( transfer functions)
- image
- array of numbers
- number type: integer in 0-255 range or floating point in 0.0-1.0 range
- number of values:
- 3 values ( RGB): LUT
- 4 values: index and 3 rgb values
- file with data ( 3 columns) in various formats: txt, cvs and many others used by graphic software
- css file
- list of numbers in the binary parameter file
- other
<ColorMaps>
<ColorMap name="Consistency" space="RGB">
<Point x="-1.000" o="1" r="0.0" g="0.0" b="0.0"/>
<Point x="0.000" o="1" r="0.0" g="1.0" b="0.0"/>
<Point x="1.000" o="1" r="1.0" g="0.0" b="0.0"/>
</ColorMap>
</ColorMaps>
where:
- x is a position
- o is opacity
- r,g,b are color channels
CCC-Tool xml format
<ColorMaps>
<ColorMap name="Custom CMS" space="RGB" interpolationspace="hsv" interpolationtype="linear" creator="CCC-Tool">
<Point x="0" o="1" r="0.999999918662032" g="0.0000017030280962126348" b="0" cms="1" isMoT="true"/>
<Point x="1" o="1" r="0.9999999186904281" g="0.0000017027413356322709" b="0.01666644639528109" cms="1" isMoT="true"/>
<NaN r="0.24999997648523203" g="8.664340746405535e-8" b="0"/>
<Above r="0" g="0" b="0"/>
<Below r="0" g="0" b="0"/>
</ColorMap>
</ColorMaps>
where
- h has range [0,360]
- s and v has range [0,100]
where:
- cms attribute : separate between Keys (less color ) and the Interval Colors (many colors )
- isMoT attribute : is the Middle of Triple Key. For more info see paper : P. Nardini, M. Chen, F. Samsel, R. Bujack, M. Böttinger and G. Scheuermann, "The Making of Continuous Colormaps," in IEEE Transactions on Visualization and Computer Graphics.
dat files by Paul Bourke: index r g b in 0-255 range
0 0 0 255
1 0 3 255
2 0 7 255
3 0 11 255
- Cube LUT file format specification by Adobe
- CLUTs and colorimetric transformations im G'MIC
- Hald CLUT
- stripe of colors ( ramp)
- diagram of the function
- CLUT image file
- imagemagic: image is ordinarily a gradient image containing the histogram mapping of how each channel should be modified. Typically it is a either a single row or column image of replacement color values. If larger than a single row or column, values are taken from a diagonal line from top-left to bottom-right corners.
- Paul Tol's Notes: data in pgm file, clut in ppm file, use Image magic convert to apply gradient
- gimp
- gmic
- darktable
- discrete/continous
- dimension: 1D / 2D/ 3D ...
- monotonicy of the lightness
- direction: increasing/decreasing/constant
- perceptually uniform/nonuniform
- Spatial Frequency
- Colour-vision-deficiency (CVD) friendly = accessible to those with colourblindness
- double ended ( the same color on the both sides )
- single /multi hued
- photocopy safe
- print friendly
- continous gradient is smooth as continous function. It is smooth color transition without any bandings
Description from Colorcet
- The continuous colormaps are:
- perceptually uniform, with each new color equally perceptually distinct from the previous and following colors
- perceptually nonuniform. That is, small changes in data values result in large changes in the perceptual appearance of the corresponding colors, or vice versa. For instance, the popular matplotlib "hot" and "jet" colormaps have long stretches where the apparent colors change imperceptibly, such as the yellow region in "hot" and the cyan/green region in "jet":
- The discrete = categorical colormaps are perceptually distinct, but not uniform; each color is meant for a separate category and not as a position on a numerical scale
- no hue = achromatic = gray scale
- single hue = monochromatic
- multihue = polichromatic = rainbow
- two (double) hue = divergent
For sequential data, it’s better to use palettes that have at most a relatively subtle shift in hue accompanied by a large shift in brightness and saturation. This approach will naturally draw the eye to the relatively important parts of the data.
- [Sequential Single-Hue Schemes can be used to encode quantitative values. These color ramps are designed to encode increasing numeric values.
- Sequential Multi-Hue Schemes can be used to encode quantitative values. These color ramps are designed to encode increasing numeric values, but use additional hues for more color discrimination, which may be useful for visualizations such as heatmaps. However, beware that using multiple hues may cause viewers to inaccurately see the data range as grouped into color-coded clusters.
Description by Gregor Aisch
While a (linear) variation in lightness is the most important quality of a sequential color scale, varying the hue can bring further significant improvements. Hue variation provides a better color contrast and thus makes the colors easier to differentiate.
Examples:
- multi hue: viridis, magma, inferno, plasma, rainbow
perceptual uniformity means that all pairs of adjacent colors will look equally different from each other
- 1D : for univariate data, see all above gradients
- 2D : for bivariate data: bivariate colour map
- 3D : trivariate colormaps
svg :
Formats: .sketch, .png, .ai, .jpg, .eps
Interpolation:
- linear
- simple ( 1 segment)
- complex multisegment ( more then 1 segment)
- 2 segments
- diverging = ratio, bipolar or double-ended color maps = a map containing colors with different hues at each end and meeting with a bright neutral color in the middle. Diverging color maps are traditionally designed for displaying scalars that have a value of special significance in the middle (such as sea level for elevation or the freezing point for temperature).
- 4 segments: Linas
- 6 segments: rainbow : should not be used in scientific computing
- cyclic or wave colormaps
- 2 segments
- type and a range of the numbers: unsigned char and [0 ; 255] or double and [0.0 ; 1.0 ]
- length of the numbers array ( proportional to precision of nonlinear function approximation. for linear function 2 points are enough)
- function of color channel and the gradient segment: linear / nonlinear ( related what function is used for the interpolation between nodes)
- qualitative or categorical (discrete data = qualitative, unordered data )
- quantitative (ordered data )
- continous
- Sequential for ordered data that progress from low to high (level sets = ranges )
- Diverging : can be used to encode quantitative values with a meaningful mid-point, such as zero or the average value. Color ramps with different hues diverge with increasing saturation to highlight the values below and above the mid-point.. It cen be symmetrical or not, when critical value ( mid-point) is not in the middle
- Cyclical : Cyclical color schemes may be used to highlight periodic patterns in continuous data. However, these schemes are not well suited to accurately convey value differences
Description:
- A good discrete palette has distinct colors. A good continuous colormap does not show boundaries between colors.
- Categorical data can also be represented as numbers, but each number is then distinct, with the numerical value important only to distinguish from other values. When categorical data is plotted as colors, each category should have a color visibly distinct from all the other colors, not nearby in color space, to make each category separately visible.
Taxonomy of Colour Maps by Peter Kovesi
Taxonomy of contionus 1D colour maps according to the lightness:
- monotone ( monotonic) with monotonic brightness (lightness)
- linear = have colour lightness values that increase or decrease linearly over the colour map's range. Are intended for general use and have colour lightness values that increase or decrease linearly over the colour map's range
- nonlinear
- isoluminant: constant lightness and low contrast colour maps can be useful when displaying data with relief shading
- non monotone or multisegment or complex
Names:
- Perceptually Uniform Colour Maps = uniform perceptual contrast over their whole range
- perceptual colormap = ordered, strictly monotonic lightness
- qualitative, sequential, and diverging
Description
- A Comparison of Linear Gradients in Different Colourspaces by Billy Biggs
- Perceptually-linear gradients by Jesse L. Silverberg
- no hue = achromatic = gray scale
- Single-Hue
- Multi-Hue
- encode scalar values in univariate map data
- Categorization task: visually categorize data
What features of data you want to highlight usung gradient ?
- metric: enable users to accurately read absolute values in data = Value reading tasks
- form: gradient should enables users to correctly perceive the shape = Pattern Perception
- order: colormaps must preserve the order in data
- separation: different data must be perceived differently
- uniformity: perceived differences in color must accurately reflect numerical data differences
- lightnes
- Color difference
- stress
- arc-lengths in the LAB* color space
- contrast-ratio between 2 colors for measure color contrast (distinct colors )
- scientific : scientific visualization
- visualisations of scalar fields
- design, usualy color scheme like for www design or UI
- artistic
- simple ( one segment)
- complex ( multisegment)