pfsglview(1)
β¨ pfsglview β from the General Commands Manual β¨
okay bestie, buckle up, because this is pfsglview(1) and she is that girl π
π¦ NAME π¦
pfsglview β a viewer for high-dynamic range images in pfs format π
π SYNOPSIS π
pfsglview [--h] [--v]
π DESCRIPTION π
so, pfsview is an OpenGL/GLUT application for viewing high-dynamic range images. (yes, the page says pfsview right there, and we are not editing the queen's words, we're just relaying them, periodt.)
It expects a pfs stream on the standard input and it displays the frames in that stream one by one. that's it, that's the whole vibe. it reads the stream, it shows you the frames, no cap. β¨
πΈ DYNAMIC RANGE WINDOW πΈ
okay so here's the situation. to show high-dynamic range data on a low-dynamic range monitor, pfsglview uses the 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 get clipped (see the clipping methods below, bestie, they're important).
the dynamic range window shows up in pfsglview as a blue area on the dynamic range scale β that's the second toolbox from the top, iykyk. π«Ά
and the window? you can move it, shrink it and expand it using a mouse or a keyboard. main character energy fr fr. π
π§ ZOOMING AND PANNING π§
to zoom the image, drag the mouse in a vertical direction with the left button pressed. π±οΈ
pressing [space] or pressing the left mouse button above the statistic window (that's the left-bottom corner) switches from zooming to panning mode and vice versa. β¨
to pan the image, drag the mouse in vertical and horizontal directions with the left button pressed.
π POPUP MENU OPTIONS π
here's the full menu, every single item, no skips, no summaries, we're thorough in this house:
- 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 lower 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 window 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.
not me listing every single one of these because the assignment said no skipping π every option is here, bestie, count them, there are sixteen. π
π MAPPING METHODS π
high-dynamic range data are usually better visualized using a non-linear scale β for example a logarithmic or a power function. pfsglview offers several such scales, shown in the 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, and 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 (the Save&Quit option from the popup menu should be activated). π
π SEE ALSO π
Please report bugs and comments to Radoslaw Mantiuk <radoslaw.mantiuk@gmail.com>. π«Ά he's the one who wants to hear about your bugs, so tell him, don't just suffer in silence bestie.
and that's the whole page π that footer at the bottom? it's just pfsglview(1) β no version number, no date, that's genuinely all she wrote. so consider this your cute sign-off: pfsglview(1), that's the whole thing, slay, go view some high-dynamic range images β¨ππ¦
π¦ where this page comes from
- debian bookworm: pfsglview 2.2.0-5+b1 Β· GPL-2.0-or-later
- debian trixie: pfsglview 2.2.0-9 Β· GPL-2.0-or-later
- fedora 43: pfstools-glview 2.2.0-23.fc43 Β· GPL-2.0-or-later
- fedora 44: pfstools-glview 2.2.0-25.fc44 Β· GPL-2.0-or-later
- opensuse-leap 16.0: pfsglview 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfsglview 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfsglview 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfsglview 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- ubuntu jammy: pfsglview 2.2.0-2 Β· GPL-2.0-or-later
- ubuntu noble: pfsglview 2.2.0-7build3 Β· GPL-2.0-or-later
- ubuntu questing: pfsglview 2.2.0-9
- ubuntu resolute: pfsglview 2.2.0-10 Β· GPL-2.0-or-later
- ubuntu stonking: pfsglview 2.2.0-12 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms