1pfsview(1) General Commands Manual pfsview(1)
2
3
4
6 pfsview - Viewer for high-dynamic range images in pfs format
7
9 pfsview [--window_min <log_lum>] [--window_max <log_lum>]
10
12 pfsview is a QT application for viewing high-dynamic range images. It
13 expects pfs stream on the standard input and displays the frames in
14 that stream one by one.
15
16 pfsv script can be more convienent to use if hdr images are to be dis‐
17 played without any prior processing.
18
19
21 To show high-dynamic range data on a low-dynamic range monitor, pfsview
22 uses concept of a dynamic range window. The dynamic range window is the
23 highest and lowest value that should be mapped to black and white
24 pixel. Values above or below the window are clipped (see clipping meth‐
25 ods below). The dynamic range window is displayed in pfsview as a blue
26 area on the dynamic range scale (second toolbox from the top). The win‐
27 dow can be moved, shrunk and expended using a mouse or a keyboard.
28
29
31 Currently, two clipping methods are available (see View menu):
32
33
34 Simple clipping
35 The values above and below the dynamic range window are dis‐
36 played as black or white.
37
38
39 Color-coded clipping
40 The values above the dynamic range window are displayed as yel‐
41 low and below the window as green. This is helpful to see which
42 parts of the image do not fit into the selected dynamic range.
43
44
45 Keep brightness and hue
46 This method tries to preserve brightness and hue while sacrific‐
47 ing color saturation when the colors exceed the RGB color gamut.
48 Colors are desaturated in the RGB color space towards the neu‐
49 tral color (D65) of the corresponding luminance.
50
51
53 High-dynamic range data are usually better visualized using non-linear
54 scale, for example a logarithmic or a power function. pfsview offers
55 several such scales, shown in View menu. Gray-scale values for each
56 mapping method are computed by the formulas:
57
58 LINEAR: y = (x-min)/(max-min)
59
60 GAMMA: y = [ (x-min)/(max-min) ]^gamma
61
62 LOGARITHMIC: y = (log10(x)-log10(min))/(log10(max)-log10(min))
63
64 where y is the gray-scale value after mapping, x is an input HDR value,
65 min and max are lower and upper bounds of the dynamic range window.
66
67
69 To reproduce the displayed image and save it to LDR image using pfs
70 commands, you can use the following commands:
71
72 pfsin image.hdr | pfsgamma -g 2.2 -m 0.01 | pfsout image.png
73
74 where "2.2" is the gamma value from the "Mapping" combo box, and 0.01
75 is the exposure value. The exposure is shown as the right-most number
76 in the window status bar of pfsview.
77
78
80 --window_min <log_lum>
81
82 Lower bound of the values that should be displayed or minimum
83 value of the dynamic range window. The value should be given in
84 log_10 units, for example -1 if the lower bound should be 0.1
85 (10^-1).
86
87
88 --window_max <log_lum>
89 Upper bound of the values that should be displayed or minimum
90 value of the dynamic range window. The value should be given in
91 log_10 units, for example -1 if the upper bound should be 0.1
92 (10^-1).
93
94
96 pfsin memorial.hdr | pfsview
97 See the memorial image.
98
99
100 pfsv memorial.hdr
101 The same as above, but using the utility script 'pv'.
102
103
105 pfsv(1) pfsin(1)
106
108 Zomming in may sometimes show artifacts.
109
110 Please report bugs and comments to Rafal Mantiuk <mantiuk@mpi-
111 sb.mpg.de>.
112
113
114
115 pfsview(1)