Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
pfstmo_mantiuk08(1)	     General Commands Manual	     pfstmo_mantiuk08(1)

NAME
     pfstmo_mantiuk08 - Display adaptive tone mapping

SYNOPSIS
     pfstmo_mantiuk08	[--display-function   <df-spec>]  [--display-size=<size-
     spec>]  [--color-saturation   <float>]   [--contrast-enhancement	<float>]
     [--white-y=<float>]  [--fps=<frames-per-second>] [--output-tone-curve=<file
     name>] [--verbose] [--help]

DESCRIPTION
     This command applies the display adaptive tone mapping, which  attempts  to
     preserve  contrast  of  an input (HDR) image as close as possible given the
     characteristic of an output display. Use this tone mapping operator if  you
     want  to  preserve  original image appearance, or slightly enhance contrast
     (-e option) while maintaining the natural look of images. The operator  can
     also  compensate for ambient light reflections on a screen, and for varying
     dynamic range and brightness of a display. The  operator  is  suitable  for
     video sequences as it prevents high-frequency changes in tone-curve between
     consecutive  frames, which would result in flickering. Note that the tempo-
     ral filtering is always active and there is no need to specify an	argument
     to switch it on.

     More details can be found in:
	    Rafal Mantiuk, Scott Daly and Louis Kerofsky.
	    Display Adaptive Tone Mapping.
	    In: ACM Transactions on Graphics 27 (3), 2008.
	    http://www.mpi-inf.mpg.de/resources/hdr/datmo/

     If you find this TMO useful in your research project, please cite the paper
     above.

     This operator also employs color correction mechanism from:
	    Radoslaw  Mantiuk,	Rafal  Mantiuk,  Anna Tomaszewska, Wolfgang Hei-
	    drich.
	    Color Correction for Tone Mapping.
	    In: Computer Graphics Forum (Proc. of EUROGRAPHICS'09), 28(2), 2009.
	    http://zgk.wi.ps.pl/color_correction/

     The result of this TMO does not require gamma correction.

OPTIONS
     --display-function <df-spec>, -d <df-spec>
	    To adapt tone-mapping to different displays, this operator	must  be
	    provided a display function. The display function describes how out-
	    put  luminance of a display changes with pixel values. If no parame-
	    ter is given, the command assumes -df pd=lcd (see  Pre-defined  dis-
	    play 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 dis-
		 play 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 luxA 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 particu-
	    lar 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 lumi-
	    nance from a distance, such as Minolta LS-100 (as opposed  to  those
	    that  use  rubber tube touching a display that eliminates the influ-
	    ence 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.

     --display-size=<size-spec>, -s=<size_spec>
	    Specifies how large the image appears to a viewer and  what  is  the
	    viewing  distance.	 If no parameter is given, -s ppd=30 is assumed.
	    Since this tone-mapper is global, display size has	moderate  effect
	    on	the resulting images and thus skipping this parameter should not
	    do much harm. There are two ways to specify image size:
	    vres=<lines>:vd=<screen_heights>[:d=<meters>]
		   vres   - screen's vertical resolution in lines,  for  example
			  1024.
		   vd	  -  viewing  distance specified as multiplies of screen
			  height. For example if the display is seen  from  0.5m
			  and the height of its screen is 25cm, vd=2.
		   d	  -  (optional)  viewing  distance in meters. This is to
			  account for lower eye's sensitivity for larger viewing
			  distances (although the effect is negligible). By  de-
			  fault -d=0.5 is assumed.
	    ppd=<pixels_per_visual_degree>[:d=<meters>]
		   ppd	  - how many pixels spans one visual degree.
		   d	  -  (optional)  viewing  distance in meters. This is to
			  account for lower eye's sensitivity for larger viewing
			  distances (although the effect is negligible). By  de-
			  fault -d=0.5 is assumed.

     --color-saturation <float>, -c <float>
	    Decrease  or  increase  color saturation after tone mapping. Default
	    value -c=1 attempts to preserve color appearance of the original im-
	    age. Use values >1 to increase and <1 to decrease color saturation.

     --contrast-enhancement <float>, -e <float>
	    By default this tone-mapper attempts to preserve contrast of an  in-
	    put image (-e=1). This parameter controls whether the contrast of an
	    input  image  should  be  enhanced	before tone-mapping. For example
	    -e=1.15 boosts contrast by 15%. Note that if a target  display  does
	    not  offer	sufficient  dynamic range, contrast may be enhanced only
	    for selected tone-values (those that dominate in an  image)  or  not
	    enhanced at all.

     --white-y=<float>, -y=<float>
	    Tells the tone-mapper what luminance level in the input image should
	    be	mapped	to  the maximum luminance of a display. Since HDR images
	    contain only relative luminance information,  tone-mapper  does  not
	    know  how  bright  should  be the scene. This option is meant to fix
	    this problem by providing tone-mapper with the information what  lu-
	    minance  level  in	an  input image should be perceived as a diffuse
	    white surface. Default is none, which means  that  no  such  mapping
	    will  be enforced and tone-mapper is free to find an optimal bright-
	    ness for a given image. This is a recommended setting  for	HDR  im-
	    ages.  Setting  --white-y  could be necessary for dark scenes, which
	    could be made too bright by the tone-mapper. The value of this para-
	    meter can be also passed in pfsstream as a tag WHITE_Y. pfstools 1.7
	    and newer sets set this tag automatically for LDR images.  The  com-
	    mand line option overrides the value of the pfstream tag.

     --fps=<frames-per-second>, -f=<frames-per-second>
	    Set  the  frame rate of the input sequence. Default is 25. Currently
	    only 3 values are supported: 25, 30 and 60. This parameter	controls
	    temporal  filter  that makes sure the resulting sequence is coherent
	    in time. This reduces the likelihood of a visible flicker.

     --output-tone-curve=<file name>, -o=<file name>
	    Write tone-curves to a text file. This option is mainly  for  debug-
	    ging  purposes,  but  can be used to visualize computed tone-curves.
	    The tone-curve data is stored in a comma separated text file  (CSV),
	    consisting	of three columns: frame number, log10 of input luminance
	    factor, log10 of the resulting  display  luminance,  and  the  pixel
	    value (0-1).

     --verbose, -v
	    Print additional information during program execution.

     --quiet, -q
	    Do not display progress report.

     --help, -h
	    Print list of commandline options.

EXAMPLES
     pfsin memorial.hdr | pfstmo_mantiuk08 -d pd=crt | pfsout memorial.png

	    Tone  map  memorial  image for a CRT display and store the result in
	    the PNG format.

     pfsin memorial.hdr | pfstmo_mantiuk08 -d g=2.6:l=500:b=0.5:k=0.01:a=10 |
     pfsview

	    Tone map memorial image for a display that has a 2.2 gamma, the peak
	    luminance of 500 cd/m^2, the black level of 0.5  cd/m^2,  the  panel
	    reflectivity  of  1% (0.01) and is seen under the illumination of 10
	    lux.

     pfsin bridge.jpg --linear | pfsclamp --min 0.007 | pfstmo_mantiuk08 -v |
     pfsview

	    Enhance the low-dynamic range image 'bridge' and  view  the  result.
	    pfsclamp command reduces noise for low code values.

     pfsin  frame%05d.exr  | pfstmo_mantiuk08 -d pd=lcd_bright --fps 30 | pfsout
	    out_frame%04d.png

	    Tone-map video sequence at 30 frame-per-second frame rate.

     pfsin *.exr | pfstmo_mantiuk08 | pfsview

	    Tone-map and display *.exr HDR images in the current directory.

     pfsin *.exr | pfstmo_mantiuk06 | pfsgamma -g 0.8 | pfstmo_mantiuk08 |
     pfsview

	    It is possible to stack a  TMO  that  sharpens  images  (pfstmo_man-
	    tiuk06)  with  the contrast preserving TMO (pfstmo_mantiuk08) to get
	    new interesting results.

SEE ALSO
     pfsin(1) pfsout(1) pfsview(1)

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

							     pfstmo_mantiuk08(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pfstmo_mantiuk08&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help