I Introduction
We consider the standard problem of denoising grayscale images that are corrupted with additive white Gaussian noise. The setting here is that we are given a noisy image
(1) 
where is some finite rectangular domain of , is the unknown clean image, and are i.i.d. where
is the standard deviation of the Gaussian noise. The focus of this work is the NonLocal Means (NLM) algorithm that was introduced by Buades, Coll, and Morel in
[1, 2]. NLM denoises each pixel by taking a weighted average of the neighboring pixels. A key innovation in NLM is that the weights are computed using patches (blocks of neighboring pixels) instead of pixels. More specifically, the denoised image is computed using the formula(2) 
where denotes the neighborhood around pixel . The original proposal in [1] was to set to be the whole image. In practice, one restricts to a sufficiently large window of size centered at , that is, . The weights are set to be
(3) 
where is a smoothing parameter, and patch is a square neighborhood of the origin of size .
Since its introduction, several variations of NLM have been proposed which can further improve the denoising. For example, various weighting schemes for the center pixel have been proposed in [3, 4, 5]. A weighting scheme based on quadratic programming was proposed in [6], which exploits the overlapping information between adjacent patches. Further, optimization framework based approaches have been proposed in [7, 8] to improve the performance of NLM. In [9], the weighting was performed based on the structural similarity indices between patches. In a different direction, it was demonstrated in [10, 11, 12, 13] that the performance (and the speed) of NLM can be improved by computing the weights from lowdimensional projections of the patches.
The primary application of NLM is noise reduction [14, 15]. However, since the inception of NLM, more sophisticated algorithms with superior denoising performances have been proposed [16, 17, 18, 19, 20, 21, 22, 23, 24]. While NLM and its variants are no longer the stateoftheart in image denoising, they nevertheless continue to be of interest due to their simplicity, decent denoising performance, and the availability of fast implementations. We also note that several researchers have used NLM (either directly or via postprocessing) in image restoration applications such as deblurring [25, 26], inpainting [27], demosaicking [28]
, and superresolution
[29, 30, 31].The investigation in this paper was particularly motivated by the work on shapeadaptive patches [32] and robust regression [33, 34]. In either case, it was demonstrated that the denoising quality of NLM can be improved by adapting the averaging neighborhood at every pixel. While this was done explicitly in [32] in terms of the patch shape, the adaptation was achieved implicitly in [33, 34] via an optimization. In this paper, we propose to perform the adaptation by explicitly pruning those neighboring pixels whose weights are below a certain global threshold . We use Stein’s unbiased estimator of the meansquared error to optimally tune . In other words, we optimize the denoising quality by performing a simple onedimensional optimization for the whole image. As a result, the overall implementation is much faster than those implementations in [32, 33, 34, 35], where one is required to perform an adaptation at every pixel.
The rest of the paper is organized as follows. In Section II, we motivate the main idea using a simple experiment, and then present the proposed denoising algorithm and the implementation details. The denoising results are reported in Section III, where we also compare the proposed method with NLM and its variants.
Ii Pruned NonLocal Means
We now perform some numerical experiments to reflect the motivation that pruning can improve the denoising performance. We consider a scenario where the pixel of interest (POI) is situated closed to a edge, as shown in the example in Figure 1(a). We compute the NLM weights around the POI (marked with a solid black circle) using (3). We expect the weights of neighboring pixels that are on the same side of the edge as the POI to be generally higher than the weights of pixels that are on the other side of the edge. As shown in Figure 1(b) this is indeed the case if the weights are computed from the (unknown) clean edge. Unfortunately, this is not the case if the weights are computed from the noisy edge. As seen in Figure 1(b), the weights of some of the pixels on the left of the edge (same side of the edge as the POI) are smaller than the weights of some of the pixels on the right. This leads to a poor averaging in (2) – pixels from both sides of the edge are mixed. For example, in Figure 1(a), the intensities at the POI before and after adding noise are and . Using NLM, the denoised output is (as a reference, the NLM output using the weights computed from the clean patches is 73.09). On the other hand, notice that if we sort the noisy weights in Figure 1(b), then the majority of the pixels on the left of the edge would have the largest weights. Indeed, if we use the top neighbors (neighbors with largest weights) for the averaging, then the output comes down to (which is even better than that obtained using the clean weights). This suggests a means of improving the quality of denoising, namely, by restricting the averaging in (2) to those neighboring pixels that are assigned top weights.
Based on the above observation, we propose to perform pruning as follows. We fix a threshold , and consider the step function given by
(4) 
The process of nullifying the weights that are smaller than can be achieved by modifying (1) as:
(5) 
To avoid introducing unnecessary symbols, we continue to use the same notation for the denoised image as in (2). Notice that the weights defined in (3) take values in ; therefore, the variable in (4). When , none of the weights are pruned, and when is close to unity, a large fraction of the weights are pruned. The optimal setting would be somewhere in between. We can ideally tune by minimizing the meansquarederror (MSE) given by
(6) 
where is the size of the image, i.e., the number of pixels in the image. However, since we do not have access to the clean image , we cannot compute the MSE in practice.
This is precisely where Stein’s Unbiased Risk Estimator (SURE) proves to be useful. This is given by
(7) 
where we recall that is the standard deviation of the additive Gaussian noise in (1).
SURE has the remarkable property that its expected value equals that of the MSE for the noise model in (1) [36]. This makes it an useful surrogate for the MSE – it can be computed without the knowledge of the clean image. The difficulty in applying SURE directly to the transformation in (5) is that (4) is not differentiable and therefore we cannot compute the partial derivatives in (7). This is, however, not a fundamental problem and we can approximate (4) by a differentiable function. For example, we propose to use the following sigmoid function:
(8) 
where is the slope of the sigmoid at . It can be verified that (8) converges pointwise to (4) as get large, namely, for fixed ,
In Figure 2, we plot (8) for different values of and compare it with (4) for the same . Ideally, we should use a large to obtain a good approximation. However, as will be evident shortly, the partial derivatives in (7) explode as increases. Following exhaustive simulations, we decided to set . The approximation is reasonable in this case and the derivatives can be computed stably. In other words, we consider the following formula
(9) 
where . We will refer to (9) as Pruned NonLocal Means (PNLM). We note that the SURE for (2) was originally derived in [37], and was shown to be close to the MSE. Similarly, we can derive the SURE for (9). In particular, the partial derivative of (9) is given by (cf. Appendix):
(10) 
where
(11) 
The expression of is given in (17) for completeness. A comparison of the MSE and SURE is provided in Figure 3 when . We notice that the gap between MSE and SURE decreases with the increase in image size. Importantly, we note that the minima of MSE and SURE are attained at almost the same .
Iii Experimental Results
Iiia Parameters
The denoising performance of PNLM clearly depends on the choice of . In particular, the optimal (minimizer of MSE) depends on the noise level and the image characteristics. In order to obtain a noisebased rule for setting , we took a large collection of natural images [41, 42] and computed the optimal at various noise levels using exhaustive search. The scatter plot of and the corresponding for some of the images is shown in Figure 4. Also shown is the cubic polynomial that we obtained using leastsquare fitting:
(12) 
We note that the above fitting pertains to the parameter setting and . In this case, we can directly use (12) to predict . Of course, (12) will not provide a good estimate of
for other parameter settings. One option is to maintain a lookup table of the optimal rules for selected parameter settings, and then interpolate between them. Instead, we propose to use (
12) to initialize a onedimensional search, irrespective of the parameter setting. Starting from a coarse estimate of , we then use golden section search [38] to refine the estimate. The complete process is summarized in Algorithm 1. Note that, compared to NLM, we have to perform an additional search in PNLM. Each step of this search requires us to compute (7) and (9) twice. However, the weights in (7) and (9) are computed using the patch distances used in NLM. Therefore, we have to compute the patch distances just once, which happens to be the computationintensive part of NLM. The iterations in Algorithm 1 are terminated when the change in between successive iterations is within . The whole process is quite fast once the patch distances have been computed.The denoising performance of PNLM and NLM are compared for different choices of search window and patch size in Table I. We see that PNLM achieves better denoising irrespective of the choice of parameters. We note that the optimal selection of NLM parameters is an altogether different line of work [3, 12]. In this paper, the focus is on postprocessing of weights to enhance the robustness of NLM. The idea of pruning remain relevant irrespective of the choice of NLM parameters. For the present discussion, we choose the NLM parameters to be and , as was originally suggested in [1]. As far as the additional parameters and in PNLM are concerned, we set to ensure a reasonable approximation of the step function , and the crucial parameter is set using the process described above.
NLM  PNLM  

