Man Linux: Main Page and Category List

NAME

       pcomb - combine RADIANCE pictures

SYNOPSIS

       pcomb  [  -h ][ -w ][ -x xres ][ -y yres ][ -f file ][ -e expr ] [ [ -o
       ][ -s factor ][ -c r g b ] input ..  ]

DESCRIPTION

       Pcomb combines equal-sized RADIANCE pictures and sends  the  result  to
       the  standard  output.   By  default,  the  result  is  just  a  linear
       combination of the input pictures multiplied by -s and -c coefficients,
       but  an  arbitrary  mapping can be assigned with the -e and -f options.
       Negative coefficients and functions are allowed, and pcomb will produce
       color values of zero where they would be negative.

       The  variables  ro,  go  and  bo specify the red, green and blue output
       values, respectively.  Alternatively, the single  variable  lo  can  be
       used  to  specify  a  brightness value for black and white output.  The
       predefined functions ri(n), gi(n) and bi(n) give  the  red,  green  and
       blue  input values for picture n.  To access a pixel that is nearby the
       current one, these functions also accept optional x and y offsets.  For
       example,  ri(3,-2,1)  would  return the red component of the pixel from
       picture 3 that is left 2 and up 1 from the current position.   Although
       x  offsets  may  be  as  large  as  width of the picture, y offsets are
       limited  to  a  small  window  (+/-  32  pixels)  due   to   efficiency
       considerations.   However,  it  is not usually necessary to worry about
       this problem -- if the requested offset is not available, the next best
       pixel is returned instead.

       For  additional convenience, the function li(n) is defined as the input
       brightness for picture n.  This function also accepts x and y  offsets.

       The  constant  nfiles  gives  the number of input files present, and WE
       gives the white efficacy (lumens/brightness) for  pixel  values,  which
       may  be  used  with  the  -o  option  or the le(n) values to convert to
       absolute photometric units (see below).  The variables x and y give the
       current output pixel location for use in spatially dependent functions,
       the constants  xmax  and  ymax  give  the  input  resolution,  and  the
       constants  xres  and yres give the output resolution (usually the same,
       but see below).  The constant functions re(n), ge(n), be(n), and  le(n)
       give   the   exposure  values  for  picture  n,  and  pa(n)  gives  the
       corresponding pixel aspect ratio.  Finally, for  pictures  with  stored
       view  parameters,  the  functions Ox(n), Oy(n) and Oz(n) return the ray
       origin in world coordinates for the current pixel  in  picture  n,  and
       Dx(n),  Dy(n)  and  Dz(n)  return  the  normalized  ray  direction.  In
       addition, the function T(n) returns the distance from the origin to the
       aft clipping plane (or zero if there is no aft plane), and the function
       S(n) returns the solid angle of the current pixel in steradians (always
       zero  for  parallel  views).   If the current pixel is outside the view
       region, T(n) will return a negative value, and S(n) will return zero.

       The -h option may be used to reduce the information header size,  which
       can  grow  disproportionately  after  multiple  runs  of  pcomb  and/or
       pcompos(1).  The -w option can be used  to  suppress  warning  messages
       about  invalid  calculations.   The  -o  option indicates that original
       pixel values are to be used for the next picture, undoing any  previous
       exposure changes or color correction.

       The  -x  and  -y  options  can  be  used  to specify the desired output
       resolution, xres and yres,  and  can  be  expressions  involving  other
       constants  such as xmax and ymax.  The constants xres and yres may also
       be specified in a file or expression.  The default output resolution is
       the same as the input resolution.

       The -x and -y options must be present if there are no input files, when
       the definitions of ro, go and bo will be used to  compute  each  output
       pixel.   This  is useful for producing simple test pictures for various
       purposes.  (Theoretically, one could write a  complete  renderer  using
       just the functional language...)

       The  standard  input  can  be specified with a hyphen (’-’).  A command
       that produces a RADIANCE picture can be given in place  of  a  file  by
       preceeding it with an exclamation point (’!’).

EXAMPLES

       To produce a picture showing the difference between pic1 and pic2:

         pcomb  -e  ’ro=ri(1)-ri(2);go=gi(1)-gi(2);bo=bi(1)-bi(2)’ pic1 pic2 >
         diff

       Or, more efficiently:

         pcomb pic1 -s -1 pic2 > diff

       To precompute the gamma correction for a picture:

         pcomb -e ’ro=ri(1)^.4;go=gi(1)^.4;bo=bi(1)^.4’ inp.hdr > gam.hdr

       To perform some special filtering:

         pcomb -f myfilt.cal -x xmax/2 -y ymax/2 input.hdr > filtered.hdr

       To make a picture of a dot:

         pcomb          -x          100          -y           100           -e
         ’ro=b;go=b;bo=b;b=if((x-50)^2+(y-50)^2-25^2,0,1)’ > dot

AUTHOR

       Greg Ward

SEE ALSO

       getinfo(1), icalc(1), pcompos(1), pfilt(1), rpict(1)