De-Noise: Detail Aware Wavelet-based Noise Reduction

The De-Noise module offers detail-aware, astro-specific noise reduction, which, paired with StarTools' Tracking feature, yields results that have no equal.

Whereas generic noise reduction routines and plug-ins for terrestrial photography are often optimised to detect and enhance geometric patterns and structures in the face of random noise, the De-Noise module is optimised to do the opposite and optimise patterns and structures that are non-geometric in nature in the face of random noise (as well as read noise).

When used in conjunction with StarTools' 'Tracking' feature which data mines every decision and noise evolution per-pixel during the user's processing, the results that De-Noise is able to deliver autonomously are absolutely unparalleled. The extremely targeted noise reduction that is provided in this case, can only be approximated in other software by spending many hours creating a noise mask by hand.


Usage

A black and white crop of a nebula, rather noisy.
The final image before entering the denoising stage. Large local dynamic range variations were intentionally introduced using the Contrast module to decouple luminance and noise levels (e.g. one is no longer a predictor for the other), in order to demonstrate the noise evolution Tracking capabilities of StarTools.

Denoising starts when switching Tracking off. It is therefore generally the last step, and for good reason. Being the last step, Tracking has had the longest possible time to track and analyse noise propagation.

Bearing the aforementioned in mind, note that clicking the Denoise icon in the left hand menu launches the Denoise module in preview mode; the final result cannot be kept and is only meant for evaluation purposes to examine noise propagation and mitigation in an unfinished workflow. Only switching Tracking off will allow you to keep the final noise-reduced result.

The first stage of noise reduction involves the selection of 3 subtly different noise reduction algorithms, and helping StarTools establish a baseline for visual noise grain. To establish this baseline, increase the 'Grain size' parameter until no noise grain of any size can be seen any longer. StarTools will use this baseline to more intelligently redistribute the energy in the various bands that is taken out during the wavelet denoising in the second stage. Note that this parameter is also still available for modification in the second stage, though it lacks the visual aid presented here.

An interface dialog about Tracking and noise reduction.
Noise reduction is performed at the end of your processing by switching Tracking off.

After clicking 'Next', the wavelet scale extraction starts, upon which, after a short while, the second interactive noise reduction stage interface is presented.

The base algorithm that performs noise removal is an enhanced wavelet denoiser, meaning that it is able to attenuate features based on their size. Noise grain caused by shot noise (aka Poisson noise) - the bulk of the noise astrophotographers deal with - exists on all size levels, becoming less noticeable as the size increases. Therefore, much like the Sharp module, a number of scale sizes are available to tweak, allowing the denoiser to be more or less aggressive when removing features deemed noise grain at different sizes. Tweaks to these scale parameters are generally not necessary, but may be desirable if - for whatever reason - noise is not uniform and is more prevalent in a particular scale.

An interface with two controls and a somewhat blurry image of a nebula.
The first stage of the noise reduction procedure provides StarTools with a visual calibration with regards to the upper range of noise grain visibility, as well as a selection of 3 different noise reduction algorithms.

Signal flow

Firstly, different to basic wavelet denoising implementations, the algorithm is driven by the per-pixel signal (and its noise component) evolution statistics collected during the preceding image processing. E.g. rather than using a single global setting for all pixels in the image, StarTools' implementation uses a different setting (yet centered around a user-specified global setting) for every pixel in the image.

Second, the wavelet denoising algorithm is further enhanced by a feature scale correlation enhancement, which exploits common psychovisual techniques, whereby noise grain is generally tolerated better in areas of increased detail.

Third, because shot (Poissonian) noise (applied) behaves differently to Gaussian noise (added) in areas of low signal around the noise floor, a separate algorithm can be deployed for just these areas if they are prevalent in your image. Datasets and images that show symptoms of linear noise response breaking down, may exhibit conspicuous single dark pixels inside otherwise smooth areas. This step

An interface showing a number of parameters and controls and a blow-up of a noise-reduced nebula above it.
The second and final stage of the noise reduction process lets you fine-tune all aspects of the inherent trade-off between noise reduction and detail loss.

Finally, any removed energy is collected per pixel and re-distributed across the image, giving the user intuitive control over reintroduction of noise grain and fine detail, countering any over-smoothening.

Parameters

The parameters that govern global noise reduction response (rather than per-feature-size) are 'Brightness/Color detail loss' and 'Smoothness'.

'Brightness/Color detail loss' specifies a measure of allowed acceptable detail loss in order to reduce noise. In color images, the 'Color detail loss' parameter works solely on any color noise, while the 'Brightness detail loss' parameter works on the detail itself, but not its colors.

A black and white side-by side comparison of two images of a nebula, with the left appearing noiser than the right.
A 200% enlarged crop of the image before (left) and after (right) the Tracking-driven denoising stage. No masks were used, while noise reduction has kept perfect lock-step with perceived grain despite large local dynamic range variations.

The 'Smoothness' parameter determines how much (or little) the denoiser should take notice of any inter-scale detail correlation. Detail correlation is higher in areas that look 'busy' such as galaxy or nebula cores or shock waves, whereas detail correlation is low in areas that are 'tranquil' such as opaque homogenous gas clouds. Increasing 'Smoothness' progressively ignores such correlation, allowing for more aggressive noise reduction in areas of higher correlation.

'Scale correlation' specifies how deep the denoiser should look for detail that may be correlated across scales. Most data can withstand deep correlation, however some types of data may exhibit an artificially introduced correlation. This can be the case with data that;

  • has been drizzled with insufficient frames
  • originates from a sensors with a color filter array (for example an OSC or DSLR) and where insufficient frames were stacked
  • was not sufficiently dithered between sub-frame acquisition
  • has any other type of recurring embedded pattern, visible or latent

Noise in such cases will not exhibit a Poisson distribution (e.g. it does no longer resemble shot noise) and will exhibit correlation in the form of clumps or streaks. Such data may require a shallower 'Scale correlation' value. More generally, such types of noise/artefacts are beyond the scope of the denoise module's capabilities and should be corrected during acquisition and pre-processing, rather than at the post-processing stage.

Recommended workflow

Set Smoothness until fine noise grain is sufficiently smoothened out. Increase Scale 5 if noise grain is visible in the largest scales. Increase or decrease Grain Dispersion to taste to reintroduce fine detail and grain. Vary the Brightness Detail Loss and Color Detail Loss if needed.