ppmcie
Control and configure PCIe devices
TLDR
Draw a CIE color chart using the REC709 color system as a PPM image
Specify the color system to be used
Specify the location of the individual illuminants
Do not dim the area outside the Maxwell triangle
SYNOPSIS
ppmcie [-cielab | -rgb | -ciexyz | -xyy] [-srgb | -linear] [-gamma value] [-whitepoint x y] [-maxval maxval] [ppmfile]
PARAMETERS
-cielab
Specifies that the input image is in the CIE L*a*b* color space. This is often the default behavior.
-rgb
Indicates that the input image is in the RGB color space, and ppmcie should convert it to CIELAB.
-ciexyz
Processes the image using the CIE XYZ color space for conversion.
-xyy
Works with the CIE x,y,Y color space, which represents color using chromaticity coordinates and luminance.
-srgb
Uses the sRGB standard for the output RGB color space, including its specific primaries and transfer function. This is the default output RGB space if not specified.
-linear
Specifies that the output RGB color space should be linear (without gamma correction applied).
-gamma value
Applies a custom gamma correction value to the RGB conversion process. Overrides -srgb or -linear gamma if used.
-whitepoint x y
Sets the chromaticity coordinates (x, y) of the reference white point for color space conversions (e.g., 0.3127 0.3290 for D65 illuminant). Defaults to D65.
-maxval maxval
Sets the maximum pixel value for the output image. Must be between 1 and 65535. The default is 255 if the input maxval is <= 255, or 65535 otherwise.
ppmfile
The input Portable Pixmap (PPM) image file. If omitted, ppmcie reads from standard input.
DESCRIPTION
ppmcie is a powerful utility within the Netpbm image manipulation suite, designed for converting pixel data between various color spaces. Its primary function is to transform images represented in the CIE L*a*b* (CIELAB) color space, which is designed to approximate human vision, into the RGB color space, which is commonly used for display devices. It can also perform conversions involving CIE XYZ and CIE x,y,Y color spaces.
This tool is essential for professional image processing and color management workflows where accurate color representation across different devices or standards is critical. Users can specify input and output color space models, gamma correction values, and white point illuminants (like D65), allowing for precise control over the conversion process. ppmcie reads a PPM (Portable Pixmap) image as input and outputs a PPM image, making it compatible with other Netpbm tools and a wide range of image processing pipelines.
CAVEATS
Accurate color space conversion requires a good understanding of color models, gamma correction, and white points. Incorrect parameters can lead to color shifts or inaccurate results. ppmcie strictly operates on PPM files; other image formats must be converted to PPM first (e.g., using anytoppm).
DEFAULT BEHAVIOR
By default, ppmcie assumes the input is a CIELAB image and converts it to sRGB. The default white point used for conversions is D65 (standard illuminant with a correlated color temperature of 6500K). When no input file is specified, it reads from standard input and writes to standard output, making it suitable for use in command-line pipelines.
HISTORY
ppmcie is a part of the Netpbm project, which traces its origins back to the PBMPlus package created by Jef Poskanzer in the late 1980s. Netpbm evolved into a comprehensive suite of tools for manipulating graphic images in the Portable Anymap (PAM) format family (PBM, PGM, PPM). ppmcie was developed to address the growing need for precise color management in digital imaging, allowing for accurate conversions between device-dependent (RGB) and device-independent (CIELAB) color spaces, reflecting the maturation of digital color standards.