1. An iterative denoising method comprising: receiving, a noisy dataset z comprising a plurality of noisy-dataset symbols z i ; and iteratively, computing, by a processor, a next prefiltered dataset y comprising a plurality of prefiltered-dataset symbols y i , and for each noisy-dataset symbol z i , computing, by the processor, an estimated denoised-dataset symbol {circumflex over (x)} i by: when a conditioning class Q(z i ) for the noisy-dataset symbol z i remains valid for denoising, minimizing a computed distortion determine the estimated denoised-dataset symbol {circumflex over (x)} i , and when a conditioning class Q(z i ) for the noisy-dataset symbol z i is not valid for denoising, determining the estimated denoised-dataset symbol {circumflex over (x)} i to be a corresponding prefiltered-dataset symbol y i , until a convergence criterion is satisfied.