Skip to content

Denoise

Brief Description

This Modifier is useful to remove noise from an image and/or enhance details. Noise levels for each channel are analyzed from the image for each frequency band and assumes the noise is gaussian and additive. For speckles or salt-and-pepper noise, a Median Blur may be more appropriate.

First, click on "Analyze Image", which will compute and set the Noise Levels. If the image has many detailed areas, it may be preferable to select an analysis region with flat colors, free from any details to avoid considering details as noise. The Analysis Region can be used to define exactly the pixels to analyze. A practical example for the Analysis Region would be to take the inverse of an Edge Detect and clamp it so that all pixels near the edges have a value of zero: this would give a mask of all flat areas in the image.

If the image does not contain any sufficient flat areas, you should consider lowering the Low and Very-low frequencies gain as their values may be not correctly estimated.

Te Details Amount parameter is useful to check what details have been preserved after denoising. You can set it to a high value, adjust the Noise Levels Gain so that no noise should is left in the image, and then reset it back to 0.

Another option to check what was removed from the original image is to set the Output Mode to Noise: If too many image details are preserved, the parameters must be tuned until only noise is visible.

Controls

Parameter / Script Name Type Default Function
Enabled / enabled Boolean On
Red / process_red Boolean On Enable the red channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0
Green / process_green Boolean On Enable the green channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0
Blue / process_blue Boolean On Enable the blue channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0
Alpha / process_alpha Boolean Off Enable the alpha channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0
Output Mode / output_mode Choice Result
- Result: Outputs the denoised image
- Noise: Outputs only the noise. If details of the image are visible in the image, this means the denoising parameters are removing too many details of the image due to high noise levels/gain
- Details: Outputs an image containing only the details of the image. If noise is visible in the image, this means the denoising parameters are not optimal and produce a noisy result
Color Model / color_model Choice YCbCr
- CIE Lab
- Gamma-corrected RGB
- Linear RGB: Processes directly the raw linear RGB components. Useful only if denoising non-color pixels
- YCbCr: Outputs the denoised image
Decomposition Method / decomposition_mode Choice Spline Changes the signal decomposition method, which affects the noise levels
- Lagrange
- Spline
Analysis Region / analysisMask Image - Only pixels in the analysis region are taken into account for the noise levels analysis
Analyze Image / analysisButton Button Off Estimates the noise levels from the current image. The Analysis Region can be used to define the region where to analysis the noise levels
Noise Levels / noiseLevelsGroup Category -
Y Level (High) / y_noise_level_0 Float 0
Cb Level (High) / cb_noise_level_0 Float 0
Cr Level (High) / cr_noise_level_0 Float 0
Alpha Level (High) / a_noise_level_0 Float 0
Y Level (Medium) / y_noise_level_1 Float 0
Cb Level (Medium) / cb_noise_level_1 Float 0
Cr Level (Medium) / cr_noise_level_1 Float 0
Alpha Level (Medium) / a_noise_level_1 Float 0
Y Level (Low) / y_noise_level_2 Float 0
Cb Level (Low) / cb_noise_level_2 Float 0
Cr Level (Low) / cr_noise_level_2 Float 0
Alpha Level (Low) / a_noise_level_2 Float 0
Y Level (Very Low) / y_noise_level_3 Float 0
Cb Level (Very Low) / cb_noise_level_3 Float 0
Cr Level (Very Low) / cr_noise_level_3 Float 0
Alpha Level (Very Low) / a_noise_level_3 Float 0
Noise Levels Gain / noise_level_gain Float 1 Global gain applied to all noise levels
Denoise Amount / denoise_amount Float 1 How much noise to remove. 1 removes everything blow the thresholds defined by the noise levels, 0 keeps all the noise but can be useful to add more details to the image. Between 0 and 1, interpolates the thresholds
High Freq. Gain / gain_level_0 Float 1 Gain to be applied on this specific frequency band. Can be set to 0 to disable denoising of this frequency band
Medium Freq. Gain / gain_level_1 Float 1 Gain to be applied on this specific frequency band. Can be set to 0 to disable denoising of this frequency band
Low Freq. Gain / gain_level_2 Float 1 Gain to be applied on this specific frequency band. Can be set to 0 to disable denoising of this frequency band
Very Low Freq. Grain / gain_level_3 Float 1 Gain to be applied on this specific frequency band. Can be set to 0 to disable denoising of this frequency band
Analysis Radius / adaptative_radius Float 4 Radius of the window where the signal level is analyzed. If 0, the signal level is computed from the whole image. This may lead to excessive blurring of the edges when the image has many flat areas
Per-Channels Controls / perChannelGroup Category -
Y Gain / y_gain Float 1 Gain applied to the levels for this channel. 0 means no denoising. When 1 uses the estimated noise levels multiplied by the per-frequency gain and the global noise levels gain
Y Denoise Amount / y_amount Float 1 How much noise to remove for the channel. 1 removes everything blow the thresholds defined by the noise levels, 0 keeps all the noise but can be useful to add more details to the image. Between 0 and 1, interpolates the thresholds. This value is multiplied by the global Denoise Amount. The noise levels are multiplied by the per-frequency gain, the channel gain, and the global noise level gain first
Cb Gain / cb_gain Float 1 Gain applied to the levels for this channel. 0 means no denoising. When 1 uses the estimated noise levels multiplied by the per-frequency gain and the global noise levels gain
Cb Denoise Amount / cb_amount Float 1 How much noise to remove for the channel. 1 removes everything blow the thresholds defined by the noise levels, 0 keeps all the noise but can be useful to add more details to the image. Between 0 and 1, interpolates the thresholds. This value is multiplied by the global Denoise Amount. The noise levels are multiplied by the per-frequency gain, the channel gain, and the global noise level gain first
Cr Gain / cr_gain Float 1 Gain applied to the levels for this channel. 0 means no denoising. When 1 uses the estimated noise levels multiplied by the per-frequency gain and the global noise levels gain
Cr Denoise Amount / cr_amount Float 1 How much noise to remove for the channel. 1 removes everything blow the thresholds defined by the noise levels, 0 keeps all the noise but can be useful to add more details to the image. Between 0 and 1, interpolates the thresholds. This value is multiplied by the global Denoise Amount. The noise levels are multiplied by the per-frequency gain, the channel gain, and the global noise level gain first
Alpha Gain / a_gain Float 1 Gain applied to the levels for this channel. 0 means no denoising. When 1 uses the estimated noise levels multiplied by the per-frequency gain and the global noise levels gain
Alpha Denoise Amount / a_amount Float 1 How much noise to remove for the channel. 1 removes everything blow the thresholds defined by the noise levels, 0 keeps all the noise but can be useful to add more details to the image. Between 0 and 1, interpolates the thresholds. This value is multiplied by the global Denoise Amount. The noise levels are multiplied by the per-frequency gain, the channel gain, and the global noise level gain first
Details Amount / sharpen_amount Float 0 How much details to add-back to th image. Only pixels above the noise levels are considered details and are affected by the gain parameters. For example, if the global Noise Levels Gain is set to 0, then the noise is considered details as well as signal. If the global Noise Levels Gain is set to 1, only the original signal is enhanced. To enhance details without denoising, set the Denoise Amount parameter to 0
Details Size / sharpen_size Float 10 Higher values will enhance details of smooth areas of the image
Only Y Details / sharpen_luminance Boolean Off Enhance details of luminance only to avoid artifacts to appear in color
Mask / mask Image -
Mix / mix_with_source Float 1 Dissolves between the original image at 0 and the image with the effect applied at 1