Bilateral Denoising

Class: NodeImageBilateralFilter

Node Icon

The bilateral filter blurs an image while preserving edges.

This filter uses bilateral filtering to blur an image using both domain and range “neighborhoods”. Pixels that are close to a pixel in the image domain and similar to a pixel in the image range are used to calculate the filtered value. Two gaussian kernels (one in the image domain and one in the image range) are used to smooth the image. The result is an image that is smoothed in homogeneous regions yet has edges preserved. The result is similar to anisotropic diffusion but the implementation in non-iterative.

Bilateral filtering is capable of reducing the noise in an image by an order of magnitude while maintaining edges.

The bilateral operator used here was described by Tomasi and Manduchi.

Example workflows

Inputs

Image

The input image.

Type: Image4DFloat, Required, Single

Outputs

Output

The denoised image.

Type: Image4DFloat

Settings

Domain Sigma Number

The standard deviation of the gaussian blurring kernel in mm.

Range Sigma Number

The standard deviation of the gaussian blurring kernel in the image range in intensity units.

Number of Gaussian Samples Integer

The number of samples in the approximation of the Gaussian used for the range smoothing.

References

See also

Keywords: