Description of sopt_mltb_solve_rwBPDN
Description: sopt_mltb_solve_rwBPDN - Solve reweighted BPDN problem

Home > matlab > sopt_mltb_solve_rwBPDN.m

# sopt_mltb_solve_rwBPDN

## PURPOSE

sopt_mltb_solve_rwBPDN - Solve reweighted BPDN problem

## SYNOPSIS

function sol = sopt_mltb_solve_rwBPDN(y, epsilon, A, At, Psi, Psit,paramT, sigma, tol, maxiter, initsol)

## DESCRIPTION

     sopt_mltb_solve_rwBPDN - Solve reweighted BPDN problem

     Solve the reweighted L1 minimization function using an homotopy
     continuation method to approximate the L0 norm.  At each iteration the
     following problem is solved:

       min_x ||W Psit x||_1   s.t.  ||y-A x||_2 < epsilon

     where W is a diagonal matrix with diagonal elements given by

       [W]_ii = delta(t)/(delta(t)+|[Psit x(t)]_i|).

     The input parameters are defined as follows.

       - y: Input data (measurements).

       - epsilon: Noise bound.

       - A: Forward measurement operator.

       - At: Adjoint measurement operator.

       - Psi: Synthesis sparsity transform.

       - Psit: Analysis sparsity transform.

       - paramT: Structure containing parameters for the L1 solver (see
           documentation for sopt_mltb_solve_BPDN).

       - sigma: Noise standard deviation in the analysis domain.

       - tol: Minimum relative change in the solution.
           The algorithm stops if
               ||x(t)-x(t-1)||_2/||x(t-1)||_2 < tol.
           where x(t) is the estimate of the solution at iteration t.

       - maxiter: Maximum number of iterations of the reweighted algorithm.

       - initsol: Initial solution for a warmstart.

     References:
     [1] R. E. Carrillo, J. D. McEwen, D. Van De Ville, J.-Ph. Thiran, and
     Y. Wiaux. Sparsity averaging for compressive imaging. IEEE Sig. Proc.
     Let., in press, 2013.
     [2] R. E. Carrillo, J. D. McEwen, and Y. Wiaux. Sparsity Averaging
     Reweighted Analysis (SARA): a novel algorithm for radio-interferometric
     imaging. Mon. Not. Roy. Astron. Soc., 426(2):1223-1234, 2012.

## CROSS-REFERENCE INFORMATION

This function calls:

- sopt_mltb_solve_BPDN sopt_mltb_solve_BPDN - Solve BPDN problem

This function is called by:

- Experiment1 % Experiment1
- Experiment2 % Experiment2
- Experiment3 % Experiement3

## SOURCE CODE

    0001 function sol = sopt_mltb_solve_rwBPDN(y, epsilon, A, At, Psi, Psit, ...
    0002   paramT, sigma, tol, maxiter, initsol)
    0003 % sopt_mltb_solve_rwBPDN - Solve reweighted BPDN problem
    0004 %
    0005 % Solve the reweighted L1 minimization function using an homotopy
    0006 % continuation method to approximate the L0 norm.  At each iteration the
    0007 % following problem is solved:
    0008 %
    0009 %   min_x ||W Psit x||_1   s.t.  ||y-A x||_2 < epsilon
    0010 %
    0011 % where W is a diagonal matrix with diagonal elements given by
    0012 %
    0013 %   [W]_ii = delta(t)/(delta(t)+|[Psit x(t)]_i|).
    0014 %
    0015 % The input parameters are defined as follows.
    0016 %
    0017 %   - y: Input data (measurements).
    0018 %
    0019 %   - epsilon: Noise bound.
    0020 %
    0021 %   - A: Forward measurement operator.
    0022 %
    0023 %   - At: Adjoint measurement operator.
    0024 %
    0025 %   - Psi: Synthesis sparsity transform.
    0026 %
    0027 %   - Psit: Analysis sparsity transform.
    0028 %
    0029 %   - paramT: Structure containing parameters for the L1 solver (see
    0030 %       documentation for sopt_mltb_solve_BPDN).
    0031 %
    0032 %   - sigma: Noise standard deviation in the analysis domain.
    0033 %
    0034 %   - tol: Minimum relative change in the solution.
    0035 %       The algorithm stops if
    0036 %           ||x(t)-x(t-1)||_2/||x(t-1)||_2 < tol.
    0037 %       where x(t) is the estimate of the solution at iteration t.
    0038 %
    0039 %   - maxiter: Maximum number of iterations of the reweighted algorithm.
    0040 %
    0041 %   - initsol: Initial solution for a warmstart.
    0042 %
    0043 % References:
    0044 % [1] R. E. Carrillo, J. D. McEwen, D. Van De Ville, J.-Ph. Thiran, and
    0045 % Y. Wiaux. Sparsity averaging for compressive imaging. IEEE Sig. Proc.
    0046 % Let., in press, 2013.
    0047 % [2] R. E. Carrillo, J. D. McEwen, and Y. Wiaux. Sparsity Averaging
    0048 % Reweighted Analysis (SARA): a novel algorithm for radio-interferometric
    0049 % imaging. Mon. Not. Roy. Astron. Soc., 426(2):1223-1234, 2012.
    0050
    0051 param=paramT;
    0052 iter=0;
    0053 rel_dist=1;
    0054
    0055 if nargin<11
    0056     fprintf('RW iteration: %i\n', iter);
    0057     sol = sopt_mltb_solve_BPDN(y, epsilon, A, At, Psi, Psit, param);
    0058 else
    0059     sol = initsol;
    0060 end
    0061
    0062 temp=Psit(sol);
    0063 delta=std(temp(:));
    0064
    0065 while (rel_dist>tol && iter<maxiter)
    0066
    0067     iter=iter+1;
    0068     delta=max(sigma/10,delta);
    0069     fprintf('RW iteration: %i\n', iter);
    0070     fprintf('delta = %e\n', delta);
    0071
    0072     % Weights
    0073     weights=abs(Psit(sol));
    0074     param.weights=delta./(delta+weights);
    0075
    0076     % Warm start
    0077     param.initsol=sol;
    0078     param.gamma=1e-1*max(weights(:));
    0079     sol1=sol;
    0080
    0081     % Weighted L1 problem
    0082     sol = sopt_mltb_solve_BPDN(y, epsilon, A, At, Psi, Psit, param);
    0083
    0084     % Relative distance
    0085     rel_dist=norm(sol(:)-sol1(:))/norm(sol1(:));
    0086     fprintf('Relative distance = %e\n\n', rel_dist);
    0087     delta = delta/10;
    0088
    0089 end
    0090