pfsdisplayfunction - Apply display function to color or gray-scale
images
pfsdisplayfunction [--display-function
<df-spec>] [--to-pixels | --to-luminance]
[--help] [--verbose]
Use this command to convert pixel values to luminance / radiance
units displayed on a monitor or to perform inverse conversion. This command
is useful in combination with the HDR-VDP to convert LDR images to luminance
maps representing images shown on a particular display. The display function
specification is identical to the specification used in the
pfstmo_mantiuk08 tone mapping operator (from the pfstmo package).
If neither --to-luminance nor --to-pixels option is
specified, the appropriate conversion direction will be deducted from the
LUMINANCE tag in the pfs stream.
- --to-luminance,
-l
- Convert pixel values to absolute luminance / radiance units. For RGB
images the same display function is applied in each color channel.
- --to-pixels,
-p
- Convert absolute luminance / radiance units to pixel values. For RGB
images the same display function is applied in each color channel.
- --display-function
<df-spec>, -d <df-spec>
- The display function describes how output luminance of a display changes
with pixel values. If no parameter is given, the command assumes
-df pd=lcd (see Pre-defined display below). There are
several ways to specify the display function:
- Gamma-gain-black-ambient
display model
- g=<float>:l=<float>:b=<float>:k=<float>:a=<float>[:n=<float>]
- Gamma-gain-black-ambient model can approximate a range of displays and is
a compact way to specify a display function. It assumes that a display
function has the following form:
- L_d(I) = (l-b)*I^gamma + b + k/pi*a
- The parameters are as follows:
- g -
- gamma or exponent of a display function (default 2.2, usually from 1.8 to
2.8)
- l -
- peak luminance of a display in cd/m^2 (default 100, from 80 for CRTs to
500 or more for newer displays)
- b -
- black level, which is luminance of a black pixel when the display is on
(default 1, usually from 0.3 to 1 cd/m^2)
- k -
- reflectivity of a screen (assuming that it is diffuse) (default 0.01,
usually about 0.01 (1%) for LCD displays, more for CRTs)
- a -
- ambient illumination in lux. Typical values are:
- 50 lux
- Family living room (dim, default)
- 400 lux
- A brightly lit office
- 32000 lux
- Sunlight on an average day (min.)
- 100000 lux
- Sunlight on an average day (max.)
- Pre-defined
display
- pd=<display_type>
- Use pre-defined display type. This options are for convenience only and
they do not mean to accurately model the response of a particular display.
The following display types are recognized:
- lcd_office
(g=2.2, l=100, b=0.8, k=0.01, a=400 )
- lcd set to "office" mode seen in bright environment
- lcd (g=2.2, l=200, b=0.8,
k=0.01, a=60 )
- typical lcd seen in dim environment (default)
- lcd_bright
(g=2.6, l=500, b=0.5, k=0.01, a=10 )
- newer LCD TV seen in dark environment
- crt (g=2.2, l=80, b=1,
k=0.02, a=60 )
- CRT monitor seen in dim environment
- The parameters in the parenthesis are the same as for the
gamma-gain-black-ambient model explained above.
- Lookup-table
- lut=<file>
- This is the most accurate specification of the display response function,
but requires measuring it with a luminance meter. The lookup table should
account also for ambient light, so that it is recommended to use the
luminance meter that can measure screen luminance from a distance, such as
Minolta LS-100 (as opposed to those that use rubber tube touching a
display that eliminates the influence of ambient light). The <file>
must be a comma-separated text file in a format (CSV) with two columns:
first column represents pixel values (from 0.0 to 1.0) and the second
physical luminance in cd/m^2. Both the pixel value and the luminance
should increase in each raw.
Please report bugs and comments to the pfstools discussion group
(http://groups.google.com/group/pfstools).