Use the GSCAD method under dictionary learning framework to learn a proper
sized dictionary and denoise image. The noisy image is split into m by m
patches and a dictionary with each atom of size m is learned. The final
denoised image is reconstruncted on the denoised patches.
Initial dictionary. If D0 specified, m and p0 are not needed, otherwise D0
is evaluated as overcompleted DCT basis using function ODCT(m,p0). Either D0
or (m,p0) needs to be specified.
m
The size of the small patches to be split.
p0
Initial size of the dictionary.
c, lambda
Parameters for GSCAD.
maxrun
(optional) Maximun number of outer iterations to run. Default is 20.
maxrun_ADMM
(optional) Maximun number of iterations to run for updating
dictionary using ADMM. Default is 20.
err_bnd
(optional) Stopping criterion for iterations. Default is 1e-4.
err_bnd2
(optional) Stopping criterion for updating dictionary
rho
(optional) Parameter for ADMM. Default is 16.
cor_bnd
(optional) When normalize dictionary, checking if the correlation
of any two atoms are above the cor_bnd, one of the atom is removed. Default is 1.
L
(optional) This parameter controls the maximum number of non-zero elements
in each column of sparsecolding A.Default is m.
Value
The learned dictionary dictionary, its size p
and the denoised image fitted image.
# NOT RUN {I = lena_crop #use a smaller image as an example## add noisesigma=20;
I_noise=AddNoise(I,sigma)
## denoising using GSCAD# }# NOT RUN {out=gscad.denoise(I_noise,sigma,m=64,p0=100)
# }