  In Non-Local Means (NLM), each pixel is denoised by performing a weighted
averaging of its neighboring pixels, where the weights are computed using image
patches. We demonstrate that the denoising performance of NLM can be improved
by pruning the neighboring pixels, namely, by rejecting neighboring pixels
whose weights are below a certain threshold $\lambda$. While pruning can
potentially reduce pixel averaging in uniform-intensity regions, we demonstrate
that there is generally an overall improvement in the denoising performance. In
particular, the improvement comes from pixels situated close to edges and
corners. The success of the proposed method strongly depends on the choice of
the global threshold $\lambda$, which in turn depends on the noise level and
the image characteristics. We show how Stein's unbiased estimator of the
mean-squared error can be used to optimally tune $\lambda$, at a marginal
computational overhead. We present some representative denoising results to
demonstrate the superior performance of the proposed method over NLM and its
variants.