7  28.99 / 80.47  32.22 / 84.47  
10  28.31 / 79.98  31.97 / 84.36  
12  28.03 / 79.86  31.79 / 84.25  
15  27.60 / 79.53  31.52 / 84.00  
20  26.97 / 78.97  31.16 / 83.67  
7  30.45 / 82.42  32.26 / 84.77  
10  29.78 / 81.84  32.20 / 84.97  
12  29.45 / 81.59  32.19 / 85.06  
15  28.98 / 81.08  32.14 / 85.09  
20  28.33 / 80.35  32.05 / 85.03  
7  31.61 / 83.93  31.59 / 84.27  
10  31.21 / 83.60  31.73 / 84.53  
12  30.94 / 83.38  31.77 / 84.64  
15  30.52 / 82.92  31.78 / 84.69  
20  29.86 / 82.16  31.75 / 84.61 
IiiB Runtime and Denoising Results
We now present simulation results concerning the run time of the proposed algorithm. In Table II, we compare the computation costs of NLM and PNLM on various image sizes. We see that the computational overhead for PNLM is within of that of NLM. In this context, we note that one can use any of the existing fast algorithms for NLM to speedup the PNLM computation [39, 40]. By using an optimized C implementation of any of these fast algorithms, one can bring down the runtime to within a second for a image.
Method  

