Skip to main content

Denoising

Denoising can be used as a final step to reduce undesired artifacts in the rendering.

Configuration

There are two independent denoising options available.

Denoise filtering

Simple denoise filtering using circular Gaussian kernel. To enable the default settings, use:

strahlConfiguration.js
runPathTracer(target, model, {
enableDenoise: true,
});

If you want more control, pass a configuration object instead:

strahlConfiguration.js
runPathTracer(target, model, {
enableDenoise: {
type: "gaussian",
sigma: 4.0,
kSigma: 1.0,
threshold: 0.1,
},
});
  • sigma is the standard deviation of the Gaussian kernel.
  • kSigma is the kernel size multiplier.
  • threshold is the edge sharpening threshold for the denoising.
note

The example does few samples to emphasize the denoising effect.

OIDN

Open Image Denoise is a denoise library which uses machine learning techniques to reduce noise. To configure it, you must provide a URL to a weight file. One option is: oidn-weights on GitHub.com.

warning

OIDN may introduce undesired artifacts

strahlConfiguration.js
runPathTracer(target, model, {
enableDenoise: {
type: "oidn",
url: "./oidn-weights/rt_hdr_alb_nrm.tza",
},
});