Radeon ProRender

Edge-avoiding À-Trous Wavelet Filter

Filter

RIF_IMAGE_FILTER_EAW_DENOISE

Description

Edge-avoiding À-Trous wavelet denoiser. For more details, see https://jo.dreggn.org/home/2010_atrous.pdf .

Parameters

Parameter Type Input/Output Description
normalsImg image input The image containing normal vectors. Used to find boundaries of objects, which allows to avoid blurring of borders. The parameter is optional. If used, can improve border preservation.
depthImg image input The image containing depths. Used to find boundaries of objects, which allows to avoid blurring of borders. The parameter is optional. If used, can improve border preservation.
transImg image input Transition color image. Corresponds to the colors of the objects (textures) without the shading effects or the color of primary rays when ray-tracing is used for rendering. The parameter is optional. If used, can improve border preservation.
colorVar image input The image containing input color temporal variance (see Temporal Accumulation Filter). Temporal variance is used to adjust the sensitivity of the edge detection.
colorSigma float input The coefficients of color similarity function. This coefficient can be considered as a color threshold for border detection. The smaller the coefficient, the better the borders are preserved, but the noise level increases.
Default value is 0.1.
normalSigma float input The coefficients of the normal similarity function. This coefficient can be considered as a normal threshold for border detection. The smaller the coefficient, the better the borders are preserved, but the noise level increases.
Default value is 0.1.
depthSigma float input The coefficients of the depths similarity function. This coefficient can be considered as a depth threshold for border detection. The smaller the coefficient, the better the borders are preserved, but the noise level increases.
Default value is 0.1.
transSigma float input The coefficient of the transmission similarity function. This coefficient can be considered as a transmission threshold for border detection. The smaller the coefficient, the better the borders are preserved, but the noise level increases.
Default value is 0.1.

Usage Example

rif_image_filter filter = nullptr;
rifContextCreateImageFilter(context, RIF_IMAGE_FILTER_EAW_DENOISE, &filter);
rifImageFilterSetParameterImage(filter, "normalsImg", normalsImage);
rifImageFilterSetParameterImage(filter, "depthImg", depthImage);
rifImageFilterSetParameterImage(filter, "transImg", transitionImage);
rifImageFilterSetParameterImage(filter, "colorVar", vColorImage);
rifImageFilterSetParameter1f(filter, "colorSigma", 4.f);
rifImageFilterSetParameter1f(filter, "normalSigma", 1.f);
rifImageFilterSetParameter1f(filter, "depthSigma", 0.5f);
rifImageFilterSetParameter1f(filter, "transSigma", 0.2f);
rifCommandQueueAttachImageFilter(queue, filter, inputImage, outputImage);
rifContextExecuteCommandQueue(context, queue, nullptr, nullptr, nullptr);