ppmcie
draw a CIE color chart as a PPM image
see also :
ppmdither - ppmquant
Synopsis
ppmcie
[-rec709|-cie|-ebu|-hdtv|-ntsc|-smpte]
[-xy|-upvp] [-red
rx ry] [-green gx gy]
[-blue bx by] [-white wx
wy] [-size edge]
[-xsize|-width width]
[-ysize|-height height]
[-noblack] [-nowpoint]
[-nolabel] [-noaxes]
[-full]
All options can
be abbreviated to their shortest unique prefix.
add an example, a script, a trick and tips
examples
no example yet ...
... Feel free to add your own example above to help other Linux-lovers !
description
ppmcie
creates a PPM file containing a plot of the CIE
’’tongue’’ color chart -- to the
extent possible in a PPM image. Alternatively, creates a
pseudo-PPM image of the color tongue using RGB values from a
color system of your choice.
The CIE color
tongue is an image of all the hues that can be described by
CIE X-Y chromaticity coordinates. They are arranged on a two
dimensional coordinate plane with the X chromaticity on the
horizontal axis and the Y chromaticity on the vertical
scale. (You can choose alternatively to use CIE
u’-v’ chromaticity coordinates, but the general
idea of the color tongue is the same).
Note that the
PPM format specifies that the RGB values in the file are
from CIE Rec. 709 color system, gamma-corrected. And
positive. See ppm(5) for details. If you use one of
the color system options on ppmcie, what you get is
not a true PPM image, but is very similar. If you display
such ppmcie output using a device that expects PPM
input (which includes just about any computer graphics
display program), it will display the wrong colors.
However, you
may have a device that expects one of these variations on
PPM.
In every RGB
color system you can specify, including the default (which
produces a true PPM image) there are hues in the color
tongue that can’t be represented. For example,
monochromatic blue-green with a wavelength of 500nm cannot
be represented in a PPM image.
For these hues,
ppmcie substitutes a similar hue as follows: They are
desaturated and rendered as the shade where the edge of the
Maxwell triangle intersects a line drawn from the requested
shade to the white point defined by the color system’s
white point. Furthermore, unless you specify the
-full option, ppmcie reduces their intensity
by 25% compared to the true hues in the image.
ppmcie
draws and labels the CIE X-Y coordinate axes unless you
choose otherwise with options.
ppmcie
draws the Maxwell triangle for the color system in use on
the color tongue. The Maxwell triangle is the triangle whose
vertices are the primary illuminant hues for the color
system. The hues inside the triangle show the color gamut
for the color system. They are also the only ones that are
correct for the CIE X-Y chromaticity coordinates shown. (See
explanation above).
ppmcie
also places a mark at the color system’s white point
and displays in text the CIE X-Y chromaticities of the
primary illuminants and white point for the color system.
You can turn this off with options, though.
ppmcie
annotates the periphery of the color tongue with the
wavelength, in nanometers of the monochromatic hues which
appear there.
Finally,
ppmcie displays the black body chromaticity curve for
Planckian radiators from 1000 to 30000 kelvins on the
image.
You can choose
from several standard color systems, or specify one of your
own numerically.
CIE charts, by
their very nature, contain a very large number of colors. If
you’re encoding the chart for a color mapped device or
file format, you’ll need to use ppmquant or
ppmdither to reduce the number of colors in the
image.
options
-rec709|-cie|-ebu|-hdtv|-ntsc|-smpte
Select a standard color system
whose gamut to plot. The default is -rec709,
which chooses CIE Rec. 709, gamma-corrected. This is the
only color system for which ppmcie’s output is
a true PPM image. See explanation above. -ebu
chooses the primaries used in the PAL and SECAM broadcasting
standards. -ntsc chooses the primaries
specified by the NTSC broadcasting system (few modern
monitors actually cover this range). -smpte
selects the primaries recommended by the Society of Motion
Picture and Television Engineers (SMPTE) in standards RP-37
and RP-145, and -hdtv uses the much broader
HDTV ideal primaries. -cie chooses a
color system that has the largest possible gamut within the
spectrum of the chart. This is the same color system as you
get with the -cie option to John Walker’s
cietoppm program.
-xy
plot CIE 1931 x y chromaticities. This is the
default.
-upvp
plot u’ v’ 1976 chromaticities rather than
CIE 1931 x y chromaticities. The advantage of u’
v’ coordinates is that equal intervals of distance on
the u’ v’ plane correspond roughly to the
eye’s ability to discriminate colors.
-red rx
ry
specifies the CIE x and
y co-ordinates of the red illuminant of a custom
color system and selects the custom system.
-green gx
gy
specifies the CIE x and
y co-ordinates of the green illuminant of the color
system and selects the custom system.
-blue bx
by
specifies the CIE x and
y co-ordinates of the blue illuminant of the color
system and selects the custom system.
-white wx
wy
specifies the CIE x and
y co-ordinates of the white point of the color system
and selects the custom system.
-size
edge
Create a pixmap of edge
by edge pixels. The default is 512x512.
-xsize|-width
width
Sets the width of the generated
image to width pixels. The default width is 512
pixels. If the height and width of the image are not the
same, the CIE diagram will be stretched in the longer
dimension.
-ysize|-height
height
Sets the height of the
generated image to height pixels. The default height
is 512 pixels. If the height and width of the image are not
the same, the CIE diagram will be stretched in the longer
dimension.
-noblack
Don’t plot the black body chromaticity curve.
-nowpoint
Don’t plot the color system’s white
point.
-nolabel
Omit the label.
-noaxes
Don’t plot axes.
-full
Plot the entire CIE tongue in full intensity;
don’t enhance the gamut of the specified color
system.
see also
ppmdither ,
ppmquant , ppm
author
Copyright (C)
1995 by John Walker (kelvin[:at:]fourmilab[:dot:]ch) WWW home page:
http://www.fourmilab.ch/
Permission to use, copy, modify,
and distribute this software and its documentation for any
purpose and without fee is hereby granted, without any
conditions or restrictions. This software is provided
’’as is’’ without express or implied
warranty.