What's the REAL colour space of film?

Discussion in 'Digital Darkroom' started by rodeo_joe|1, Jul 15, 2012.

  1. I keep seeing unbelievable claims and diagrams for the colour space of reversal film, like this one. Its complete parent webpage is here if you want a laugh. The latest instance seen was in a recent magazine article that showed the gamut of a "typical reversal film" as a perfect RBG triangle(!) with its blue point actually poking out of the side of the CIE horseshoe. See file below; the blue-dotted and yellow triangles are the AdobeRGB and sRGB spaces respectively, while the darker spectrum is supposed to represent film.
    The reason I find such diagrams unbelievable is because the "primaries" of colour film are actually CMY dyes, and so can't possibly be represented by singular RGB points. I would expect to see at least some rounding of the corners and sides. Plus no viewing illuminant is specified along with those impossible triangles, and no account seems to have been taken of the film's initial RGB filtration either.
    I don't want to rekindle a film v digital war here, but it would be nice to know what RBG colour space is actually big enough to hold the gamut of film. I'm aware that there might be some theoretical saturated cyans that may hang outside of an RGB triangle, but first let's get close to a realistic model of film's colour space before we worry about that.
    Question is then, has anyone seen, or got a link to a believable diagram or specification for a "typical" reversal film gamut?
    I have the data sheets for most of Fuji's and Kodak's films with the dye absorbtion curves in them, and I'm working on a theoretical transform to CIE X,Y,Z locations. The maths isn't easy! I have a couple of published papers to guide me, but it would obviously be quicker if someone had already done the job or knows of some suitable transform software. I don't particularly want to re-invent the wheel.
    00acIe-482421584.jpg
     
  2. One major problem with such analysis is that the scanner itself has a gamut, usually defined by the ICC profile built for said scanner, based on some kind of film (which has a gamut). The scanner may have a wider gamut than the target. The target might have a wider or narrower gamut than the film placed on the scanner. The image has a gamut. Take any film and shoot a gray card. What’s the gamut plot going to look like compared to a field of colorful flowers? And I agree that the gamut of film (well the ICC profile I look at of a scanner gamut) doesn’t look like this perfect triangle illustrated above.
    Lastly, we can’t really plot the gamut of a digital capture device, they don’t have a true gamut but rather a color mixing function. There are ‘colors’ a DSLR can capture we can’t see (so technically it isn’t a color). There are colors we can see the camera can’t record. So trying to compare the gamut of said capture compared to a piece of film on a scanner (and all scanners would be different) is a waste of time.
     
  3. One other point. Since we can ‘see’ all the colors on the questionable color tranny, they should fall with in that chromaticity diagram. And even if there were ‘colors’ that fall outside which is presumably what that blue (looks purple) primary shows above, we can’t see it, so who cares?
     
  4. I didn't mention a scanner Andrew, but I see where you're coming from. I'm partly annoyed by a vociferous and unscientific "pro film" lobby that seems to promote film as being perfect in all respects; and moreover fundamentally curious as to what gamut film can truly contain. Whether that gamut can be scanned into RGB is another debate entirely, but one that won't be resolved without knowing exactly what amount of colour space is involved.
    While researching the subject, I came across an abstract of an SPIE published paper that proposed the conversion of film dye densities to numerical values on an area-by-area (i.e per pixel) basis, with subsequent translation to CIE XYZ values. I thought that was an interesting approach but couldn't download the original article.
    WRT colours that exceed the CIE horseshoe. It's true they're of little interest to the human eye, but a theoretical RGB triangle big enough to contain all of the CIE colours would need to have primaries well outside of it. Such a space is proposed in ProPhotoRGB, but it's quite an inefficient encoding, since a lot of its numbers are devoted to describing imaginary colours.
     
  5. The reason I mention a scanner is I don’t know how else you’d get to the gamut of film. And let’s face it, even if we don’t take the scanner into account at this point, we have to scan the film at some other point otherwise all we can do is view the transparency on a light box or make a Type R print.
    Indeed ProPhoto has two primaries that fall outside human vision as defined by the CIE Chromaticity diagram and is quite theoretical (as all RGB working spaces are). Based on some theoretical emissive (display) device. That is because in order to get that nice large gamut, the triangle, which has to be that fixed shape demands that the primaries be moved farther and farther apart. So there are ‘colors’ in ProPhoto we can’t see and as such probably shouldn’t be called colors. We can define what maybe should be called “illegal colors”. R0/G255/B0 in ProPhoto isn’t a real color. And yes it can be inefficient in this case but that’s what we have to live with. Move the two primaries into human gamut, you end up with a smaller gamut working space. And you clip colors that capture devices can produce and many output devices can reproduce.
    There is no perfect RGB working space or we’d all be using just that one space. Adobe RGB falls fully within the gamut of the diagram above. But using it to encode colors, something we have to do, means we clip colors we can capture. So you make the chose. Work with a big color space that can contain more captured colors at the expense of illegal colors (and colors you can’t see on your limited gamut display) OR use a smaller color space that doesn’t suffer those issues but clips colors you were able to capture and as importantly output.
     
  6. What's the practical application and use for a photographer/image creator in knowing this information? I haven't found it, yet.
    Whether a Raw scan of film or Raw digital camera capture no one gets to see or use any of this information due to the limits of the display's color gamut. Of course judging colors seen from film viewed on a light table is a very subjective and unscientific analysis due to the adaptive nature of human vision.
    For instance looking at a rich looking backlit blue on film for an extended period of time will constantly change the appearance of vibrant orange which occurs with any other complimentary color pair. Same goes for saturation and contrast which also affects color perception from adaptation.
    One other factor not mentioned concerning the scanner color model is the light source used to illuminate the film which can be LED, laser, fluorescent or halogen. All of them affect color appearance.
     
  7. The reason I mention a scanner is I don’t know how else you’d get to the gamut of film.​
    While a bit work intensive, if you really wanted to know the gamut, you could shoot test patches and measure the processed film with a photospectrometer.
    It would also be interesting (to some) to shoot spectral sources like lasers of various wavelengths or a spectrum created by a grating or prism and measure how far the film departs from the source. Measuring emmisive sources also might reduce some of the variables of shooting test patches such as the illumination source.
    It's also worth repeating that chromaticity diagrams like the one above are of limited use. Transparency film may infact be able to reproduce very pure colors near the spectral locus, but it does this by filtering out all but a narrow band of wavelengths. The result is a very pure, but also very dark color. Getting bright saturated colors, is more difficult. But these nuances are lost on a two-dimensional diagram
     
  8. While a bit work intensive, if you really wanted to know the gamut, you could shoot test patches and measure the processed film with a photospectrometer.​
    I have an X-Rite DTP-41/UV/T which can scan transmissive film but boy, you’d need a big piece (at least an 8x10 and probably several depending on the number of patches you wanted scanned). So yes, you can do this without a scanner and yes, I’ve got a toy to do it. It is one of many Spectrophotometer’s I own but the only one designed to scan film, the reason I keep it (for the one time per year someone wants a transmissive media profiled).
     
  9. Tim, then what use is any colour space information? We need some objective means of measuring colour apart from the fickle MkI eyeball. Otherwise we'd have skin tones appearing beetroot red or cadaver pale, or where blue flowers looked purple or cyan because the native colour space of the digital file or film wasn't the same as the output colour space of printer, monitor, lightjet paper or whatever. Translation from one space to another is going on all the time behind the scenes of your computer. For example; whenever you print something on your inkjet printer or open an AdobeRGB file in a colour-managed viewer to an sRGB monitor. It's transparent to the user, but somebody, or some machine has had to characterise the native colour space of a device for that to happen.
    Please, let's forget scanner colour models - it really isn't relevent here. A piece of film, when measured correctly, or simply viewed, with a specific illuminant (e.g. D65 or D50) will possess a definite colour space, and that's all I'm trying to find out. Except that it seems the colour space of film varies a bit with it's density, but let's go with "best case - widest gamut" shall we?
    Mark, Andrew, the profiling's already been done by Fuji or Kodak, in the shape of the theoretical dye density curves, so I don't see why profiling by exposure patches would be necessary. And how would you know you'd got the most saturated possible red, green or blue out of the film? All that's needed is the transform maths to a known colour map.
     
  10. Please, let's forget scanner colour models - it really isn't relevent here.​
    Well you output the targets (You’d have to then pick some device like a Lightjet or Lambda who’s imaging technology might affect gamut), I’ll measure on my DTP-41. Going to be kind of expensive. Once measured, I can build an ICC profile and plot the gamut in 3D.
     
  11. "we have to scan the film at some other point otherwise all we can do is view the transparency on a light box or make a Type R print."
    You could also make an inter-negative and then a print (not R print). Very common back in the "old film days."
     
  12. You could also make an inter-negative and then a print (not R print). Very common back in the "old film days."​
    Indeed you could (if you wanted to spend more money, end up with another generation due to the interneg and suffer more quality loss). In photo school, we had to do both (just to spend time learning a process that today is pretty useless <g>).
    Now sure what that has to do with finding the gamut of the film. This process would certainly not be desirable in that context!
     
  13. Rodeo Joe,
    On his BetaRGB page, Bruce Lindbloom has a chromaticity plot including chromaticities of various films, but overlaid in a way that makes it hard to make out a gamut for only reversal films: http://www.brucelindbloom.com/BetaRGB.html

    But there is an easy way to make the gamut plot you are after. All you have to do is download the IT8 data files for the films you are interested in. You can get them from the scanner target manufacturers, for example Kodak: ftp://ftp.kodak.com/gastds/Q60DATA/ (Look in the TDF folder for the .Q60 data files.)

    For each patch in the target, the data file has XYZ and Lab measurements. Of particular interest would be columns 4, 8, and 12 on the target, which have the most saturated colors (see this ftp://ftp.kodak.com/gastds/Q60DATA/TECHINFO.pdf for a description of the target layout). In the data files, these are the SAMPLE_IDs ending in 04, 08, and 12.

    Now that you have the XYZs, all you have to do is convert to chromaticity (see BruceLindbloom.com) and make a scatter plot.
    Cliff
     
  14. Well if you want to go that route, I can oblige with a far better set of values than the Kodak IT8 (which is often made from dupe film). Here’s the TDF from the best transparency scanner target around, the HCT (see: http://www.hutchcolor.com/hct.htm). You can download other TDF’s from films there although mine is custom measured off the actual target which is why these original pieces of film or so expensive. The triangular plot seen in the illustration is Adobe RGB (1998):

    http://digitaldog.net/files/HCT_GamutvsAdobeRGB.jpg
    [​IMG]
    [​IMG]
     
  15. Oh, the gamut plot of this film is far more interesting when viewed 3D in ColorThink Pro. But 2D plot gets you a good start on seeing that the original plot the OP asked about is pretty bogus!
     
  16. Looks as if you could've settled on Joseph Holme's Ektaspace RGB color space as close enough, maybe?
    I take it, Andrew, all those dots are the HCT target color patches?
     
  17. I take it, Andrew, all those dots are the HCT target color patches?​
    Yes. This film is Velvia. And the plot is naturally more interesting when viewed in 3D. So gang, the gamut of Velvia isn’t all that impressive. Back to digital capture <g>
     
  18. That's excellent, Andrew! Thanks for posting it.
     
  19. Durrr! I'd completely forgotten about the freely available IT8 / Q60 data. And NO it's not produced on dupe film, it's produced directly on Ektachrome or Fuji reversal stock. If the IT8s were banged out on dupe stock they wouldn't be half so expensive.
    I downloaded the IT8 7.1/2 data for Ektachrome and Velvia, applied the simple conversion from CIE XYZ to Yxy and plotted them onto the CIE horseshoe, together with the AdobeRGB outline. The plots I got are much more believable than those obviously fudged pure RGB triangles. As I said previously, anything that doesn't deviate from a straight-sided triangle simply can't be a realistic plot of a CMY dye generated space. The only thing I'm still not too sure about is whether there's been a displacement towards red from the difference between the D50 and D65 white points. If there is an error it's just going to shift those spaces and not make them any bigger.
    Since my data for Ektachrome come direct from the "horse's mouth" of Kodak, I'll put a lot of faith in them until someone can give me a very good reason why I shouldn't. The rather inferior spaces tie in pretty well with what you actually see when looking at a piece of film.
    00adBp-483357584.jpg
     
    Alan_Tietjen likes this.
  20. Some IT8’s are made on dupe film, few are individually measured and most are Kodak stock (well certainly those supplied by Kodak!). The inexpensive targets are often bundled with scanners that dont’ cost very much.
    IF you have a utility like ColorThink Pro, you don’t need to do anything in terms of converting the data, just as you don’t have to mess with a TDF (the reference) when you build the profile. Load in CT and plot the gamut in 2D or 3D against any other profile you wish. But I agree, the shape isn’t anything like an RGB working space, so if your goal was to disprove the original plot you showed us, I’m in total agreement. But 2D plots are only somewhat useful anyway. Their main benefit is showing people something on the web without resorting to animating the 3D plots (which I’d be happy to do).
    The gamut of my Velvia film isn’t all that impressive and I suspect the same is true for your Kodak plots.
     
  21. RJ, did you miss some green patches? Andrew's plot shows greens approaching the green primary of AdobeRGB.
     
  22. Good catch Cliff. The green does look suspicious.
    I can plot any TDF in ColorThink Pro RJ may want to see.
     
  23. OK. After spending some late nights with IT8.7/1 and other data in Excel, it's apparent that the (technically) most saturated colours - especially greens - can only be got from film at high densities. This is the exact opposite of a native RGB colour space where the maximum primary colour saturation comes with the visually most vivid colour. With film we have to sacrifice a lot of brightness to achieve a good deep green or blue, which makes those colours look visually drab rather than saturated.
    The IT8 targets are designed to show the most visually vivid colours in RGB and CMY primaries, but those "bright" colours aren't the most saturated as plotted on a CIE horsehoe. Technically, a saturated colour is defined as one that has a narrow bandwidth, but achieving a narrow bandwidth with CMY dyes means using a high density. So the higher the saturation gets, the darker the colour looks! Too bad for film and dye-generated prints. This is also why it's advised to slightly underexpose reversal film to get the best colour saturation. In short: Yes, there are "better" greens to be shown, but they actually look pretty dim.
    Below are two Excel charts showing the CMY dye densities for Velvia 50, and the corresponding RGB transmissions we get from them. You'll see that the RGB transmission bands are quite broad, and not very luminous in the blue and green. If the dye densities are increased from those mid values, we do get a narrower green bandwidth, centring on 540 nm, but the transmission drops to below 25%. Surprisingly the red transmission is very good, not only for Velvia but for Ektachrome and Kodachrome as well. In fact Kodachrome has a much better green transmission that either Ektachrome or Velvia, but has weaker blues.
    From the graphs we can extrapolate that Velvia's maximum green saturation lies somewhere on a line between the CIE white point and its perimeter at around 540nm, but always with the proviso that the maximum saturation will go hand-in-hand with a very low luminosity (Y value).
    My conclusion is that the great majority of a film's gamut could easily be contained in the Adobe RGB colour space. Anything that lies outside, especially in the green and blue regions will tend to be shadowy and visually quite dull-looking. The deep and vivid reds will be lost, true, but how much of that red gamut occurs in real-life objects? Probably not that much.
    Those RGB triangles shown for film? Misleading at best, and plain made-up wishful thinking by film fanboys at worst.
    00adZA-483771584.jpg
     
  24. OK. After spending some late nights with IT8.7/1 and other data in Excel, it's apparent that the (technically) most saturated colours - especially greens - can only be got from film at high densities. This is the exact opposite of a native RGB colour space where the maximum primary colour saturation comes with the visually most vivid colour. With film we have to sacrifice a lot of brightness to achieve a good deep green or blue, which makes those colours look visually drab rather than saturated.​
    Attached is a graph from R.W.G. Hunt's "The Reproduction of Colour" 6th ed. page 131. It shows the Chromas (related to saturation) achievable with film dyes compared to television phosphors (probably similar to sRGB). Note that film can reach higher Chroma in both Cyan and Yellow. For the other colors, the additive television system reaches higher chromas at higher Lightness levels. Hunt notes that "when viewing film, flare usually restricts the gamut to that corresponding to maximum densities of about 2.0 ..., but if maximum densities of about 3.0 can be attained, the gamut becomes considerably larger..." I think those higher densities and its larger gamut can be achieved by scanning.
    The IT8 targets are designed to show the most visually vivid colours in RGB and CMY primaries, but those "bright" colours aren't the most saturated as plotted on a CIE horsehoe. Technically, a saturated colour is defined as one that has a narrow bandwidth, but achieving a narrow bandwidth with CMY dyes means using a high density. So the higher the saturation gets, the darker the colour looks! Too bad for film and dye-generated prints. This is also why it's advised to slightly underexpose reversal film to get the best colour saturation. In short: Yes, there are "better" greens to be shown, but they actually look pretty dim.​
    The IT8 target is designed to sample the entire range of colors that a medium can produce, not just the most vivid, and saturation is actually defined in terms of perception. According to Hunt, the more saturated colors of film are darker because of the "unwanted absorptions of the dyes", meaning for example that real cyan dye doesn't block only red, it also blocks some of the green and blue. If the unwanted absorptions are removed, the gamut of film could match or even exceed the shown tv phoshor curves. The unwanted absorptions can be removed by masking or in the computer after scanning.
    Below are two Excel charts showing the CMY dye densities for Velvia 50, and the corresponding RGB transmissions we get from them. You'll see that the RGB transmission bands are quite broad, and not very luminous in the blue and green. If the dye densities are increased from those mid values, we do get a narrower green bandwidth, centring on 540 nm, but the transmission drops to below 25%. Surprisingly the red transmission is very good, not only for Velvia but for Ektachrome and Kodachrome as well. In fact Kodachrome has a much better green transmission that either Ektachrome or Velvia, but has weaker blues.​
    The transmission band should be broad, about 1/3 of the visual spectrum. Ideal subtractive dyes are modeled as "block dyes." If the transmission bands are more narrow than the ideal, as are real dyes due to the unwanted absorptions, colors are darker than desired.
    From the graphs we can extrapolate that Velvia's maximum green saturation lies somewhere on a line between the CIE white point and its perimeter at around 540nm, but always with the proviso that the maximum saturation will go hand-in-hand with a very low luminosity (Y value).​
    A Y value (luminance) of 18.4 corresponds to L* 50, which is right in the middle of the perceptual Lightness range. Based on Hunt's graph it seems that Velvia's green saturation should peak in the mid-tones (around L* = 50). Red, magenta, and blue peak a little lower, while yellow and cyan are higher.
    My conclusion is that the great majority of a film's gamut could easily be contained in the Adobe RGB colour space. Anything that lies outside, especially in the green and blue regions will tend to be shadowy and visually quite dull-looking. The deep and vivid reds will be lost, true, but how much of that red gamut occurs in real-life objects? Probably not that much.​
    I don't agree that the most saturated film colors will look "shadowy and visually quite dull-looking." The most-saturated tones tend to be in the mid-tones, and I don't think a highly-saturated color at any Lightness can possibly look dull! I also think it would be a mistake to use a color space that is too small to preserve saturated, dark colors since it is usually necessary to reduce contrast and lighten the darker tones of reversal films.
    Those RGB triangles shown for film? Misleading at best, and plain made-up wishful thinking by film fanboys at worst.​
    If you really want to prove something to the film fanboys you might want to pick up a copy of Hunt's book from Amazon or your local library.
    00adrs-484221584.jpg
     
  25. OOps! Double post.
     
  26. According to Hunt, the more saturated colors of film are darker because of the "unwanted absorptions of the dyes"...​
    That's it there in a nutshell Cliff. The point is that although film dyes are reasonably good at passing their own colours (Cyan, Magenta and Yellow), when mixed to form the RGB primaries they're inefficient and/or not very saturated. It's incorrect to apply the necessary (but technically desaturated) broad bandwith of CMY dyes to their resultant RGB primaries.
    I repeat that a saturated colour is defined as one with a narrow bandwidth - i.e. tending towards monochromatic - or in the case of the line of purples, a metamer of blue and red monochromes. Therefore in order to include the widest gamut, the RGB primaries of a colour space should be as narrow as possible and as close as possible to the extreme wavelengths of the CIE horshoe at 700, 520 and 380 nanometres respectively. The film dyes clearly do not match those criteria.
    Regardless of Hunt's assertions, it's easy to see from the film colour spaces that everyone has so far shown, and from the published dye absorbtions, that all E6 reversal materials are strongest in the reds. The comparison to TV phosphors is also a bit old-fashioned. Things have moved on and we now have monitors capable of showing a high percentage of the AdobeRGB gamut.
    If you think about the way that film dyes are formed, then it makes perfect sense that maximum saturation and high luminosity are mutually exclusive. Exposed Agx crystals activate adjacent dye globules during development. Those dye globules (or dye "clouds") must allow some white light to pass around and between them to form the lighter parts of the image. Any colour contaminated by white light is by definition desaturated. QED.
    Below is a photomicrograph of an area of film showing just how scattered those dye clouds are at mid densities.
    00aeYj-484975684.jpg
     
  27. I was agreeing with you, but feel you are exaggerating the deficiencies of film. The graph from Hunt shows that film can equal or exceed in Chroma some RGB devices, and it's not all dark and dingy colors. You can discount Hunt's "assertions" if you want, but he is about as close to the horses mouth as you will find.

    Unless you're using lasers for primaries, none of your real-world RGB devices can approach your "extreme wavelengths" criterion, either. RGB devices also use dyes, with imperfect transmission spectra and even lower efficiencies.

    I pulled out an old scan of an Ektachrome Q60 target. Following is a screen capture to show Photoshop's Gamut Warning for AdobeRGB. As you can see, already some not-so-dark colors are out of AdobeRGB's gamut. With minimal lightening, many more patches go out of gamut, including the whole yellow column.
    00aebd-485041584.jpg
     
  28. Well, I think we're all agreed that there's some overhang of the AdobeRGB space by E6 film's gamut in the reds, yellows and magentas - (I'm not quite convinced about the blues). The only area that's in "dispute" is the maximum green saturation, and you'll see that none of your IT8 scanned greens are out of gamut.
    The HCT target cited by Andrew contains more squares than the IT8. These are mainly darker colours, which do have a higher theoretical saturation, but at such low Y values that their visual appearance isn't at all vivid. However, even if we do include those high saturation/low Y colours we don't get perfect RGB triangles such as are being shown with a blatant lack of authority to represent the gamut of film. In short, I'm not trying to be hard on film, just on those people that seek to grossly exaggerate it's abilities.
    WRT the RGB primaries of modern display equipment. These now comprise LED or fluorescent gas tube illuminants, additionally narrowed by dye-based filters. The nett outcome is that the primaries we now commonly use in monitors would have been exceedingly difficult to produce when the CIE horshoe was born in 1931. Remember the CIE horshoe is not an objective representation of all possible colours, it just defines the limit of saturation beyond which the human eye can't differentiate. It therefore must be possible to produce colours exceeding that saturation in order to determine the limit of human vision. You don't need a laser, just a monochromator and a bright light source of a suitable output colour.
     
  29. WRT the RGB primaries of modern display equipment. These now comprise LED or fluorescent gas tube illuminants, additionally narrowed by dye-based filters. The nett outcome is that the primaries we now commonly use in monitors would have been exceedingly difficult to produce when the CIE horshoe was born in 1931.​
    They were able to produce spectral primaries back then. For example, Wright's colorimeter (1928) had a double monochromater.
    Here's an interesting page by Marcel Patek on LCD technology, showing an LCD spectrum that has broader primaries than you might expect.
    Remember the CIE horshoe is not an objective representation of all possible colours, it just defines the limit of saturation beyond which the human eye can't differentiate. It therefore must be possible to produce colours exceeding that saturation in order to determine the limit of human vision. You don't need a laser, just a monochromator and a bright light source of a suitable output colour.​

    Actually, the CIE horseshoe ("spectrum locus") defines the limit of physically-realizable color stimuli. The spectrum locus is made up of monochromatic light - the purest spectral colors. To go outside the spectral locus you would have to build a light that was more pure than the purest monochromatic light - impossible!

    While it does define the physical limit, the spectrum locus does not define the limit of color perception. It is possible to stimulate the eye in such a way that colors can appear more intensely colorful than the monochromatic spectral colors, as though the colors were produced by stimuli that are outside of the spectrum locus.
    One way to produce these intense sensations is through adaptation. For example, if the eye is adapted to magenta light (by staring at it for a long time), the red and blue cones will be inhibited. If you then look at a spectral green, the green will appear intensified beyond the usual spectral green, since the red and blue ratios to green would be much lower than usual.
    Another way to do it is to somehow stimulate individual cones of one type (red, green, or blue) without stimulating the other types. I suppose this would require mapping all of the individual cones in the eye, and then selectively stimulating them with a tiny light beam. If you could do this you could hit each vertex of the triangle that encloses the spectum locus. I don't know if the technology to do this exists yet.
    Reference: "Beyond the locus of spectrally pure colors" by Mark D. Fairchild
     

Share This Page