NLM  7.7 s  30 s  122 s  490 s 
PNLM  9.7 s  39 s  157 s  630 s 
We now report some representative denoising results. We compared PNLM with NLM and the following variants of NLM: NLEM [33], PCANLM [11], ZeroCPW [4], OneCPW [32], and MaxCPW [3]. For all experiments, we used the following parameter settings: , and [1]. In Table III and IV, we report the PSNR and SSIM [43] obtained using various denoising algorithms on the Boat and Hill images at different noise values. We use the standard definition
(13) 
where MSE is given by (6).
NLM  NLEM  PCANLM  ZeroCPW  OneCPW  MaxCPW  PNLM  

[1]  [33]  [11]  [4]  [32]  [3]  
5  35.07/96.29  35.04/96.89  34.94/96.07  28.88/85.37  29.84/86.34  29.28/85.80  35.78/97.90 
10  30.78/88.95  30.96/91.11  30.71/88.74  28.83/85.50  29.91/86.88  29.23/85.95  32.22/94.37 
20  26.73/77.96  27.43/83.13  26.67/77.79  28.45/85.58  27.83/88.72  28.83/86.11  28.95/87.12 
30  24.72/70.66  25.58/77.60  24.70/70.55  27.04/83.37  19.92/65.45  27.11/83.70  27.29/81.74 
40  23.64/65.68  24.60/73.47  23.62/65.60  23.87/74.36  16.12/48.78  23.29/72.74  26.33/77.63 
50  22.96/62.13  23.99/70.09  22.95/62.06  20.03/58.08  14.15/40.68  19.36/56.86  25.18/73.92 
60  22.48/59.45  23.48/66.97  22.47/59.40  16.91/43.81  12.57/34.51  16.56/45.27  24.41/70.43 
70  22.15/57.43  23.03/64.00  22.14/57.39  14.38/32.53  11.23/29.60  14.38/35.96  23.76/67.07 
80  21.87/55.68  22.56/60.96  21.86/55.66  10.95/15.50  10.07/25.57  11.28/18.87  23.16/63.84 
90  21.63/54.16  22.12/58.03  21.64/54.16  07.01/03.81  09.04/22.28  07.25/04.69  22.67/60.89 
100  21.46/52.89  21.69/55.23  21.47/52.92  05.59/01.09  08.13/19.65  05.65/01.27  22.26/58.21 
In Table V, we compare the PSNR and SSIM of various denoising algorithms on different natural images, with the noise fixed at . From these results, we see that PNLM consistently outperforms NLM in terms of PSNR and SSIM at all noise levels. For a visual comparison, the denoised images obtained using NLM and PNLM are provided in Figure 5. Notice that the output of PNLM is visibly sharper than that obtained using NLM.
NLM  NLEM  PCANLM  ZeroCPW  OneCPW  MaxCPW  PNLM  
5  34.90/95.30  34.98/96.17  34.66/94.99  28.86/83.41  29.37/84.20  29.06/83.76  35.78/98.52 
10  30.36/86.55  30.84/89.36  30.23/86.29  28.87/83.57  29.55/84.77  29.07/83.93  32.15/94.01 
20  26.82/73.85  27.76/81.17  26.79/73.72  28.71/83.76  28.45/87.15  28.90/84.24  29.21/85.64 
30  25.42/66.20  26.63/76.52  25.40/66.10  27.55/81.89  19.86/64.95  27.42/82.25  27.67/79.93 
40  24.63/61.40  25.88/72.64  24.61/61.32  24.35/73.41  16.12/47.77  23.51/71.95  26.52/74.72 
50  24.11/58.21  25.24/68.98  24.10/58.13  20.34/57.32  14.16/38.63  19.48/56.09  25.63/69.82 
60  23.75/55.99  24.62 /65.58  23.74/55.92  17.05/41.97  12.57/31.87  16.59/43.52  24.92/65.56 
70  23.48/54.36  24.07/62.37  23.48/54.31  14.62/30.69  11.23/26.50  14.53/26.50  24.37/61.81 
80  23.27/53.04  23.52/59.36  23.27/52.99  11.65/15.10  10.07/22.33  11.94/18.98  23.92/58.77 
90  23.08/51.99  23.01/56.55  23.08/51.94  08.00/04.10  09.04/19.06  08.24/05.23  23.53/56.13 
100  22.94/51.13  22.53/53.90  22.94/51.10  06.60/1.23  08.12/16.39  06.66/01.47  23.24/54.14 
Image  NLM  NLEM  PCANLM  ZeroCPW  OneCPW  MaxCPW  PNLM 
Ba  22.64/68.91  24.55/79.24  22.63/68.83  19.94/64.66  14.16/44.40  19.26/62.69  25.41/82.01 
Co  22.59/56.24  23.80/67.56  22.58/56.14  19.92/59.54  14.16/43.17  19.27/58.92  24.56/71.09 
Ho  24.10/69.59  25.50/63.20  24.09/69.82  20.58/26.27  14.15/12.49  19.67/23.81  27.35/74.00 
Bo  22.98/62.26  24.01/70.29  22.97/62.19  20.06/58.43  14.16/40.85  19.38/57.22  25.22/74.01 
Ma  23.65/62.20  24.88/71.73  23.64/62.13  20.20/58.92  14.16/40.62  19.44/57.67  25.51/73.41 
Le  25.22/75.02  26.46/79.20  25.22/75.00  20.58/57.56  14.14/35.42  19.63/54.28  27.37/82.11 
Br  19.27/30.87  20.26/41.66  19.26/30.31  17.94/35.56  14.14/31.58  18.10/41.00  21.12/47.93 
For completeness, we have also compared PNLM with the stateoftheart denoising methods KSVD [16] and BM3D [17]. A couple of representative results are provided in Figures 6 and 7. Notice that the PNLM has successfully reduced the gap in PSNR/SSIM between NLM and KSVD. This is interesting given that KSVD is much more complex compared to PNLM. However, there is still a significant margin in the denoising performance with respect to BM3D. In this regard, we wish to make a couple of remarks. First, notice that the denoising using PNLM appears to be somewhat better in homogeneous regions compared to both KSVD and BM3D. In particular, we see “ripples” and “blocking” artifacts in the homogeneous regions for the KSVD and BM3D outputs. In fact, the overall visual quality of the PNLM output appears to be better than the KSVD output for both Lena and Barbara, though this fact is not quite captured by the quality metrics. The other remark is that the BM3D algorithm uses blockmatching and aggregation in its processing pipeline. Therefore, the present idea of pruning can in principle be incorporated into BM3D. We wish to investigate this in future work.
Iv Conclusion
We demonstrated that the denoising capability of NLM can be significantly improved using pruning, where the pruning is controlled using a single global threshold. The added cost of optimizing the threshold was marginal in comparison to the runtime of NLM. Moreover, we provided several denoising results to demonstrate that pruned NLM outperforms several variants of NLM in terms of PSNR and SSIM. The surprising observation is that, by optimizing a single parameter , we could obtain denoising results that are consistently better than that obtained using sophisticated optimization in [33, 34]
. It would be interesting to see if the present ideas can be extended to the recentlyproposed Vector Nonlocal Euclidean Median
[44].V Acknowledgements
The authors wish to thank the reviewers for their useful comments and suggestions. This work was supported by a Startup Grant from the Indian Institute of Science and EMR Grant SERB/F/6047/20162017 from the Department of Science and Technology, Government of India.
Vi Appendix
In this section, we provide the main steps in the derivation of (II). First, we write (9) as
where is given by (11). Then, by the quotient rule for derivatives and after some simplification, we obtain
(14) 
where is given by (11
). Applying chain rule, we have
(15) 
where
(16) 
and
(17) 
Substituting (15) and (16) in (14),
After performing some reductions, we arrive at (II):
References

