From 7eadc8d91d1872eaae232d3929faeebf734cd290 Mon Sep 17 00:00:00 2001
From: Elian Dib <elian.dib@inria.fr>
Date: Wed, 22 May 2019 15:26:09 +0200
Subject: [PATCH] Added warning and cleaned code

---
 LFtoSR.m |  9 ++++++++-
 SRtoLF.m | 53 +++++++++++++++++++++++------------------------------
 2 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/LFtoSR.m b/LFtoSR.m
index 32a1ee2..7b19a98 100644
--- a/LFtoSR.m
+++ b/LFtoSR.m
@@ -11,7 +11,6 @@ Offset = LFSet.Offset;
 Color  = LFSet.Color;
 Label  = LFSet.Label;
 ResOff = floor(ImgRes/2)+1;
-LFSize = [ImgSize,ImgRes];
 numView = prod(ImgRes);
 numLab = max(Label(:));
 
@@ -56,6 +55,11 @@ LFY = LFY-vgv.*reshape(LFDisp,LFSize);
 
 progress('');
 
+wgriddata = warning('query','MATLAB:griddata:DuplicateDataPoints');
+wscattered = warning('query','MATLAB:scatteredInterpolant:DupPtsAvValuesWarnId');
+warning('off','MATLAB:griddata:DuplicateDataPoints');
+warning('off','MATLAB:scatteredInterpolant:DupPtsAvValuesWarnId');
+
 %% Initialize super-rays
 fprintf('Super-ray initialization...\n');
 for lab = 1:numLab
@@ -138,6 +142,9 @@ for lab = 1:numLab
 end
 fprintf('\n\n');
 
+warning(wgriddata.state,'MATLAB:griddata:DuplicateDataPoints');
+warning(wscattered.state,'MATLAB:scatteredInterpolant:DupPtsAvValuesWarnId');
+
 % Create super-ray structure from fields
 SRSet = SR.FieldsToSet(SRImgSize,SRImgRes,SROff,SRCol,SRLab);
 
diff --git a/SRtoLF.m b/SRtoLF.m
index 520f346..94533ba 100644
--- a/SRtoLF.m
+++ b/SRtoLF.m
@@ -83,52 +83,45 @@ for lab = 1:numLab
             '\nView ',num2str(v),'/',num2str(numView),'\n'];
         progress(msg);
         
-        SRXSub = [];
-        SRYSub = [];
-        SRLabSub = [];
+        SRXSub    = [];
+        SRYSub    = [];
+        SRLabSub  = [];
         SRDispSub = [];
-        SRColSub = [];
+        SRColSub  = [];
         
         for subLab = 1:numLab
             % Remove missing reference data
-            SRXSubLab = SRX{subLab}(:,:,v);
-            SRYSubLab = SRY{subLab}(:,:,v);
-            SRLabSubLab = SRLab{subLab}(:,:,v);
+            SRXSubLab    = SRX   {subLab}(:,:,v);
+            SRYSubLab    = SRY   {subLab}(:,:,v);
+            SRLabSubLab  = SRLab {subLab}(:,:,v);
             SRDispSubLab = SRDisp{subLab}(:,:,v);
-            SRColSubLab = cat(numChan,nan(size(SRXSubLab)));
-            for c = 1:numChan
-                SRColSubLab(:,:,c) = SRCol{subLab}(:,:,c,v);
-            end
-
-            SRXSubLab = reshape(SRXSubLab,[],1);
-            SRYSubLab = reshape(SRYSubLab,[],1);
-            SRLabSubLab = reshape(SRLabSubLab,[],1);
+            SRColSubLab  = SRCol {subLab}(:,:,:,v);
+            
+            SRXSubLab    = reshape(SRXSubLab   ,[],1);
+            SRYSubLab    = reshape(SRYSubLab   ,[],1);
+            SRLabSubLab  = reshape(SRLabSubLab ,[],1);
             SRDispSubLab = reshape(SRDispSubLab,[],1);
-            SRColSubLab = reshape(SRColSubLab,[],numChan);
+            SRColSubLab  = reshape(SRColSubLab ,[],numChan);
 
             inMask = ...
                 SRXSubLab>=srxqmin-1 & SRXSubLab<=srxqmax+1 &...
                 SRYSubLab>=sryqmin-1 & SRYSubLab<=sryqmax+1;
 
-            SRXSub = cat(1,SRXSub,SRXSubLab(inMask,:));
-            SRYSub = cat(1,SRYSub,SRYSubLab(inMask,:));
-            SRLabSub = cat(1,SRLabSub,SRLabSubLab(inMask,:));
+            SRXSub    = cat(1,SRXSub   ,SRXSubLab   (inMask,:));
+            SRYSub    = cat(1,SRYSub   ,SRYSubLab   (inMask,:));
+            SRLabSub  = cat(1,SRLabSub ,SRLabSubLab (inMask,:));
             SRDispSub = cat(1,SRDispSub,SRDispSubLab(inMask,:));
-            SRColSub = cat(1,SRColSub,SRColSubLab(inMask,:));
+            SRColSub  = cat(1,SRColSub ,SRColSubLab (inMask,:));
         end
         
         % Compute missing reference data mask
-        NaNMask = ~(isnan(SRXSub) | isnan(SRYSub));
-%         SRXSub = reshape(SRXSub(NaNMask),[],1);
-%         SRYSub = reshape(SRYSub(NaNMask),[],1);
-%         SRLabSub = reshape(SRLabSub(NaNMask),[],1);
-%         SRDispSub = reshape(SRDispSub(NaNMask),[],1);
-%         SRColSub = reshape(SRColSub(NaNMask,:),[],numChan);
-        SRXSub = SRXSub(NaNMask,:);
-        SRYSub = SRYSub(NaNMask,:);
-        SRLabSub = SRLabSub(NaNMask,:);
+        NaNMask = ~(isnan(SRXSub) | isnan(SRYSub) | SRLabSub==0);
+        
+        SRXSub    = SRXSub   (NaNMask,:);
+        SRYSub    = SRYSub   (NaNMask,:);
+        SRLabSub  = SRLabSub (NaNMask,:);
         SRDispSub = SRDispSub(NaNMask,:);
-        SRColSub = SRColSub(NaNMask,:);
+        SRColSub  = SRColSub (NaNMask,:);
 
         % Interpolate label
         LabInt = griddata(SRXSub,SRYSub,SRLabSub,LFXq(xgv,ygv),LFYq(xgv,ygv),'nearest');
-- 
GitLab