• Please use real names.

    Greetings to all who have registered to OPF and those guests taking a look around. Please use real names. Registrations with fictitious names will not be processed. REAL NAMES ONLY will be processed

    Firstname Lastname

    Register

    We are a courteous and supportive community. No need to hide behind an alia. If you have a genuine need for privacy/secrecy then let me know!
  • Welcome to the new site. Here's a thread about the update where you can post your feedback, ask questions or spot those nasty bugs!

A little bit about gamuts

Doug Kerr

Well-known member
When we speak of the gamut of a color space (color gamut is more completely descriptive), we mean the "range" of colors that it can represent. Similarly, when we speak of the (color) gamut of a display system, we mean the "range" of colors it can produce.

Color is a three-dimensional property (in the mathematical sense - it takes three numbers to describe a color). There are of course various systems of coordinates in which we can describe a color (and any given color space uses a particular one). To "plot" a color in some chosen three-dimensional coordinate system, we must really work in three-dimensional space - that is, we can;t really do it on paper, but require some kind of "solid model" capability.

The "gamut" of a color space or display is thus a three-dimensional object, bounded by a three-dimensional surface.

Of course, just as we can "by projection" make a two-dimensional representation of a three-dimensional thing (we do it every time we take a photograph!), we can make a two dimensional representation of a three-dimensional "gamut solid", and we often see these. If these are cleverly shaded, they give us a good ideal of the shape of the "gamut solid", but that doesn't necessarily make it easy to figure out what that means to us (although color wonks get use to figuring that out).

But we often see what are said to be graphs of the gamut of a color space or a display that are in fact just two-dimensional. They are often plotted on the familiar CIE x-y chromaticity plane (the one on which we often see the "horseshoe-shaped" human chromaticity gamut). Sometimes we are led to believe that these actually only describe the color gamut of a color space or a display system.

But they don't - they only show a chromaticity gamut - and I emphasize "a", since such a color space or a display device does not normally have a universal chromaticity gamut.

To jump to the punch line, we must note that for a typical display, for example, it cannot generate colors of all the chromaticities enclosed within the boundary of the "gamut" plot we usually see over the full range of available luminance. (I am not referring to over the range of the "brightness" setting of the monitor - I an referring to the relative luminance of individual colors we may wish it to produce.)

A little thought will reveal why this is.

Imagine an RGB display system When each of the three "primary channels" is "wide open", the display usually produces light of the display's native refernece white chromaticity at a certain luminance.

Suppose we want instead another color of this same luminance but with a different chromaticity - one toward the "red", for example. Well, we can't do that. To do so, we would have to increase the output of the "red" channel while decreasing the outputs of the "green" and "blue" channels to keep the luminance constant. But we said the red channel was already "wide open".

Thus, to have the display generate a color with any other chromaticity than its refernce white, we must be willing to accept a luminance less than the one we can get for the reference white chromaticity.

So what is the significance of the single chromaticity gamut plot that we often see? Well, it shows the boundary of the range of chromaticities the display can generate (or the color space can represent) at some particular luminance (or, in many cases, for any luminance not above a certain point).

For example for the sRGB color space, the familiar triangular plot of its "gamut" is the boundary enclosing the chromaticities of the colors it can generate whose luminance is not over 7.2% of the luminance of the "full reference white" color!

Well, that's pretty limiting. What if we are interested in higher luminance colors than that?

Well, here we see some chromaticity plots on the familiar CIE x-y chromaticity diagram:

srgb_gamuts.jpg


The red triangle is what we often see as the "gamut of the sRGB color space." As we see from the legend, all the chromaticities enclosed by that triangle are available so long as we aren't intersted in colors whose relative luminance is over 0.072.

What if, for example, we are interested in colors whose relative luminance is 0.500 (50% of maximum). Well then we can have any chromaticity we want so long is it is inside the blue line!

Now suppose we want some colors whose relative luminance is 1.000? Well we can have one color: the one with the reference white chromaticity (shown by the black dot).

