The rainbow is dead…long live the rainbow! – The rainbow is dead…long live the rainbow! – Perceptual palettes, part 4 – CIE Lab heated body

  In my last post I discussed the two main issues with the rainbow color palette from the point of view of human color vision, and concluded one of these issues is insurmountable.

But before I move to presenting alternative color palettes, let me give you one last example of how bad the rainbow is. It was sent to me by Antony Price, a member of the LinkedIn group Worldwide Geophysicists. Antony created a grayscale and a rainbow-colored version – using the same data range and number of intervals – of the satellite altimeter derived free-air gravity map of the world [1].  I am showing the two maps below.

For me what is really striking more than anything else is what the rainbow does to the mid-ocean ridge areas. First, it introduces artificial features: most notably a flat green band parallel to the ridges, and a sharp transition between green and cyan, which is also parallel to the ridges). Secondly, it obscures the details of many transform faults, in a few cases all but obliterating them. So, thank you Antony, this is truly a wonderful example. I encourage readers to comment on the differences between these two maps.

The grayscale map really is great. And in fact I am a strong advocate of always using grayscale for first look at any kind of images and data, before diving into color. I will come back in one of the next posts to a more in-depth look at what makes grayscale so good and to the question of whether it could be exploited in creating a rainbow-like colored palette. Suffice to say for now that the main strength is its monotonically increasing, relatively smooth lightness profile [2]. This makes it, based on the viewer experiments results they present, the best color palette (among those tested).

According to Borland and Taylor [3] the heated body color palette is superior to grayscale because of the conversion from absolute to relative brightness done with the latter by the early human visual system (see the paper and reference therein). The heated body palette they use is certainly very effective and looks perceptual.

Let’s see the heated body in action side by side with grayscale in this example by Keonderink [4] I’ve already shown in the first post of the series:

To me, at least in this case, the grayscale is superior because the heated body image (center) shows some artificial banding and edges. Of course, it is in turn far superior to the spectrum (right), but that is not a surprise any more. To be fair though, let’s see if I too can come up with a perceptual heated body that compares to Borland and Taylor’s. I will start with Matlab’s ‘hot’ colormap, which I used to render my model of the Great Pyramid. In both the pyramid and the colorbar I see two sharp edges, one where the red is and one where the yellow is.

We can take a better look at these edges by plotting the lightness L* profile for the color palette in the next figure (which I plotted against Pyramid elevation so as to allow comparison). With this display the two edges are now more clearly visible [5]. Not only are those edges sharp, they are also followed (towards the right) by areas of nearly flat lightness.

But we can work with this and make it perceptual. I’ve done it in a relatively brute way – I just replaced the L* profile with one linearly increasing between 0 and 100, shown in the figure right below – and yet the result is quite satisfactory.
 The new pyramid, left in the next figure, looks far more perceptual than the old, right. One last check though: is this palette more perceptual and also a good choice for viewers with color vision deficiency? Based on my simulations, done this time with the open source Dichromacy  (the one for deuteranopia is shown in the last figure), the answer is yes.

Do you like this palette? If you want to try on your images or data, please download it here. You are also welcome to send me an example you think is worth showing and I will add it to this post.

Related posts (MyCarta)

The rainbow is dead…long live the rainbow! – the full series

What is a colour space? reblogged from Colour Chat

Color Use Guidelines for Mapping and Visualization

A rainbow for everyone

Is Indigo really a colour of the rainbow?

Why is the hue circle circular at all?

A good divergent color palette for Matlab

Related topics (external)

Color in scientific visualization

The dangers of default disdain

Color tools

How to avoid equidistant HSV colors

Non-uniform gradient creator

Colormap tool

Color Oracle – color vision deficiency simulation – stand alone (Window, Mac and Linux)

Dichromacy –  color vision deficiency simulation – open source plugin for ImageJ

Vischeck – color vision deficiency simulation – plugin for ImageJ and Photoshop (Windows and Linux)

For teachers

NASA’s teaching resources for grades 6-9: What’s the Frequency, Roy G. Biv?


[1] Sandwell, D. T., and W. H. F. Smith (2009), Global marine gravity from retracked Geosat and ERS-1 altimetry: Ridge Segmentation versus spreading rate, J. Geophys. Res., 114 – Dataset: Satellite Free Air Gravity V18.1 (released April, 2009 – public domain) from SIO and NOAA

[2]  Rogowitz and Kalvin (2001), The “Which Blair project”: a quick visual method for evaluating perceptual color maps, Proceedings of the IEEE conference on Visualization

[3] Borland, D. and Taylor, R. M. (2007) – Rainbow Color Map (Still) Considered Harmful – IEEE Computer Graphics and Applications, 27 (2), 14-17

[4] Color for the Sciences, Jan J. Koenderink, 2010 MIT Press

[5] For an extended discussion on how to use these two displays to test a color palette, and to get the Matlab code, please read the first post in this series

9 thoughts on “The rainbow is dead…long live the rainbow! – The rainbow is dead…long live the rainbow! – Perceptual palettes, part 4 – CIE Lab heated body

  1. Hello Matteo. I really like your work on this. I posted on a Linkedin discussion you started, but perhaps this is a better place to engage.

    I was involved very early in rendering geophysical intensity values in colour, a task I started doing with colour pencils under the leadership of Norman Paterson at PGW. The first computer-generated colours I saw came from Data Plotting and their Applicon plotter. In 1983 we created a simple 64-colour dithered “rainbow” palette for the original IBM RGB monitor. As technology increased the colour bit-depth available to us we ran into the limitations you describe in your excellent posts.

    We felt the most important (but not exclusively important) aspect of geophysical data is visual appreciation for the highs and lows. The standard rainbow fell short here for many of the reasons you describe. We tweaked the scale to make the lows darker by reducing intensity (adding black if you like), and we brightened the highs by adding a bit of white. This, together with an equal-area colour distribution based on the data histogram (a technique developed by Data Plotting), became the default colour scale in Geosoft, and for many years most non-seismic geophysical data was represented using this scale.

    A more important advancement came when we added shading to colour images. We found that people instantly interpret grey-scales as highs and lows (as you point out), but more important, by shading with the light at 45-degree angle to the plane we reveal otherwise hidden texture in the saturated highs and lows. To further trigger our automatic perception of depth we position the light above and to the right (or left), which is how we all observe the world with the sun above us. To make shading work better we added lightness to the low-end of the colour scale and then added white to the entire palette to make it more pastel so that the intensity contrasts in the colours did not compete with the shading, This became our default “shaded-colour” in Geosoft and you see this in many non-seismic images today. This Google image search ( shows many examples.

    I would be very interested in getting the final colour scale you settle on in your work and see how it works with relief shading. If it works well we can add it as the Matteo colour scale in standard Geosoft.

    • Hello Ian
      Thanks for your contribution. I will follow-up as an update to the post so I can include these images and some of those you uploaded for the Linkedin discussion. I will also include a distilled version of the comments.

  2. Pingback: The rainbow is dead…long live the rainbow! – series outline « MyCarta

  3. Pingback: The rainbow is dead…long live the rainbow! – Part 1 « MyCarta

  4. Pingback: The rainbow is dead…long live the rainbow! – Part 2: a rainbow puzzle « MyCarta

  5. Pingback: The rainbow is dead…long live the rainbow! – Part 5 – CIE Lab linear L* rainbow « MyCarta

  6. Pingback: The rainbow is dead…long live the rainbow! – Part 3 « MyCarta

  7. Pingback: Comparing color palettes | MyCarta

Leave a Reply