NAME
pcond - condition a RADIANCE picture for output
SYNOPSIS
pcond [ options ] input [ output ]
DESCRIPTION
Pcond conditions a Radiance picture for output to a display or hard
copy device. If the dynamic range of the scene exceeds that of the
display (as is usually the case), pcond will compress the dynamic range
of the picture such that both dark and bright regions are visible. In
addition, certain limitations in human vision may be mimicked in order
to provide an appearance similar to the experience one might have in
the actual scene.
Command line switches turn flags off and on, changing program behavior.
A switch given by itself toggles the flag from off to on or on to off
depending on its previous state. A switch followed by a ’+’ turns the
option on explicitly. A switch followed by a ’-’ turns the option off.
The default is all switches off. Other options specify output device
parameters in order to get more accurate color and contrast.
-h[+-] Mimic human visual response in the output. The goal of this
process is to produce output that correlates strongly with a
person’s subjective impression of a scene. This switch is a
bundle of the -a, -v, -s and -c options.
-a[+-] Defocus darker regions of the image to simulate human visual
acuity loss. This option will not affect well-lit scenes.
-v[+-] Add veiling glare due to very bright regions in the image.
This simulates internal scattering in the human eye, which
results in a loss of visible contrast near bright sources.
-s[+-] Use the human contrast sensitivity function in determining
the exposure for the image. A darker scene will have
relatively lower exposure with lower contrast than a well-lit
scene.
-c[+-] If parts of the image are in the mesopic or scotopic range
where the cone photoreceptors lose their efficiency, this
switch will cause a corresponding loss of color visibility in
the output and a shift to a scotopic (blue-dominant) response
function.
-w[+-] Use a center-weighted average for the exposure rather than
the default uniform average. This may improve the exposure
for scenes with high or low peripheral brightness.
-i fixfrac
Set the relative importance of fixation points to fixfrac,
which is a value between 0 and 1. If fixfrac is zero (the
default), then no fixation points are used in determining the
local or global adaptation. If fixfrac is greater than zero,
then a list of fixation points is read from the standard
input. These points are given as tab-separated (x,y) picture
coordinates, such as those produced by the -op option of
ximage(1). The foveal samples about these fixation points
will then be weighted together with the global averaging
scheme such that the fixations receive fixfrac of the total
weight. If fixfrac is one, then only the fixation points are
considered for adaptation.
-I[+-] Rather than computing a histogram of foveal samples from the
source picture, use the precomputed histogram provided on the
standard input. This data should be given in pairs of the
base-10 logarithm of world luminance and a count for each bin
in ascending order, as computed by the phisto(1) script.
This option is useful for producing identical exposures of
multiple pictures (as in an animation), and provides greater
control over the histogram computation.
-l[+-] Use a linear response function rather than the standard
dynamic range compression algorithm. This will prevent the
loss of usable physical values in the output picture,
although some parts of the resulting image may be too dark or
too bright to see.
-e expval Set the exposure adjustment for the picture to expval. This
may either be a real multiplier, or a (fractional) number of
f-stops preceeded by a ’+’ or ’-’. This option implies a
linear response (see the -l option above).
-u Ldmax Specifies the top of the luminance range for the target
output device. That is, the luminance (in candelas/m^2) for
an output pixel value of (R,G,B)=(1,1,1). The default value
is 100 cd/m^2.
-d Lddyn Specifies the dynamic range for the target output device,
which is the ratio of the maximum and minimum usable display
luminances. The default value is 32.
-p xr yr xg yg xb yb xw yw
Specifies the RGB primaries for the target output device.
These are the 1931 CIE (x,y) chromaticity values for red,
green, blue and white, respectively.
-f macbeth.cal
Use the given output file from macbethcal(1) to precorrect
the color and contrast for the target output device. This
does a more thorough job than a simple primary correction
using the -p option. Only one of -f or -p may be given.
-x mapfile
Put out the final mapping from world luminance to display
luminance to mapfile. This file will contain values from the
minimum usable world luminance to the maximum (in
candelas/m^2) in one column, and their corresponding display
luminance values (also in candelas/m^2) in the second column.
This file may be used for debugging purposes, or to plot the
mapping function created by pcond.
EXAMPLES
To display an image as a person might perceive it in the actual scene:
pcond -h final.hdr > display.hdr
ximage display.hdr ; rm display.hdr &
To do the same on a 24-bit display with known primary values:
setenv DISPLAY_PRIMARIES ".580 .340 .281 .570 .153 .079 .333 .333"
pcond -h -p $DISPLAY_PRIMARIES final.hdr | ximage &
To prepare a picture to be sent to a film recorder destined eventually
for a slide projector with a minimum and maximum screen luminance of
1.5 and 125 candelas/m^2, respectively:
pcond -d 83 -u 125 final.hdr > film.hdr
To do the same if the output colors of the standard image
"ray/lib/lib/macbeth_spec.hdr" have been measured:
macbethcal -c mbfilm.xyY > film.cal
pcond -d 83 -u 125 -f film.cal final.hdr > film.hdr
To further tweak the exposure to bring out certain areas indicated by
dragging the right mouse button over them in ximage:
ximage -op -t 75 final.hdr | pcond -i .5 -d 83 -u 125 -f film.cal
final.hdr > film.hdr
To use a histogram computed on every 10th animation frame:
phisto frame*0.hdr > global.hist
pcond -I -s -c frame0352.hdr < global.hist | ra_tiff - frame0352.tif
REFERENCE
Greg Ward Larson, Holly Rushmeier, Christine Piatko, ‘‘A Visibility
Matching Tone Reproduction Operator for High Dynamic Range Scenes,’’
IEEE Transactions on Visualization and Computer Graphics , December
1997.
http://www.sgi.com/Technology/pixformat/Larsonetal.html
AUTHOR
Greg Ward Larson
SEE ALSO
getinfo(1), macbethcal(1), normtiff(1), pcompos(1), pflip(1),
phisto(1), pinterp(1), pvalue(1), protate(1), ra_xyze(1), rad(1),
rpict(1), ximage(1)