Of course, there is a similar situation for the gamut of a display device.

So lets be careful that, shown a nice triangular pattern on the CIE chromaticity diagram for some display system, we don't say, "Wow! That's a really large portion of the human chromaticity gamut!".
 

Doug Kerr

Well-known member
Gamuts - errata and additional figure

In an earlier message, I showed a plot on the CIR x-y chromaticity diagram that showed how the chromaticity gamut of the sRGB color space varies with luminance. I discovered this morning that there was an error in the gamut plot for 50% relative luminance.

I have corrected the figure. The correct version should now appear in the original message. [However, if you read the message before, you may need to do a forced cache refresh for the image. In Firefox, use Shift-refresh to force reloading of the image.]

The image is repeated here [note that the above warning about caching still applies]:

srgb_gamuts.jpg


I have also arranged for a "view" of a three-dimensional plot of the sRGB color space in the CIE xyY coordinate system:

sRGB_gamut_3D-11.jpg


This was done with ColorThink 2.1.2.

I have arranged for the surface to be shaded in a representation of the actual colors pertaining to the different parts of the surface, for easy visualization.

We can readily see that as we ascend the luminance axis (vertical in the presentation), the cross-section of the color gamut solid (that is, the chromaticity gamut at that luminance) shrinks.

The asymmetry of this phenomenon (which we also saw in the 2-dimensional figure above) results from the fact that the three primary components have different weightings in the determination of luminance.

My apologies for the error in the earlier figure.
 

Doug Kerr

Well-known member
The "color" purple

Hi, Jack,

So what I want to know, is "purple" a color?:D,

"Purple" is a name for a range of chromaticities (which can come in various luminances, thus in turn making a range of colors).

The "purple" chromaticities lie along the line in the CIE chromaticity diagram that joins the "red" and "violet" ends of the horseshoe-shaped "locus of spectral chromaticities".

