i-LET SOFTWARE FOR MATLAB

Hanjie Pan
Image and Video Processing Lab
Electronic Engineering Department
The Chinese University of Hong Kong, Hong Kong

This software implements the iterative Linear Expansion of Thresholds (i-LET) algorithm described in:

[1] H. Pan and T. Blu, "Sparse image restoration using iterated linear expansion of thresholds," in 2011 IEEE International Conference on Image Processing (ICIP2011), (Brussels, Belgium), September 2011. 
[2] H. Pan and T. Blu, "An iterated linear expansion of thresholds for l1-based image restoration." Submitted to IEEE Transactions on Image Processing.

A. i-LET DEMO

ILET_DEMO1: Deconvolution demo which solves a constrained ell-1 minimization problem with the i-LET approach:

	min_c	| c |_1
	s.t.		| y-HWc |_2^2 <= noise energy.

ILET_DEMO2: Solve an unconstrained ell-1 minimization problem with the i-LET approach:

	min_c	| y-HWc |_2^2 + lambda | c |_1.

Here c are the wavelet coefficients, H is the convolution matrix/operator associated with a given point-spread function (PSF), and y is the given distorted measurement.

To run the demos, type 'ilet_demo1' or 'ilet_demo2' in the Matlab command window (without the quotation mark). 

A GUI demo is also provided (see details in Section C. GUI below).

B. DATA

Contains several CSV files that specify the ell-1 regularization used in the unconstrained minimization problem considered in [2].

C. GUI

ILET_DECONV_GUI: The graphical interface for the i-LET ell-1 minimization algorithm with a specific application to image deconvolution. To run this GUI, simply type 'ilet_deconv_gui' in the Matlab command window.

C. IMAGE

This directory contains several test images.

D. PSF

Stores customized point-spread function (in spatial domain) as *.mat files. The PSF is given as a matrix 'h', whose origin is assumed to be at the centre of the image plane. e.g. the psf1.mat file contains a 5 by 5 matrix h:

h = [	1	4	6	4	1;
	4	16	24	16	4;
	6	24	36	24	6;
	4	16	24	16	4;
	1	4	6	4	1];

To use user-defined PSF, specify type = 4 for the input argument of 'convKernel'. See also tools/convKernel.m

E. SRC

ILET_DECONV: i-LET deconvolution algorithm.

F. TOOLS

CONVKERNEL: Generate different types of convolution kernels. User-defined convolution is possible by:
1)	direct modification to the PSF expression (in spatial domain) of the existing type 1 to 3 filters in the function; If a Fourier domain definition of the PSF is available, then use ifft2 and fftshift to modify the spatial domain definition accordingly. e.g. if the PSF in Fourier is given by h_hat, then the h that should be specified is: fftshift(ifft2(h_hat)).
2)	load a *.mat file with the input argument type = 4. It specifies the PSF with a matrix h. It is assumed that the (0,0) of the PSF is located at the centre of the image plane.

CONVOLVE2: 2-D periodic convolution implementation in the Fourier domain.

ESTIMATE_NOISE: Estimate noise level of the additive white Gaussian noise in a given image.

MSE: Compute the mean-square error.

PSNR: Computer the peak signal-to-noise ratio.

RWT: Rice wavelet toolbox. It has already been compiled for 32/64-bit Windows system and 64-bit (intel) Mac OS X. In case your operating system has different configurations, run setup.m first by typing 'setup' in the command window.

SOFT: Soft-thresholding function.

SSIM_INDEX: Compute the structure similarity index.

<>=<>=<>=<>=<>=<>=<>=<>=<>=<>=<>=<>=<>
Please report any bugs or comments to:
panhanjie@gmail.com
<>=<>=<>=<>=<>=<>=<>=<>=<>=<>=<>=<>=<>