SYNOPSIS

pfsglview [--h] [--v]

DESCRIPTION

pfsview is a OpenGL/GLUT 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.

DYNAMIC RANGE WINDOW

To show high-dynamic range data on a low-dynamic range monitor, pfsglview 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 pfsglview 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.

ZOOMING AND PANNING

To zoom image, the mouse can be dragged in vertical direction with the left button pressed. Pressing [space] button or pressing left mouse button above the statistic window (left-bottom corner) changes from zooming to panning modes and vice versa. To pan image, the mouse can be dragged in vertical and horizontal directions with the left button pressed.

POPUP MENU OPTIONS

Zoom reset

Set default zoom parameters.

Zoom in

Increase image (mouse dragging with left button pressed).

Zoom out

Decrease image (mouse dragging with left button pressed).

Increase exposure

Move dynamic range window into higher luminance values.

Decrease exposure

Move dynamic range window into lover luminance values.

Extend dynamic range

Extend dynamic range window.

Shrink dynamic range

Shrink dynamic range window

Low dynamic range

Set dynamic range window to <-1,1> range (log scale).

Fit to dynamic range

Set dynamic range windo to minimum and maximum luminance of a given image.

Choose channel

Change image data channel.

Mapping method

Change mapping method (see below for details).

Next frame

Display next image from the pipe.

Previous frame

Display previous image from the pipe.

Histogram

Switch on/off histogram window.

Info

Switch on/off info window.

Save&Quit

Send the visible LDR image (8-bits) to stdout and quit pfsglview.

MAPPING METHODS

High-dynamic range data are usually better visualized using non-linear scale, for example a logarithmic or a power function. pfsglview offers several such scales, shown in popup 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.

EXAMPLES

pfsin memorial.hdr | pfsglview

See the memorial image.

pfsin memorial.hdr | pfsglview | pfsout memorial.jpg

See the memorial image and save the clipped (8-bits) version to memorial.jpg (Save&Quit option from popup menu should be activated).

RELATED TO pfsglview…

pfsin(1)

Please report bugs and comments to Radoslaw Mantiuk <[email protected]>.