Contrast: Local Contrast Optimization

Top: globally stretched data without further local dynamic range optimisation. Bottom: Large to medium scale local dynamic range optimisation with the Contrast Module.

The Contrast module optimizes local dynamic range allocation, resulting in better contrast, reducing glare and bringing out faint detail.

It operates on medium to large areas and is especially effective for enhancing contrast in nebulae, globular clusters and galaxy cores.


A black and white rendition of the Meloitte 15 area full of nebulosity.
We will use this Hydrogen Alpha dataset of Meloitte 15, acquired by Jim Misti to demonstrate the Contrast module.

The Contrast module has some parameters in common with the Wipe module. In some ways it is similar, though not the same.

Just like the Wipe module, the Contrast module is sensitive to "dark anomalies"; pixels not of celestial origin that are darker than the real celestial background.

So, just like the Wipe module, if dark anomalies are present, we need to make sure that any such anomalies are mitigated before Contrast sees them, either by removing them (cropping them out) or instructing the Contrast module to ignore them (increasing the 'Dark anomaly filter' parameter).

A contrast-enhanced Meloitte15 nebula image showing the use of moderate settings in the interface.
A lower 'Aggrressiveness' setting tends to yield images that are less stark, by being less aggressive with local dynamic range optimisation.

Once any dark anomalies are taken care of, a suitable 'Aggressiveness' parameter needs to be chosen. The 'Aggressiveness' parameter controls how 'local' the dynamic range optimisation is allowed to be. You will find that a higher 'Aggressiveness' value with all else equal, will yield an image with areas of starker contrast. More generally, you will find that changing the 'Aggressiveness' value will see the Contrast module take pretty different decisions on what and where to optimise. The rule of thumb is that a higher 'Aggressiveness' value will see smaller and 'busier' areas given priority over larger more 'tranquil' areas.

A contrast-enhanced Meloitte15 nebula image showing the use of more aggressive settings in the interface.
A higher 'Aggrressiveness' setting tends to yield images that more stark, by being more aggressive with local dynamic range optimisation.

Similar to the Wipe module, the 'Precision' parameter can be used to increase the precision when dealing with highly detailed wide-fields with a lot of undulating detail, combined with high 'Aggressiveness' values.

The 'Dark anomaly headroom' parameter controls how heavily the Contrast module "squashes" the dynamic range of larger 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 (though this is not the case). For those familiar with music production, the Contrast module is very much akin to a Compressor, but for your image instead.

The 'Compensate gamma' feature attempts to apply a non-linear curve that makes the image just as bright as the source (input) image. This option may be desirable if the image has gotten to dark.

Finally, 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. This option may generate artefacts at high 'Aggressiveness' settings, which may be mitigated in some instances by increasing the 'Precision' parameter.