diff --git a/LFtoSR.m b/LFtoSR.m
index 32a1ee27c64a6edf21d5970774cecbcdb4c5681d..7b19a982c0155d0e3e620232ef5f2ac3c5c42ab5 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 520f346799841f44d47a0bc995437b202e100191..94533ba001ae61bfcdd5e8eb06d8324fb9d20321 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');