Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 1c026fb5 authored by DIB Elian's avatar DIB Elian
Browse files

Added completion

parent 8a6808cb
No related branches found
No related tags found
No related merge requests found
Subproject commit 3f7710a61341949178d3d56acec2c67ec013248e
[submodule "+LRTC"]
path = +LRTC
url = git@gitlab.inria.fr:edib/lrtc.git
function [LFComp,LFMaskComp] = complete(LFRef,varargin)
%COMPLETE Summary of this function goes here
% Detailed explanation goes here
s = size(LFRef);
vecResh = @(LF) reshape(LF,s(1)*s(2),s(3)*s(4))';
boxResh = @(LFVec,LF) reshape(LFVec',size(LF));
p = inputParser;
p.addOptional('Method','zeros',@ischar);
p.parse(varargin{:});
Method = p.Results.Method;
maxIter=500;
switch Method
case 'zeros'
alpha=[nan,nan]; betaMult=nan ; epsilon=nan; TraceNormToRankParam=nan;
case {'trace','rank'}
if strcmp(Method,'trace')
alpha=[1,1]; betaMult=1.1 ; epsilon=1e-3; TraceNormToRankParam=0;
else
alpha=[1,1]; betaMult=1.44; epsilon=1e-3; TraceNormToRankParam=inf;
end
otherwise
error('Unknown completion method');
end
p.addOptional('alpha',alpha,@isnumeric);
p.addOptional('betaMult',betaMult,@isnumeric);
p.addOptional('maxIter',maxIter,@isnumeric);
p.addOptional('epsilon',epsilon,@isnumeric);
p.addOptional('TraceNormToRankParam',TraceNormToRankParam,@isnumeric);
p.parse(varargin{:});
alpha = p.Results.alpha;
betaMult = p.Results.betaMult;
maxIter = p.Results.maxIter;
epsilon = p.Results.epsilon;
TraceNormToRankParam = p.Results.TraceNormToRankParam;
LFMask = ~isnan(LFRef);
LFMaskComp = repmat(any(any(LFMask,1),2),s(1),s(2),1,1);
LFRef(~LFMask) = 0;
switch Method
case 'zeros'
LFComp = LFRef;
case {'trace','rank'}
LFVec = vecResh(LFRef);
LFMaskVec = vecResh(LFMask);
LFCompVec = LRTCADMrho(LFVec,LFMaskVec,...
alpha,betaMult,maxIter,epsilon,...
TraceNormToRankParam);
LFComp = boxResh(LFCompVec,LFRef);
end
LFComp(~LFMaskComp) = NaN;
end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment