applies a tone mapping to color values in image so as to make variations of luminance visible even in small intervals of the dynamic range.


maps colors by compressing the overall range of luminance values by a factor c.


applies a mapping only to colors whose initial luminance lies in the specified range.


takes the specified range of colors and compresses their overall luminance values by a factor c.


uses different compression factors ci for different ranges rangei.


uses the color compensation factor s to correct for saturation distortion introduced during tone mapping.

Details and Options

  • ColorToneMapping is typically used to represent a high-dynamic-range image on a low-dynamic-range screen by compressing the range of luminance values while preserving local spatial details.
  • ColorToneMapping works with grayscale and color images. Images with ColorSpace->Automatic are converted to "RGB".
  • The compression factor c ranges from 0 to 1. The default setting is c=1/2.
  • With c=0, minimal compression is performed. With c=1, extreme compression is performed, which typically results in a poorly contrasted, nonrealistic image.
  • Pixel luminance interval range can be in one of the following forms:
  • Allfull luminance interval (default)
    {min,max}interval ranging from min to max
    "Low"dark luminance values smaller than
    "Medium"intermediate luminance values ranging from to
    "High"high luminance values greater than
  • With overlapping ranges {rangei,ci} and {rangej,cj}, the maximum compression is used for the overlapping part. »
  • The color compensation factor s can be any non-negative value, with typical values being in the range from to .
  • The following are values and effects of the different values for s:
  • Automaticbased on compression factor and method (default)
    0completely desaturate colors, i.e. grayscale
    0<s<1desaturate colors
    1no effect
    s>1saturate colors
  • ColorToneMapping takes a Method option. Possible settings include:
  • "RGB"global mapping of RGB channels
    "Luminance"global mapping of luminance
    "LogLuminance"global mapping of luminance logarithm
    "DodgingAndBurning"local digital dodging and burning
    {"BaseLuminance",λ}local scaling of the base luminance, combined with details multiplied by λ (default)


open allclose all

Basic Examples  (1)

Apply tone mapping to a high dynamic range image:

Scope  (8)

Tone map an image by compressing the luminance by a factor 0.2:

Tone map pixels in a luminance range specified by minimum and maximum values:

Use a named luminance interval:

Tone map two different sets of pixels:

Specify an amount of contrast compression:

Apply tone mapping in several ranges with several compression factors:

With overlapping ranges, the maximum compression is used for the overlapping part:

Specify a saturation correction:

Options  (3)

Method  (3)

The default mapping method is "BaseLuminance":

Specify a detail factor:

Compare the four methods based on some form of luminance compression:

Local methods typically yield crisper images:

Compare with global methods:

Global methods typically emphasize speed of computation:

Compare with local methods:

Use Method->"RGB" to highlight dark regions in a low dynamic range image:

More sophisticated methods typically yield unnatural results with low dynamic range images:

Applications  (1)

Lighten underexposed areas in a picture:

Wolfram Research (2015), ColorToneMapping, Wolfram Language function,


Wolfram Research (2015), ColorToneMapping, Wolfram Language function,


Wolfram Language. 2015. "ColorToneMapping." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2015). ColorToneMapping. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_colortonemapping, author="Wolfram Research", title="{ColorToneMapping}", year="2015", howpublished="\url{}", note=[Accessed: 20-July-2024 ]}


@online{reference.wolfram_2024_colortonemapping, organization={Wolfram Research}, title={ColorToneMapping}, year={2015}, url={}, note=[Accessed: 20-July-2024 ]}