Provided by: radiance_4R1+20120125-1.1_amd64 bug

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)