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);