PPB_GAUSS: Probabilistic Patch-Based filter for Gaussian noise
==============================================================

Revision:	        30 April 2009
Author:                 Charles-Alban Deledalle
Web page:               http://perso.telecom-paristech.fr/~deledall/ppb.php

This MATLAB software implements the denoising algorithm (the Probabilistic
Patch-Based filter) for images damaged by additive white Gaussian noise as
presented in: "Iterative Weighted Maximum Likelihood Denoising with
Probabilistic Patch-Based Weights", C.A. Deledalle, L. Denis and F. Tupin,
IEEE Trans. on Image Processing, vol. 18, no. 12, pp. 2661-2672,
December 2009.

This software is free and should be used only for nonprofit purposes. Any
unauthorized use of this software for industrial or profit-oriented
activities is expressively prohibited.

The program has been written for MATLAB with the ImageProcessing Toolbox
for Linux 32-bit or 64-bit and Windows 32-bit.

The following program files are present:

- ppbGauss.mex*:
  A Mex function wich performs one iteration of the denoising algorithm.

- ppb_gauss.m:
  A matlab function wich calls the ppbGauss.mexglx program to perform the
  iterative denoising. This function realize also a wrapping of the
  arguments which can be then given as described in our paper. Please refer
  to our paper for a more detailed description of the arguments. Note that
  this function ables to treat large images by preserving memory thanks to
  a block processing on 1024x1024 subimages.

- exemple_gauss.m:
  An exemple of how to use the PPB filter. It denoises the Lena image
  (lena.png) corrupted by additive white Gaussian noise with standard
  deviation 40. The PPB filter is used with 2 sets of parameters. One
  applies the non-iterative PPB filter, the other one performs 4 iteration
  of the PPB filter with an initial estimate computing also with the PPB
  filter with a smaller search window size.

- psnr.m:
  Computes the PSNR values.

- plotimage.m:
  Plot a grayscale image with pixel values ranged on [0..255].

For any comment, suggestion or question please contact Charles-Alban
Deledalle (deledalle@telecom-paristech.fr).
