Radiance pcomb program
PCOMB(1) PCOMB(1)
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 combina-
tion 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 val-
ues, respectively. Alternatively, the single variable lo can be used
to specify a brightness value for black and white output. The prede-
fined 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 cur-
rent 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 lim-
ited to a small window (+/- 32 pixels) due to efficiency considera-
tions. However, it is not usually necessary to worry about this prob-
lem -- 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 abso-
lute 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 con-
stants 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 pcom-
pos(1). The -w option can be used to suppress warning messages about
invalid calculations. The -o option indicates that original pixel val-
ues 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 resolu-
tion, xres and yres, and can be expressions involving other constants
such as xmax and ymax. The constants xres and yres may also be speci-
fied 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' pic > pic.gam
To perform some special filtering:
pcomb -f myfilt.cal -x xmax/2 -y ymax/2 input.pic > filtered.pic
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)
RADIANCE 8/31/96 PCOMB(1)
Man(1) output converted with
man2html