view DL/Majorization Minimization DL/ExactDicoRecovery/dict_update_KSVD_cn.m @ 216:a986ee86651e luisf_dev

Calls SMALLboxInit in the beginning of both solve and learn, in order not to lose the SMALL_path variable.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Thu, 22 Mar 2012 11:41:04 +0000
parents b14209313ba4
children
line wrap: on
line source
function[Phiout,unhatnz] = dict_update_KSVD_cn(Phi,x,unhat)
%% K-SVD Dictionary Learning with the constraint on the column norms %%%%%

%%
unhatn = unhat;
rPerm = randperm(size(Phi,2));
%% for l = 1:size(Phi,2),
for l = rPerm
    unhatns = unhat;
    unhatns(l,:) = zeros(1,size(unhat,2));
    E = x-Phi*unhatns;
    ER = E(:,(abs(unhat(l,:))>0));
    [U,S,V] = svd(ER,0);
    Phi(:,l) = U(:,1)
    unhatn(l,:) = zeros(1,size(unhat,2));
    unhatn(l,(abs(unhat(l,:))>0)) = S(1,1)*V(:,1);
    unhat = unhatn;
end
%%
unhatnz = unhat;
Phiout = Phi;
end