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