[1]
Buades, A., Coll, B., and Morel, J. M.: ‘A
nonlocal algorithm for image denoising,’
Proc. IEEE International Conference on Computer Vision and Pattern Recognition,
Jun 2005, vol. 2, pp. 6065.  [2] Buades, A., Coll, B., and Morel, J. M.: ‘A review of image denoising algorithms, with a new one,’ Multiscale Modeling and Simulation, vol. 4, pp. 490530, 2005.
 [3] Salmon, J.: ‘On two parameters for denoising with nonlocal means,’ IEEE Signal Processing Letters, 2010, 17, (3), pp. 269272.

[4]
Duval, V., Aujol, J., and Gousseau, Y.: ‘A biasvariance approach for the nonlocal means,’
SIAM Journal on Imaging Sciences, 2011, 4, (2), pp. 760788.  [5] Wu, Y., Tracey, B., Natarajan, P., and Noonan, J. P.: ‘JamesStein type center pixel weights for nonlocal means image denoising,’ IEEE Signal Processing Letters, 2013, 20, (4), pp. 411414.
 [6] Feng, J., Li Song, et al.: ‘An optimized pixelwise weighting approach for patchbased image denoising,’ IEEE Signal Processing Letters, 2015, 22, (1), 115119.
 [7] Zhang, X., Feng, X., and Wang, W.: ‘Twodirection nonlocal model for image denoising,’ IEEE Transactions on Image Processing, 2013, 22, (1), pp. 408412.
 [8] Liu, G., Zhong, H., and Jiao, L.: ‘Comparing noisy patches for image denoising: a double noise similarity model,’ IEEE Transactions on Image Processing, 2015, 24, (3), pp. 862872.
 [9] Rehman A., and Wang, Z.: ‘SSIMbased nonlocal means image denoising,’ Proc. IEEE International Conference on Image Processing, 2011, pp. 217220.
 [10] Orchard, J., Ebrahimi, M., and Wong, A.: ‘Efficient nonlocal means denoising using the SVD,’ Proc. IEEE International Conference on Image Processing, 2008, pp. 17321735.
 [11] Tasdizen, T.: ‘Principal neighborhood dictionaries for nonlocal means image denoising,’ IEEE Transactions on Image Processing, 2009, 18, 12, pp. 26492660.
 [12] Van De Ville, D., and Kocher, M.: ‘Nonlocal means with dimensionality reduction and SUREbased parameter selection,’ IEEE Transactions on Image Processing, 2011, 20, (9), pp. 26832690.

