This is where navigation should be.

GROUPTHRESH - Group thresholding

Usage

xo=groupthresh(xi,lambda);

Description

groupthresh(x,lambda) performs group thresholding on x, with threshold lambda. x must be a two-dimensional array, the first dimension labelling groups, and the second one labelling members. This means that the groups are the row vectors of the input (the vectors along the 2nd dimension).

Several types of grouping behaviour are available:

  • groupthresh(x,lambda,'group') shrinks all coefficients within a given group according to the value of the \(l^2\) norm of the group in comparison to the threshold lambda. This is the default.
  • groupthresh(x,lambda,'elite') shrinks all coefficients within a given group according to the value of the \(l^1\) norm of the group in comparison to the threshold value lambda.

groupthresh(x,lambda,dim) chooses groups along dimension dim. The default value is \(dim=2\).

groupthresh accepts all the flags of thresh to choose the thresholding type within each group and the output type (full / sparse matrix). Please see the help of thresh for the available options. Default is to use soft thresholding and full matrix output.

References:

M. Kowalski. Sparse regression using mixed norms. Appl. Comput. Harmon. Anal., 27(3):303--324, 2009. [ http ]

M. Kowalski and B. Torrésani. Sparsity and persistence: mixed norms provide simple signal models with dependent coefficients. Signal, Image and Video Processing, 3(3):251--264, 2009. [ http ]

G. Yu, S. Mallat, and E. Bacry. Audio Denoising by Time-Frequency Block Thresholding. IEEE Trans. Signal Process., 56(5):1830--1839, 2008. [ .pdf ]