Linux Blog

PPMCIE

Section: User Commands (1)
Updated: 26th September 1994
Index Return to Main Contents

 

NAME

ppmcie - draw a CIE color chart as a PPM image

 

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.

 

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(1), ppmquant(1), ppm(5)

 

AUTHOR

Copyright (C) 1995 by John Walker (kelvin@fourmilab.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.


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
SEE ALSO
AUTHOR




Random Man Pages:
recvfrom
utf-8
sane-sm3600
keymaps