-
Notifications
You must be signed in to change notification settings - Fork 1
3.4.1 NLM Denoising
Non-local means denoising is a technique used in image processing to reduce noise while preserving significant image details. Unlike traditional methods that typically use local information from a pixel's immediate neighborhood, non-local means denoising leverages the redundancy present in natural images by considering the similarity between non-local patches. It works by averaging pixels with similar structures, even if they are far apart in the image. This method helps to retain edges and fine details, providing superior denoising performance, especially in textured regions.
Reference: Buades, A. et al 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition
-
Image Stack: The image stack to be processed, required to have shape: (time, rows, columns).
-
Patch Size: The size of the square patches (small blocks of pixels) used for comparing similarity. Each patch is centered around a pixel, and patches of the same size are compared to determine their similarity. Larger patch sizes capture more contextual information but may smooth out fine details, while smaller patch sizes focus on finer details but may be more sensitive to noise.
-
Patch Distance: The maximum distance over which patches are compared. It defines the search window within which similar patches are sought for averaging. A larger patch distance allows for better noise reduction by considering more distant similar patches but increases computational complexity. A smaller distance limits the comparison to closer patches, which may be insufficient for effective denoising.
-
h: The filtering parameter that controls the degree of filtering. It represents the decay factor of the exponential function used to weight the similarity between patches. A higher h value results in stronger smoothing, effectively reducing noise but potentially blurring details. A lower h value preserves more details but might not remove enough noise.
-
sigma: The estimated noise standard deviation of the input image. It provides an estimate of the noise level in the image, which can be used to fine-tune the denoising process. Accurate estimation of sigma ensures effective noise reduction while preserving details. An underestimated sigma might lead to insufficient noise removal, whereas an overestimated sigma might cause excessive smoothing and loss of image details. Sigma estimation can be perfomed using scikit-image estimate_sigma function.