[13]
Zuo, Chenglin, et al.: ‘Image denoising using quadtreebased nonlocal means with locally adaptive principal component analysis,’
IEEE Signal Processing Letters, 2016, 23, (4), pp. 434438.  [14] Tracey, B. H., and Miller, E. L.: ‘Nonlocal means denoising of ECG signals,’ IEEE Transactions on Biomedical Engineering, 2012, 59, (9), pp. 23832386.
 [15] Yadav, S. K., Sinha, R., and Bora, P. K.: ‘Electrocardiogram signal denoising using nonlocal wavelet transform domain filtering,’ IET Signal Processing, 2015, 9, (1), pp. 8896.
 [16] Elad, M., and Aharon, M.: ‘Image denoising via sparse and redundant representations over learned dictionaries,’ IEEE Transactions on Image Processing, 2006, 15, (12), pp. 37363745.
 [17] Dabov, K., et al.: ‘Image denoising by sparse 3D transformdomain collaborative filtering,’ IEEE Transactions on Image Processing, 2007, 16, (8), pp. 20802095.
 [18] Hossein, T., and Milanfar, P.: ‘Global image denoising,’ IEEE Transactions on Image Processing, 2014, 23, (2), pp. 755768.
 [19] Duan, J., et al.: ‘Second order MumfordShah model for image denoising,’ Proc. IEEE International Conference on Image Processing, 2015.
 [20] Yue, H., et al.: ‘Image denoising by exploring external and internal correlations,’ IEEE Transactions on Image Processing, 2015, 24, (6), pp. 19671982.
 [21] Romano, Y., and Elad, M.: ‘Boosting of image denoising algorithms,’ SIAM Journal on Imaging Sciences, 2015, 8, (2), pp. 11871219.
 [22] Dinh, K. Q., Canh, T. N., and Byeungwoo, J.: ‘Color Image Denoising via CrossChannel Texture Transferring,’ IEEE Transactions on Image Processing,, 2016, 23, (8), pp. 10711075.
 [23] Chen, Yang, et al.: ‘Improving lowdose abdominal CT images by weighted intensity averaging over largescale neighborhoods,’ European Journal of Radiology, 2011, 80, (2), e42e49.
 [24] Chen, Yang, et al.: ‘Thoracic lowdose CT image processing using an artifact suppressed largescale nonlocal means,’ Physics in Medicine and Biology, 2012, 57, (9), pp. 26672688.
 [25] Chen, F., Xiaojun H., and Chen, W.: ‘Texturepreserving image deblurring,’ IEEE Signal Processing Letters, 2010, 17, (12), pp. 10181021.
 [26] Jung, M., et al.: ‘Nonlocal MumfordShah regularizers for color image restoration,’ IEEE Transactions on Image Processing, 2011, 20, (6), pp. 15831598.
 [27] Wong, A., and Orchard, J.: ‘A nonlocalmeans approach to exemplarbased inpainting,’ Proc. IEEE International Conference on Image Processing, 2008.
 [28] Buades, A., et al.: ‘Selfsimilarity driven color demosaicking,’ IEEE Transactions on Image Processing, 2009, 18, (6), pp. 11921202.
 [29] Protter, M., et al.: ‘Generalizing the nonlocalmeans to superresolution reconstruction,’ IEEE Transactions on Image Processing, 2009, 18, (1), pp. 3651.
 [30] Zhang, K., et al.: ‘Single image superresolution with nonlocal means and steering kernel regression,’ IEEE Transactions on Image Processing, 2012, 21, (11), pp. 45444556.
 [31] Zhang, K., et al.: ‘Learning multiple linear mappings for efficient single image superresolution,’ IEEE Transactions on Image Processing, 2015, 24, (3), pp. 846861.
 [32] Deledalle, C.A., Duval, V., and Salmon, J.: ‘Nonlocal methods with shapeadaptive patches (NLMSAP),’ Journal of Mathematical Imaging Vision, 2012, 43, (2), pp. 103120.
 [33] Chaudhury, K. N., and Singer, A.: ‘Nonlocal Euclidean medians,’ IEEE Signal Processing Letters, 2012, 19, (11), pp. 745748.
 [34] Sun, Z., and Chen, S.: ‘Analysis of nonlocal Euclidean medians and its improvement,’ IEEE Signal Processing Letters, 2013, 20, (4), pp. 303306.
 [35] Chaudhury, K. N., and Singer, A.: ‘Nonlocal patch regression: Robust image denoising in patch space,’ Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing, 2013, pp. 1345  1349.

