SGBNR
Selective Gaussian Blur Noise Reduction



::Index  >Next

The SGBNR Process

Standard Deviation of the Low Pass Filter

Amount

Number of Iterations

Edges Protection Threshold

Edges Protection Overdrive

Color Model

Composite RGB/K Model

Separate CIE L*|a*b* Model

Separate CIE L*|a*|b* Model

The SGBNR Window

An Example of SGBNR Processing



The SGBNR Process

The Selective Gaussian Blur Noise Reduction (SGBNR) algorithm uses a special low-pass filter to apply a convolution in tandem with an edge protection mechanism. Low-pass filtering is limited or even completely suppressed when edge features are found on the image. The goal of SGBNR is to smooth image areas where there is little or no detail, but preserving small structures and contrast at the same time.

The SGBNR algorithm has been developed by the Pleiades Astrophoto team and is still under continuous evolution. The current PixInsight implementation of SGBNR utilizes the following parameters:


Standard Deviation of the Low Pass Filter

This defines the size in pixels of the low-pass filter used. Larger values yield stronger smoothing effects. Generally, small deviations not greater than 2.5 pixels are sufficient, and values of one and even of 0.5 pixels are quite usual when denoising high resolution CCD images.


Amount

The Amount parameter modulates SGBNR by mixing processed and original pixels in the resulting image. If S is the SGBNR-processed pixel value corresponding to an original pixel value f, and a is the Amount parameter, then the resulting pixel value g is given by:

g  =  a × S  +  (1 — a) × f

where pixel values are in the normalized [0,1] interval.


Number of Iterations

Several iterations of SGBNR can be applied with the same set of parameters. This is particularly efficient when used along with modulation, that is, when Amount is less than one. Our experience is that for many images a relatively weak SGBNR process applied iteratively can yield much better results, in terms of detail and contrast preservation, than an aggressive set of parameters applied once.


Edges Protection Threshold

There are two threshold parameters, namely one for dark sides of edges and another one for bright sides, and each of them can be varied independently.

SGBNR works by applying a sort of positive discrimination. During low-pass filtering, each pixel is assigned a neighborhood of surrounding pixels. Edge protection works by first estimating a significant brightness level for the neighborhood. Then it compares the central pixel with each neighbor and computes a weighted difference. When a neighbor pixel is found whose difference with the central pixel exceeds the corresponding edges protection threshold (either for bright or dark sides, depending on the sign of the difference), then a corrective function is applied to the neighbor pixel in order to give it more opportunities to survive after low-pass filtering. This effectively builds an edge support for the entire image that is used to preserve small-scale image features and contrast.

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 generate artifacts, which will be bright or dark, depending on the incorrect threshold side. In general, protection thresholds are critical and require thorough trial and error work.

In general, when SGBNR is applied recursively, that is, when Iterations > 1 and Amount < 1, the threshold parameters are less critical and the edge protection mechanism is more efficient. When more than one iteration is allowed, small protection mistakes are given another try the next iteration, which usually makes the edge protection algorithms converge to a more accurate preservation of small structures.


Edges Protection Overdrive

Again, two independent overdrive parameters exist, one for bright edge sides and another one for dark sides.

In the edge protection strategy depicted above, corrective functions applied to edge pixels can be exaggerated with a nonzero overdrive value. This parameter must be used with great care. It can work quite well for some images, but if improperly applied, edge protection's positive discrimination can easily become mass destruction.


Color Model

For color images, a single set of SGBNR parameters can be applied to each individual RGB channel, or different parameter sets can be applied to luminance and chrominance, respectively. Three color models have been implemented:


Composite RGB/K Model

This is the default model. A single set of parameters is applied to the red, green and blue channels, or to the gray channel of a grayscale image. This is the easiest model because a single set of parameters is used. However, SGBNR is a much more accurate and efficient process when evaluating and handling luminance and chrominance noise separately.


Separate CIE L*|a*b* Model

A set of parameters is used for the luminance channel in the CIE L*a*b* color space, and another independent set is used for both chrominance channels (a* and b*). This model is recommended when separate luminance/chrominance noise reduction is desired. Usually excellent results can be obtained.


Separate CIE L*|a*|b* Model

An independent set of parameters is used for each channel in the CIE L*a*b* space. This model allows for really fine-tuned noise reduction, but if improperly used it can lead to unbalanced color and/or chrominance artifacts. Recommended for expert users only. Usually not necessary.

In separate color models, the RGB working space of the target image is used for color space conversions.


The SGBNR Window

Having explained SGBNR parameters above, using this window is quite straightforward. Under the separate CIE color models, click one of the L, (a,b), a or b buttons, depending on the color model selected, to select a specific parameter set.

Only the Apply check box deserves further elaboration. The Apply check box works independently for each parameter set. By unchecking Apply for a particular set, it will not be applied to the corresponding channel(s) of the target image. This way, one can apply SGBNR processing to the luminance only, leaving the chrominance untouched. This is very useful when the luminance or chrominance channels are selected for display on the target image.


An Example of Color SGBNR Processing

The following example shows how a typical SGBNR session is conducted. Noise reduction if performed for a color image in the separate CIE L*|a*b* SGBNR color model. The image is shown zoomed 2:1. To select a step of the example, move the mouse cursor over the corresponding link below.

Raw

Step 1

Step 2

Step 3

Step 4

Step 5

Step 6 vs. Raw



::Index  >Next