The Granger Rainbow

Doug Kerr

Well-known member
The Granger Rainbow is a test chart intended to help assess the response of output devices (displays and, most prominently, print chains) to the gamuts of various color spaces. It was devised by Edward C. Granger of (I believe, at the time) Rochester Institute of Technology, an expert in color printing.

I only learned of it recently (thanks to Bart van der Wolf for introducing me to it), and many of my comments here are based on the one version I have seen. There may well be other versions with different properties. Readers with knowledge of such are invited to "pile on".

This figure shows the Granger Rainbow, annotated with scales to which I will refer in discussing its layout:

As a result of the trail followed in composing this figure, and because it is delivered here in JPEG form, you should not consider the presentation of the pattern itself in it to be "color accurate". Rather it is just to give an idea of the appearance of the pattern.

The coordinates

Let me first explain the quantities used on the scales, H, S, and B. These are the coordinates of the "HSB" color model as used in Photoshop (there are other versions).

H is the "hue" coordinate, and is stated in degrees. It is based on the classical "color wheel" presentation, where "red" (meaning the hue of the "R" primary in an RGB color model), G, and B are equally spaced around the wheel, and their complements, C, M, and Y, respectively, placed opposite the respective primary, leading to six "named" hues whose values of H are integral multiples of 60°

B ("brightness') is something like luminance (but not very). It is defined as the maximum of the values of R, G, and B for the color of interest. Thus, the colors 255,255,255 and 0,0,255 have the same value of B, notwithstanding that they have gravely different luminance (by the ratio of almost 14:1!).

S ("saturation") is something like saturation (!). It is defined as:

S=(max[C]-min[C])/max[C]​

where max[C] and min[C] are the maximum and minimum values among R, G, and B.

Colors having the same value of saturation, in the rigorous colorimetric sense, or even under a simplistic definition often used in the RGB context, will not necessarily have the same value of S.

The layout

The layout of the form of the Granger Rainbow with which I am familiar is as follows (all in terms of the coordinate system of the Photoshop HSB color model). (It is not a color space unless we define the chromaticities and gamma precompensation functions of the primaries of the underlying RGB color space. We can do that, but no particular such is implied by the pattern itself.)

The left-to-right axis of the pattern is in uniformly increasing value of H; that it, any "column" of the pattern has a constant value of H (hue, in the way defined above).

In the vertical direction:

• B: In the upper half of the pattern, B is uniformly 100%. From the "equator" down, B declines linearly, reaching 0% at the bottom.

• S: In the lower half of the pattern, S is uniformly 100%. From the "equator" up, B declines linearly, reaching 0% at the top.

The gamut

It is sometimes believed that the Granger Rainbow exhibits all colors in the RGB gamut, but not so. All colors for which neither B nor S are 100% are excluded - a vast region (the preponderance of the gamut, actually).

It does represent all colors on the "outer faces" of the solid representing the RGB gamut.

Thus, we can well think of its gamut as "pressing" the limits of the gamut of an output device.

"Out of gamut"

We sometimes see it said that the Granger Rainbow contains many colors that are "greatly out of gamut".

In fact, it contains no colors that are outside the generic RGB gamut, nor, if we declare it to be in some specific RGB family color space, outside its gamut. We cannot represent such, unless we care to use negative values of R, G, and/or B.

It may have colors that are out of the gamut of some output device. Almost all of its colors (all except those along the extreme top and bottom edges) are outside the gamut of my monochrome laser printer.

The color space

What RGB-familiy color space is the Granger Rainbow based on (e.g., sRGB, Adobe RGB, Bruce RGB, etc.)?

It is not based on any. And accordingly it cannot precisely represent (of itself) specific actual colors (it is not, for example, meant to represent the actual colors of a hypothetical psychedelic "scene"). Each point has an RGB value - period.

But, if we are interested in testing the response of an output device to the gamut of, say, Adobe RGB, we need merely advise our color-managed application that we want the Granger Rainbow file that is loaded to be interpreted as Adobe RGB.

Best regards,

Doug