PixInsight 1.5

The Officially Unofficial Reference Guide

Rev.0.1 – 3/29/2010

Section 15: NoiseReduction


ACDNR stands for Adaptive Contrast-Driven Noise Reduction. It is a highly flexible implementation of a novel noise reduction algorithm, based on advanced multiscale and mathematical morphology techniques.

The idea behind ACDNR —as any nontrivial noise reduction algorithm— is to perform an efficient noise reduction work while preserving significant image structures. ACDNR includes two mechanisms that work cooperatively: a special low-pass filter and an edge protection device. Simply put, the low-pass filter smooths the image by removing or attenuating small-scale structures, and the edge protection device prevents significant image structures from being damaged during low-pass filtering.

ACDNR offers two identical sets of parameters: one for the luminance and another for the chrominance of color images. Chrominance ACDNR parameters are applied to the CIE a and b components in the CIE Lab color space. Luminance parameters are applied to the L component of Lab for color images, and to the nominal channel of grayscale images. In general, chrominance parameters are much less critical and can define a stronger noise reduction procedure than luminance ones.

ACDNR Filter

Apply: Since the ACDNR interface offers dual functionality by allowing you to define noise reduction for luminance and chrominance separately, enable (or disable) this check box to apply (or not) the noise reduction to the luminance – should you have the Luminance tab active – or the chrominance – if the active tab is Chrominance.

Luminance mask: Enable/disable using the luminance mask for the luminance or chrominance noise reduction, depending on which tab you're on. Read below for more information on the luminance mask.

Std.Dev.: Standard deviation of the low-pass filter (in pixels). The low-pass filter is a mathematical function that is discretized on a small square matrix known as a kernel in the image processing jargon. This parameter controls the size in pixels of the kernel used. The kernel size directly defines the sizes of the image structures that the low-pass filter will tend to remove. For example, standard deviations between 1 and 1.5 pixels are appropriate to remove high-frequency noise that dominates most CCD images. Standard deviations between 2 and 3 pixels are quite usual when dealing with film images. Larger deviations, up to 4 or 6 pixels, can be used to smooth low-SNR regions of astronomical images (as the sky background) with the help of protection masks.

Amount: This value, in the range from 0.1 to 1, defines how the denoised and original images are combined. A zero amount value would leave the image unchanged, and an amount value of one would replace the image with its denoised version completely. This parameter is especially useful when the ACDNR filter is used iteratively (see the iterations parameter below). At each iteration, amount can be used to re-inject a small fraction of the image resulting from the preceding iteration. This leads to a recursive procedure that can help in fine-tuning and stabilizing the overall process.

Iterations: This is the number of times that the low-pass filter is applied. The ACDNR filter is much more efficient when applied iteratively. A relatively small filter (with a low standard deviation) applied several times is in general preferable to a larger, more aggressive filter applied once. When three or more iterations are used, ACDNR's edge protection is usually much more efficient and yields more robust results. The amount parameter (see above) can also be used along with iterations to turn ACDNR filtering into a recursive procedure, mixing the original and processed images.

Edge Protection

We define an edge as a brightness variation that the edge protection device tries to preserve (protect) from the adverse effects of low-pass filtering. If we consider an edge as the locus of a brightness change, then for each edge there is a dark side and a bright side, depending on the direction we follow when crossing it. ACDNR's edge protection gives separate control over dark and bright sides of edges. For each side, there is a couple of identical parameters, namely threshold and overdrive.

Threshold: This parameter defines the relative brightness difference that triggers the edge protection mechanism. For example, a threshold value of 0.05 means that the edge protection device will try to protect image structures defined by brightness changes equal to or greater than a 5%, with respect to their surrounding areas. Higher thresholds are less protective. Too high of a threshold value can allow excessive low-pass filtering, and thus lead to destruction of significant image features. Lower thresholds are more protective, but too low of a threshold can lead to poor noise reduction results. In general, protection thresholds are critical and require some trial and error work.