Since they are not on the spectral locus, these "purple" chromaticities cannot be produced by "monochromatic" light; that is, light containing only one wavelength. Rather they must be made by adding two sources, each monochromatic light, whose chromaticities are at the two ends of the spectral locus (I don't remember the exact wavelengths there at the moment).

The line along which the purple chromaticities lie is sometimes called the "locus of non-spectral purples".

A "100% saturation magenta" (not of course available in the sRGB color space) would be a "purple".

Best regards,

Doug
 

Doug Kerr

Well-known member
A little more about "purple"

Hi, Jack,

I forgot to mention that often "purple" is used (incorrectly) for the general (spectral) hue formally described as "violet" - that is, the one(s) at the far "bluish" end of the spectral chromaticity locus.

Best regards,

Doug
 
Last edited:

Doug Kerr

Well-known member
It's always something!

In an earlier message, I showed a three-dimensional plot of the sRGB color space, supposedly in the CIE xyY coordinate system:

It was done with ColorThink 2.1.2.

Something didn't look quite right about this plot (the relative heights of the R, G, and B "edges"), so I looked into it a little more closely. Although the program identifies this coordinate system option as "xyY", it appears that the "vertical" axis is not in fact Y (the CIE luminance) but rather is actually L*, the "lightness" coordinate of several other color spaces (including L*a*b*, L*C*H(ab), L*u*v, and L*C*H(uv). (L*is a non-linear pseudo-luminance.)

This is likely an oversight by the program developers. All the other coordinate systems offered by the plotting program have L* as their "vertical" axis, but of course this one should not have.

I have inquired of the program publisher about this.

In any case, the general shape shown is quite correct - it is only that the vertical scale isn't really proportional to luminance (Y).

I have relabeled the axis in the figure:

sRGB_gamut_3D-11.jpg


The corrected figure will appear in the original message as well as here. [Note that you may need to refresh your cache for it to appear either here or there - In Firefox, that is Shift-reload or Shift-Ctrl-R.]

Of course, the "xyL*" (or L*xy") color space isn't a recognized one, but it's what we have for this figure.

My apologies for this error.

Best regards,

Doug
 
Last edited:

Doug Kerr

Well-known member
In a recent message here, I spoke of the "lightness" coordinate, L*, as a "non-linear pseudo-luminance".

That was in error. L* is in fact a non-linear transform of a bona fide indicator of relative luminance (based on the CIE coordinate Y).

Common non-linear pseudo-luminance coordinates include (a different) Y, one of the coordinates in the YCbCr color space (and its "expanded" version, YCC). I inadvertently swept L* into that same camp.

Best regards,

Doug
 

Asher Kelman

OPF Owner/Editor-in-Chief
Doug,

Don't be perturbed that sometimes you appear to be talking to yourself in this thread. That's totally O.K.! We are all reading this with great interest. I'm impressed that you might catch an error in someone's graphic program in the z coordinate!

Asher
 

Doug Kerr

Well-known member
Really in xyY

Hi, Gang,

Here is a "3D" presentation of the sRGB color space in genuine CIE xyY coordinates:

sRGB_gamut_3D-51.jpg


This was generated by Bruce Lindbloom's interactive color space plotter. (It only offers the "wireframe" presentation of the color space solid.)

Note that here we can better see the "asymmetry". Let me discuss this a little. I'll rotate the color solid to better illustrate the point:

sRGB_gamut_3D-52.jpg


If we wish to have a color that is "as fully saturated a red" as is possible, then (in RGB terms) we would need to have its RGB coordinates be "n,0,0" (for example, 255,0,0 or 93,0,0).

The highest luminance such color would of course be 255,0,0. It would have a luminance of 0.2127 (on a scale of 1-0).

Now suppose we wanted to increase the luminance of the color. We can't add any more "R", since R is at its maximum. Thus we would need to add "G" and/or "B". That would increase the luminance, all right, but would decrease the saturation of the color - it would no longer be "maximum saturation red".

We see this on the color solid. The vertical "edge" of the solid rising from the red primary (on our right) represents "maximum saturation red" colors. Note that above a certain point (Y=0.2127, as a matter of fact), that edge "breaks" from its vertical line nature and curves inward (reflecting a decrease on saturation.

Now suppose we wanted a "maximum saturation blue" color. As before, the largest luminance such color would be with RGB=0,0,255. Because of the different "luminance weighting coefficients" of the different primaries (reflecting the differing sensitivity of the eye to those wavelengths), its luminance would be only 0.0722. We could not generate any higher-luminance "maximum saturation blue" color (nor could any be represented in the sRGB color space).

We see this on the color solid, where the "blue edge" (on our left) only rises a very short distance (to Y=0.0722) before it "breaks" inward to show decreasing saturation.

Best regards,

Doug
 

Doug Kerr

Well-known member
Bruse Lindbloom's gamut viewer

For those of you who might want to play with Bruce Lindbloom's RGB family gamut viewer, I think you can access it with this link:

http://www.brucelindbloom.com/index.html?WorkingSpaceInfo.html#Viewer

(I say "I think" as sometimes there are complications with me linking to places on Bruce's site owing to the very smooth use of frames.)

Be sure to first click on the "Update the view" button to actually give a display at all.

You can put two RGB-family gamuts up simultaneously if you want (chosen from a large repertoire). You can the see it/them in your choice of the following coordinate systems: "Lab" (L*a*b), "Luv" (L*u*v*), xyY, and XYZ.

There is great flexibility in manipulating the view. A complete description (to say the least) can be found here:

http://www.vis.uni-stuttgart.de/~kraus/LiveGraphics3D/documentation.html#section: User Interface

This is written by Martin Kraus, whose LiveGraphics3D is the engine used by Lindbloom's viewer.

(Some of the manipulations might not work, depending on your particular browser and its implementation of Java.)

Those of you who have not already done so should spend some time cruising around Bruce Lindbloom's extraordinary site. It is an incredible resource of information on color spaces and related topics. It is one of my most important resources. Thanks, Bruce. And thanks to Martin Kraus as well.

You can enter the site here:

http://www.brucelindbloom.com

Best regards,

Doug
 
Last edited:

Asher Kelman

OPF Owner/Editor-in-Chief
So Doug,

In summary, in xyY solid representations of gamut, may we say that as we increase in Luminance, ie. rise in the Z graph vertical axis) and take "slices" of what gamuts are possible then, the palette shrinks and Red and Blue eventually cannot be shown!!!! Cyan, Green and yellow seem to only come to the stage when the lights go up!!

Interesting that bright yellow is used for warning signs for radioactivity. However, red "Stop" traffic signs are not so readily made bright, which might in part explain why they seem to rush by me!

Asher
 
Last edited:

Doug Kerr

Well-known member
Hi, Asher,

So Doug,

In summary, in xyY solid representations of gamut, may we say that as we increase in Luminance, ie. rise in the Z graph vertical axis) and take "slices" of what gamuts are possible then, the palette shrinks and Red and Blue eventually cannot be shown!!!!

True. In fact blue leaves us first, then red, and finally green as well (assuming we are speaking about the "fully saturated" forms - less saturated forms of those hues survive).

Cyan, Green and yellow seem to only come to the stage when the lights go up!!
(I think you have the syntax backward there - I think you mean, "only cyan . . .". But that's not quite so.)

In fact, the fully-saturated forms of cyan, yellow, and magenta survive a little longer.

But then their fully-saturated forms disappear as well. Then as we approach the summit, we have a smaller and smaller area of chromatcity, limited to less and less saturated colors, nearer and nearer to white. And at the summit, only white - not "pure", not "virginal", not "lily", but only "reference".

Be careful about calling the Y axis the "Z" axis. I know why you do that (thinking of the three axes as the classical, generic x, y, and z), but in this context it is dangerous, since Z is actually the name of another coordinate altogether, used with X and Y (in the XYZ color space), where "Y" is the same coordinate we are talking about here as Y in the xyY color space, but y is not the same as Y - ah, miniscule vs. majuscule!
 

Cem_Usakligil

Well-known member
Doug,

Don't be perturbed that sometimes you appear to be talking to yourself in this thread. That's totally O.K.! We are all reading this with great interest. I'm impressed that you might catch an error in someone's graphic program in the z coordinate!

Asher
Hi Doug,

I agree with Asher 100%. Reading all this with great interest, although some of it goes way above my head (LOL).

Thanks for sharing all this know-how with us, really appreciated.

Cheers,

Cem
 

Asher Kelman

OPF Owner/Editor-in-Chief
Doug,

So lets take this further,

In photoshop, can one set the luminance so the color picker will only present color choices in the now smaller gamut choice, nothing above or below?

Asher
 

Doug Kerr

Well-known member
Hi, Asher,

Doug,

So lets take this further,

In photoshop, can one set the luminance so the color picker will only present color choices in the now smaller gamut choice, nothing above or below?

In a way.

The only color space usable in the PhotoShop Adobe color picker for which a coordinate is (any form of) luminance is "Lab" (the coordinate L*).

Note that the gamut of the L*a*b "coordinate system" itself is larger than the gamut of visible colors. (In fact, how big it is depends on what range of a* and b* we choose to allow.) Sometimes, though, we consider the gamut of the L*a*b "color space" to be the gamut of all visible chrmaticities (over an arbitrary luminance range).

But when we select "Lab color" as a working space in Photoshop, we mean that we will represent in L*a*b form colors falling within the gamut of some RGB color space.

In the Photoshop color picker one can always "input" values of a* and b* that are anywhere in the range -128 through +127. But, depending on the value of L*, those might not define a color that is in that gamut (or even visible). Then, Phototshop (using some algorithm not known to me) forces the actual color selection to be in that gamut (It would have no way to do otherwise). (It may do this using one of the "rendering intent" algorithms for dealing with out-of-gamut colors - somebody here will probably know.)

You can see the resulting color in the RGB coordinates area of the picker.

For example, the color that is "defined" by the L*ab* coordinates 100, +100, -100 does not fall in the available gamut (nor even in the range of visible colors). On an RGB basis, it would need to be 362.2, 165.4, 455.4, not permissible in any RGB color space (and, as I said, not even a visible color.) But from that input Photoshop sets the color RGB 255,161,255.

Now the actual L*a*b* coordinates for that color are 78, 46, -32.

If the selection is made on an RGB basis, all colors for which R, G, and or B are in the range that can be input (0-255) are (by definition) within the gamut.

Best regards,

Doug
 

Jack_Flesher

New member
Doug,

So lets take this further,

In photoshop, can one set the luminance so the color picker will only present color choices in the now smaller gamut choice, nothing above or below?

Asher

Actually, one doesn't need to, it happens automatically... In RGB, the numbers are meaningless unless associated with a defined colorspace. So once the colorspace is defined, you have re-set the RGB scale and will have all the RGB color numbers evenly distributed within the new space. Hence, 0.255,0 (8-bit parlance) is the most saturated green you can have in ANY and ALL RGB spaces. However, it is NOT going to be the SAME color green in different spaces. EG; 0,255,0 looks very different in sRGB compared to Profoto RGB, but it is the most saturated green both can render...

Moreover, as soon as you switch out of the RGB color model and go to Lab or HSB model (note a color model is not the same thing as a color space), you loose the need for a defined color space since these color models include all humanly visible colors. You also loose any associated RGB numbers on the dropper, and now get HSB or Lab co-ordinates. You can ask for RGB numbers to display in the info palette, but by default they still need a color space designated to give them meaning, so will represent the colors in the default RGB working space you have set in your color preferences dialog...


Cheers,
 

Asher Kelman

OPF Owner/Editor-in-Chief
So Jack,

How would one set up to only use colors of a particular luminance. Or else how about fixing both saturation and luminance, and only having color to choose. How do we get such palettes?

Asher
 

Jack_Flesher

New member
So Jack,

How would one set up to only use colors of a particular luminance. Or else how about fixing both saturation and luminance, and only having color to choose. How do we get such palettes?

Asher

To fix luminance, use the HSL (HSB) or Lab models and only adjust the chromatic components. To lock both saturation and luminance, I'd use HSL and leave saturation and luminance fixed, only adjusting Hue.

Cheers,
 

Doug Kerr

Well-known member
Hi, Jack,
Moreover, as soon as you switch out of the RGB color model and go to Lab or HSB model (note a color model is not the same thing as a color space), you loose the need for a defined color space since these color models include all humanly visible colors.

Well, not quite. Firstly, just to be finicky, "all humanly visible colors" (taken at face value) includes an unlimited range of luminance, thus an an unlimited gamut.

But I'm sure you mean, "all humanly visible colors up to the luminance we consider '100%' in our color space" (luminance is relative in almost all our uses of color spaces).

However, that is not the scope of the L*a*b* color space gamut either.

Actually, what is usually considered the L*a*b* gamut is (except for a small wrinkle) the gamut of the CIE XYZ color space.

That gamut is the set of colors that are produced by all possible spectral density distributions ("spectrums") that have a certain overall maximum value (the maximum for any point in any of the spectrums).

I myself did not know this until today, when Bruce Lindbloom was kind enough to explain it to me.

This is why the "L*a*b* gamut, examined in the xyY color model, occupies at its base (approaching zero luminance) the entire range of range of visible chromaticities but, as luminance increases, includes a narrower range of chromaticities. (This is just what happens in the sRGB color space, but the shape here is different, and the base occupies all visible chromaticities, while in the sRGB space it only occupies the triangle defined by the sRGB primaries).

We can understand why this is by considering the "extreme" case: the maximum possible luminance. It comes from only a single one of the infinity of spectrums: the one whose value is at our "maximum" for its entire range (that is, the entire range of visible wavelengths) - the infamous "uniform" spectrum.

Since there is only one spectrum that produces this "highest" luminance, there is only one chromaticity available at maximum luminance (we've encountered that situation before, in the sRGB color space). That is of course the chromaticity of a "uniform" spectrum (which spectrum defines the light called "illuminant E"). Thus the native white point of the XYZ color space is the chromaticity of illuminant E.

Now, for the wrinkle in the matter of the gamut of the L*a*b* color space. I said before that this is that same gamut as the XYZ gamut. But I lied (slightly).

As I mentioned, the XYZ color space has a native white point (illuminant E).

The L*a*b color space does not have a unique defined native white point - in fact, its definition includes provisions for accommodating a choice of white points (via a built in "chromatic adaption transform").

Thus its gamut varies slightly with the white point chosen. (There is a custom of often defining the chromaticity of illuminant D50 as the white point in connection with the use of the L*a*b* color space, but it is not "the" white point for L*a*b.)

In any case, we can see this gamut solid in this "3D" plot:

XYZ-Lab_xyY_01.jpg


It is, strictly speaking, the gamut of the L*a*b color space with a white point of illuminant D50. It is almost the same as the gamut of the XYZ color space (whose white point is by definition illuminant E).

As before, this plot is courtesy of Bruce Lindbloom's color space plotting engine.

To close the loop to where I began, note that "all humanly visible colors up to 100% luminance" would occupy a solid that was essentially a "vertical extrusion" of the familiar horseshoe-enclosed range of visible chromaticities on the x-y plane. Its cross-section would be the same at any luminance .

Best regards,

Doug
 

Doug Kerr

Well-known member
Dorothy Parker on Katherine Hepburn

The acerbic critic Dorothy Parker is famed for having said of Katherine Hepburn, "She runs the gamut [of emotion] from A to B".

Is it possible that she meant " . . . from a* to b*"?

Best regards,

Doug
 

Asher Kelman

OPF Owner/Editor-in-Chief
...........

To close the loop to where I began, note that "all humanly visible colors up to 100% luminance" would occupy a solid that was essentially a "vertical extrusion" of the familiar horseshoe-enclosed range of visible chromaticities on the x-y plane. Its cross-section would be the same at any luminance .
But what of its saturation? Could you plot that 3D "horseshoe"

Asher
 

Jack_Flesher

New member
Hi, Jack,


Well, not quite. Firstly, just to be finicky, "all humanly visible colors" (taken at face value) includes an unlimited range of luminance, thus an an unlimited gamut.

Nope, don't agree with you :) Luminance ranges in value from 0 to 100% in "all humanly visible colors" and thus, is limited by that very definition. To suggest one can see more than 100% of something or less than 0% of it is well, absurd.

Cheers,
 

Asher Kelman

OPF Owner/Editor-in-Chief
Hi Jack,

I nearly overlooked your helpful reply! Doug came back with a very impressive in depth representation of the influence of the white point which now I see in a way as the point by which one suspends the 3D tent of chromaticities in 3D space.


To fix luminance, use the HSL (HSB) or Lab models and only adjust the chromatic components. To lock both saturation and luminance, I'd use HSL and leave saturation and luminance fixed, only adjusting Hue.

Yes Jack, this would work. But is it possible to generate a color "picker" palette that would have colors with luminance and saturation fixed?

Asher
 

Doug Kerr

Well-known member
Hi, Jack,

Nope, don't agree with you :) Luminance ranges in value from 0 to 100% in "all humanly visible colors" and thus, is limited by that very definition.

No, "all humanly visible colors" doesn't imply any color space coding and thus some arbitrary maximum luminance. Colors exist without benefit of any color space definition.

I know that it was color space coding you were thinking of, and I understand that's what matters here (as I said just after that).

Note that a color photometer may report the measured color in terms of x and y for chromaticity but in terms of cd/m^2 for luminance (not in terms of "0-100" or such). The maximum luminance thay can measure depends on the design range of the instrument.

Of course their gamut (rarely called that) is much greater than that of any of the color spaces we work with (but perhaps not as great as that of "all humanly visible colors).

Best regards,

Doug
 
Top