## 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:Or, more efficiently:

- pcomb pic1 -s -1 pic2 > diff

To precompute the gamma correction for a picture:

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