Overdrive: This parameter controls the strength of edge protection. When overdrive is zero (its default value), edge protection just tries to preserve the existing pixel values of protected edges. When overdrive is greater than zero, the edge protection mechanism tends to be more aggressive, exaggerating the contrast of protected edges. This parameter can be useful because it may allow a larger threshold value, which in turn gives better noise reduction, while still protecting significant edges. However, overdrive is an advanced parameter that requires experience and must always be used with care: incorrect overdrive dosage can easily generate undesirable artifacts.

In addition to side-specific edge protection parameters, ACDNR includes four additional parameters that control the overall behavior of the edge protection device: Prefilter, robustness, structure size and prefiltering.

Prefilter: If necessary, ACDNR can apply an initial filtering process to remove small-scale structures from the image. This can help to achieve a more robust edge protection, for the reasons explained above. Two prefiltering methods have been implemented: multiscale and recursive. Both methods employ special wavelet-based routines to remove all bright and dark image structures smaller than two pixels. The recursive method is extremely efficient. This feature should only be used in presence of huge amounts of noise, when all significant image structures have sizes well above the two-pixel limit.

Robustness: When ACDNR's edge protection has to operate in presence of strong small-scale noise, it may have a hard time defining accurate edges of significant structures. For example, isolated noisy pixels can be very bright or dark, and their contributions to the definition of protected edges can be relevant. Robustness refers here to the ability of ACDNR to become immune to small-scale noise when discriminating significant image structures. Two robustness enforcing methods have been implemented: weighted average and morphological median. In both methods, for each pixel a neighborhood is defined and a robust reference value is calculated from the neighbor pixels, which is then used to command the edge protection device. Both methods have their strong points. The method based on the morphological median is especially good to preserve sharp edges. On the other hand, the weighted average method can yield more natural-looking images. You can try both of them and see which is best for your specific needs, according to your preferences.

Structure size: Minimum structure size to be considered by the noise reduction algorithm.

Symmetry: Use the same threshold and overdrive parameters for both dark and bright side edge protection.

Star threshold: As part of the bright sides edge protection parameters, Star threshold allows us to define a star edge protection threshold.

Luminance Mask

To improve ACDNR's flexibility and applicability, you can use an inverse luminance mask that modulates the noise reduction work. Where the mask is black, original (unprocessed) pixels are fully preserved; where the mask is white, noise reduction acts completely. Intermediate (gray) mask levels define a proportional mixture of unprocessed and processed pixel values. This mask can be useful to protect high-SNR regions while applying a strong noise reduction to low-SNR ones. A typical example of this is to smooth the background of a deep-sky image while leaving bright regions intact.

Removed wavelet layers: To create an effective mask, wavelets are used. Here you define the number of wavelet layers (starting from 1) to be removed in order to build the mask.

Midtones/Shadows/Highlights: The ACDNR mask is generated and controlled with the help of these three parameters. These parameters define a simple histogram transform that is applied to a copy of the luminance that is used to mask the noise reduction process. Take into account that an inverse mask is always generated, which means that you must reverse your logic when varying these histogram parameters.

Preview: To help achieving a correct mask with a minimal effort, the ACDNR interface includes a special mask preview mode. When this mode is enabled, the ACDNR process simply generates the mask, copies it to the target image, and terminates execution. When used along with the real-time preview interface, this mask preview mode is particularly useful.


GREYCstoration is PixInsight's implementation of an open-source image regularization algorithm created by David Tschumperlé. The algorithm uses nonlinear multivalued diffusion partial differential equations. As implemented in PixInsight, GREYCstoration is able to preserve extremely thin image details, and it's adaptable to numerous noise types and specific image restoration requirements. Our implementation is focused on the denoising capabilities of the algorithm.

