Table of Contents


ra_xyze - convert between RADIANCE RGBE and XYZE formats


ra_xyze [ -r ][ -e exposure ][ -c | -u ][ -p xr yr xg yg xb yb xw yw ] [ input [ output ] ]


Ra_xyze converts between RADIANCE RGBE
(red,green,blue,exponent) and XYZE (CIE X,Y,Z,exponent) formats. The -e option specifies an exposure compensation, which may be given as a decimal multiplier or in f-stops (powers of two). By default, ra_xyze produces a flat XYZE RADIANCE picture file from any type of RADIANCE input picture. To override these defaults, the -c option may be used to specify run-length encoded output, or the -u option may be used to specify a flat output.

The -r option causes ra_rgbe to produce a run-length encoded RGBE file instead. The -p option may be used to override the standard RADIANCE RGB primary colors to tailor the image for a particular output device or representation. The eight floating-point arguments to this option are the 1931 CIE (x,y) chromaticity coordinates of the three RGB primaries plus the white point, in that order. The new primaries will be recorded in the header of the output file, so that the original information may be fully recovered later. It is not necessary that the input file by in XYZE format. Th -r option may therefore be used to convert from one RGB primary representation to another using the -p option.

If the output file is missing, the standard output is used. If the input file is missing as well, the standard input is used.


The CIE standard used is the 1931 2-degree observer, and the correct output representation relies on the original RADIANCE input description being defined properly in terms of the standard RADIANCE RGB primaries, whose CIE (x,y) chromaticity values are defined in the header file in src/common/color.h. In this same file is a standard for the luminous efficacy of white light (WHTEFFICACY), which is used as a conversion between lumens and watts throughout RADIANCE. This same factor is applied by ra_xyze when converting between the radiometric units of the RGBE format and the photometric units of the XYZE format. The purpose of this factor is to ensure that the Y component of the CIE representation is luminance in units of candelas/meter^2.

Although the white point calibration of monitors is often off-white, we recommend using equal-energy white as the primary value because a person viewing the monitor will automatically adjust his or her perception such that the display appears white. Using a measured white point, one may get the absolute CIE color up on the screen, but it will appear to be shifted due to the viewer's transient adaptation.

Most of the RADIANCE picture filters should work uniformly on either RGBE or XYZE files, so it is not necessary to convert back to RGBE format except for conversion or display, in which case the correct primaries for the chosen output device should be specified with the -p option if they are known.


To convert RGBE output from rpict(1) into run-length encoded XYZE format:

rpict [options] scene.oct | ra_xyze -c > scene_xyz.pic

To prepare a RADIANCE picture for display on a calibrated NTSC monitor:

ra_xyze -r -p .670 .330 .210 .710 .140 .080 .333 .333 stand.pic ntsc.pic


Greg Ward


Any color correction applied to the original image is not removed or translated by ra_xyze, and it may result in color shifts in the output. If color preservation is important and the correction is unwanted, it is best to remove it with pfilt(1) using the -er, -eg and -eb options first. (Simply look at the header and apply the reciprocal primaries of all COLORCORR= lines multiplied together.) Better still, get the picture before color correction is applied.


pfilt(1), ra_rgbe(1), rpict(1)

Header and Footer

RA_XYZE(1) RADIANCE (5/30/96) RA_XYZE(1)
Page 1 (printed 7/17/96)

Table of Contents