Usage

The contrast module works by evaluating minimum and maximum brightness in a pixel's local area, and using these statistics to adjust the pixel's brightness. The size of the local areas is controlled by the 'Locality' parameter. In essence, the 'Locality' parameter controls how 'local' the dynamic range optimisation is allowed to be. You will find that a higher 'Locality' value with all else equal, will yield an image with areas of starker contrast. More generally, you will find that changing the 'Locality' value will see the Contrast module take rather different decisions on what (and where) to optimise. The rule of thumb is that a higher 'Locality' value will see smaller and 'busier' areas given priority over larger more 'tranquil' areas.

The 'Shadow Detail Size' parameter specifies how "careful" the Contrast module should be with dark detail. Dark detail below a certain size, may have some of its dynamic range de-allocated and given back a 'reduced' dynamic range allocation. The relative size (in percentage points) of this dynamic range that is given back, is specified by the 'Shadow Dynamic Range Allocation' parameter. The higher this value, the more dynamic range is optimised for small bright detail and larger dark detail, land less for small dark detail.

As alluded before, The 'Shadow Dynamic Range Allocation' parameter controls how heavily the Contrast module "squashes" the dynamic range of dark, smaller scale features it deems "unnecessary"; by de-allocating dynamic range that is used to describe larger features and re-allocating it to interesting local features, the de-allocation necessarily involves reducing the larger features' dynamic range, hence "squashing" that range. Very low settings may appear to clip the image in some extreme cases (though this is not the case). For those familiar with music production, the Contrast module is analogous to a compressor, but for your images instead.

The 'Brightness Retention' feature attempts to retain the apparent brightness of the input image. It does so through calculating a non-linear stretch that aligns the histogram peak (statistical 'mode') of the old image with that of the new image. An optional 'Darken Only' operation only keeps pixels from the resulting image that are darker than the input image.

The 'Expose dark areas' option can help expose detail in the shadows by normalizing the dynamic range locally; making sure that the fully dynamic range is used at all times.