pfsview(1) | General Commands Manual | pfsview(1) |
pfsview - Viewer for high-dynamic range images in pfs format
pfsview [--window_min <log_lum>] [--window_max <log_lum>]
pfsview is a QT application for viewing high-dynamic range images. It expects pfs stream on the standard input and displays the frames in that stream one by one.
pfsv script can be more convienent to use if hdr images are to be displayed without any prior processing.
To show high-dynamic range data on a low-dynamic range monitor, pfsview uses concept of a dynamic range window. The dynamic range window is the highest and lowest value that should be mapped to black and white pixel. Values above or below the window are clipped (see clipping methods below). The dynamic range window is displayed in pfsview as a blue area on the dynamic range scale (second toolbox from the top). The window can be moved, shrunk and expended using a mouse or a keyboard.
Currently, two clipping methods are available (see View menu):
High-dynamic range data are usually better visualized using non-linear scale, for example a logarithmic or a power function. pfsview offers several such scales, shown in View menu. Gray-scale values for each mapping method are computed by the formulas:
LINEAR: y = (x-min)/(max-min)
GAMMA: y = [ (x-min)/(max-min) ]^gamma
LOGARITHMIC: y = (log10(x)-log10(min))/(log10(max)-log10(min))
where y is the gray-scale value after mapping, x is an input HDR value, min and max are lower and upper bounds of the dynamic range window.
To reproduce the displayed image and save it to LDR image using pfs commands, you can use the following commands:
pfsin image.hdr | pfsgamma -g 2.2 -m 0.01 | pfsout image.png
where "2.2" is the gamma value from the "Mapping" combo box, and 0.01 is the exposure value. The exposure is shown as the right-most number in the window status bar of pfsview.
Lower bound of the values that should be displayed or minimum value of the dynamic range window. The value should be given in log_10 units, for example -1 if the lower bound should be 0.1 (10^-1).
Zomming in may sometimes show artifacts.
Please report bugs and comments to Rafal Mantiuk <mantiuk@mpi-sb.mpg.de>.