From 9eafb58d4c14c5328e5e1c29923264532920513e Mon Sep 17 00:00:00 2001
From: Elian Dib <elian.dib@inria.fr>
Date: Tue, 9 Jul 2019 16:02:31 +0200
Subject: [PATCH] Using gridded interpolation

---
 LFtoSR.m | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/LFtoSR.m b/LFtoSR.m
index 1cc7590..0b743e9 100644
--- a/LFtoSR.m
+++ b/LFtoSR.m
@@ -112,10 +112,7 @@ for lab = 1:numLab
         LFXsub = LFX(mgv{:},v);
         LFYsub = LFY(mgv{:},v);
         
-        [Xq,Yq,LFXsub,LFYsub] = utils.gridCoords(LFXsub,LFYsub,SRXq,SRYq);
-        
-        LFXsub = LFXsub(:);
-        LFYsub = LFYsub(:);
+        [LFXsub,LFYsub,Xq,Yq] = utils.gridCoords(LFXsub,LFYsub,SRXq,SRYq);
         
         M = isnan(Xq)|isnan(Yq);
         
@@ -125,28 +122,25 @@ for lab = 1:numLab
         % Interpolate color
         for c = 1:numChan
             Colsub = Color(mgv{:},c,v);
-            Colsub = Colsub(:);
-            temp = griddata(LFXsub,LFYsub,Colsub,Xq,Yq,Method);
+            temp = interp2(LFYsub,LFXsub,Colsub,Yq,Xq,Method);
             temp(M) = nan;
             SRCol{lab}(:,:,c,v) = temp;
         end
         
         % Interpolate disparity
         LFDispsub = LFDisp(mgv{:},v);
-        LFDispsub = LFDispsub(:);
-        temp = griddata(LFXsub,LFYsub,LFDispsub,Xq,Yq,Method);
+        temp = interp2(LFYsub,LFXsub,LFDispsub,Yq,Xq,Method);
         temp(M) = nan;
         SRDisp{lab}(:,:,1,v) = temp;
         
         % Interpolate label
         Labelsub = Label(mgv{:},v);
-        Labelsub = Labelsub(:);
-        temp = griddata(LFXsub,LFYsub,Labelsub,Xq,Yq,'nearest');
+        temp = interp2(LFYsub,LFXsub,Labelsub,Yq,Xq,'nearest');
         temp(M) = nan;
         Lab = temp;
         
         % Replace out of boundary values in label using cubic interpolation
-        NaNLab = isnan(griddata(LFXsub,LFYsub,Labelsub,Xq,Yq,'cubic'));
+        NaNLab = isnan(interp2(LFYsub,LFXsub,Labelsub,Yq,Xq,'cubic'));
         Lab(NaNLab) = nan;
         SRLab{lab}(:,:,1,v) = Lab;
     end
-- 
GitLab