---
name: "pfsdisplayfunction"
section: "1"
platform: "linux"
package: "pfstools"
version: "2.2.0-9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pfsdisplayfunction"
---

# pfsdisplayfunction(1)

Apply display function to color or gray-scale images

## 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.)

- *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 type*s 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.*

## EXAMPLES

- *pfsin barbara.jpg \| pfsdisplayfunction -l -d pd:crt -v \| pfsout barbara\_crt.hdr*

  -

  *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)](/pfsgamma/1.md) [**pfstmo\_mantiuk08**(1)](/pfstmo_mantiuk08/1.md)

## BUGS

*Please report bugs and comments to the pfstools discussion group* *(http://groups.google.com/group/pfstools).*
