1. A method comprising: denoising, by at least one computing device, an image, the denoising including for a pixel in the image: forming a plurality of potential reference patches from the image in which each potential reference patch of the plurality of potential reference patches includes the pixel; selecting a reference patch from the plurality of potential reference patches, the selecting based at least in part on uniformity within each potential reference patch of the plurality of potential reference patches, the selecting comprising: determining entropy of the plurality of potential reference patches; and selecting the reference patch such that the reference patch has a lower entropy than others of the plurality of potential reference patches that include the pixel and that are not selected as the reference patch; and computing a display value for the pixel in the image through comparison of the reference patch with a plurality of query patches; and outputting, by the at least one computing device, a denoised image having the display value for the pixel.