diff --git a/LFtoSR.m b/LFtoSR.m index 1cc7590a4d6d8df0d10154245c99dfb593bc9d27..0b743e94f6dd84b983e7d75f4425845be0ffe57c 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