[36]
Stein, C.: ‘Estimation of the mean of a multivariate normal distribution,’
The Annals of Statistics, 1981, 9, pp. 11351151.  [37] Van De Ville, D., and Kocher, M.: ‘Surebased nonlocal means,’ IEEE Signal Processing Letters, 2009, 16, (11), pp. 973976.
 [38] Kiefer, J.: ‘Sequential minimax search for a maximum,’ Proc. American Mathematical Society, 1953, 4, (3), pp. 502506.
 [39] Ghosh, S., and Chaudhury, K. N.: ‘Fast Separable NonLocal Means,’ SPIE Journal of Electronic Imaging, 2016, 25, (2), 023026.
 [40] Darbon, J., Cunha, A., et al.: ‘Fast nonlocal filtering applied to electron cryomicroscopy,’ Proc. IEEE International Symposium on Biomedical Imaging, 2008, pp. 13311334.
 [41] ‘BM3D Image Database’, http://www.cs.tut.fi/foi/GCFBM3D.
 [42] ‘Computer Vision Test Images’, http://www.cs.cmu.edu/cil/vimages.html.
 [43] Wang, Z., Bovik, A. C., Sheikh, H. R., and Simoncelli, E. P.: ‘Image quality assessment: From error visibility to structural similarity,’ IEEE Transactions on Image Processing, 2004, 13, (4), pp. 600612.
 [44] Lin C.Y., Minasian A., Qi X.J., and Wu H.T.: ‘Vector nonlocal Euclidean median: principal bundle captures the nature of patch space,’ arXiv:1611.05073, 2016.