Iterations: The number of times the GREYCstoration algorithm should be applied. Smoothing is mostly controlled by Amplitude and iterations. One iteration of a large value for Amplitude is often equivalent to many iterations with a smaller amplitude. However, with proper choice of other parameters, sometimes more iterations are better as sometimes it prevents too much smoothing across high contrast areas (edges)

Amplitude: Regularization strength per iteration. This parameter represents the average amount of smoothing that is performed.

Sharpness: Contour preservation. This parameter tells GREYCstoration about structure preservation. Once the local structures of the image have been detected, GREYCstoration has to decide how much it will smooth image pixels. Basically, it decreases the smoothing when the local structure is contrasted. This parameter simply dictates how this decreasing must be considered. When it's high, even low-contrasted structures will be preserved. Do not set it too high or the noise may be preserved. On the contrary, when the value of this parameter is low, the structures have to be very contrasted to avoid local smoothing.

Anisotropy: Smoothing anisotropy. This parameters set the anisotropy level of the considered smoothing. The anisotropy notion relates to the way the performed smoothing orientation will extend locally in space. A value larger than about 0.2 may produce artifacts. In general, you want to preserve isotropy, especially on deep-sky images.

Noise scale: In short, this parameter is a threshold for the size of the noise to remove. Too small a value will not smooth the noise. Mathematically, this parameter is defined as the standard deviation of a blurring Gaussian kernel applied to the original image before estimating its geometry. In other words, it defines the scale under which details won't be considered as structures but much more as noise.

Regularity: Geometry regularity. This parameter is mathematically defined as the standard deviation of a blurring Gaussian kernel applied to the field of structure tensors, which are matrices that describe locally the image structure geometry. Like the noise scale, it can be seen as a scale but not on the image itself, but on its structures. Basically, this parameter will tell GREYCstoration how smooth should be the geometry of the image structures, after being retrieved.

Spatial step size: GREYCstoration performs a spatial averaging of pixel values. This parameter defines the spatial integration step.

Angular step size: Angular integration step.

Precision: Computation precision.

Interpolation: In general, Interpolation does an excellent work with its default Nearest neighbor value, but you may try with bilinear or 2nd order Runge Kutta which sometimes may provide slightly more accurate results.

Fast approximation: As a general rule, this parameter should be left at its default state (selected).

Coupled channels: This option must be enabled for normal GREYCstoration operation on color images. If you disable it, then each color channel will be processed as an independent grayscale image. Note that this is opposite to GREYCstoration's working philosophy, in which the whole color image is treated as a unique structure. However, processing each channel independently may be useful sometimes for deep-sky images.


The Subtractive Chromatic Noise Reduction (SCNR) technique has been implemented mainly to deal with green noisy pixels. The rationale for SCNR is quite simple. We know that, with the exception of some planetary nebulae, there is no green object in the deep-sky. There are no green stars. Emission nebulae are deeply red. Reflection nebulae are blue. Oxygen III emission corresponds to a mix of blue and green. We may conclude that if we find green pixels on a color balanced, deep-sky astrophoto, they are noise. Fortunately, removing green noisy pixels from most deep-sky images is not difficult and can be accomplished very efficiently. SCNR uses a protective method, mainly because the idea is to remove green noise, not to destroy green data.

Color to remove: Although SCNR was developed mainly to deal with green noise, and it is unlikely that you ever need to remove red or blue pixels, you can do so by selecting a color from this option.

Protection method: SCNR uses a protective method, mainly because the idea is to remove green noise, not to destroy correct green data. Mask-protected SCNR is an aggressive and efficient technique to remove green pixels. Its main drawback is that it can introduce a magenta cast to the sky background, which must be controlled by a careful dosage of the Amount parameter. Neutral-protected SCNR tends to give a fine neutral background. When applicable, it works surprisingly well, taking into account its simplicity, especially the Average neutral variant, which is the default option.

Amount: Define the strength of the SCNR function over the target image.

Preserve luminance: Like its name indicates, when enabled, the SCNR will preserve the luminance data. This is the recommended option in most cases.

Back to the Index | Copyright Note