pfsdisplayfunction(1) | General Commands Manual | pfsdisplayfunction(1) |
NAME¶
pfsdisplayfunction - Apply display function to color or gray-scale images
SYNOPSIS¶
pfsdisplayfunction [--display-function <df-spec>] [--to-pixels | --to-luminance] [--help] [--verbose]
DESCRIPTION¶
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.
OPTIONS¶
- --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.)
- 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.
- 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.
EXAMPLES¶
- Convert barbara.jpg image from pixel values to a luminance map of the image shown on a CRT monitor and store the map as an HDR image.
SEE ALSO¶
pfsgamma(1) pfstmo_mantiuk08(1)
BUGS¶
Please report bugs and comments to the pfstools discussion group (http://groups.google.com/group/pfstools).