diff --git a/pad.m b/pad.m index 3a9118a3cd5b1400ce6dac46d68043c0853a59ad..e8aad257ecf928561432df514d373b973977b228 100644 --- a/pad.m +++ b/pad.m @@ -2,17 +2,19 @@ function [LFRef,LFSizePad] = pad(LFRef,blockSize) %PAD Pad lightfield data % [LFRef,LFSizePad] = pad(LFRef,blockSize) -LFSize = size(LFRef); -imgRes = LFSize(1:2); -imgSize = LFSize(3:end); +LFSize = size(LFRef); +LFSize(3) = 0; +imgSize = LFSize(1:3); +imgRes = LFSize(4:end); -imgSizePad = ceil(imgSize/blockSize)*blockSize; -imgSizePad(3:end)=imgSize(3:end); -LFSizePad = [imgRes,imgSizePad]; -padSize = LFSizePad-LFSize; -padSizePre = floor(padSize/2); +imgSizePad = ceil(imgSize./blockSize).*blockSize; + +LFSizePad = [imgSizePad,imgRes]; + +padSize = LFSizePad-LFSize; +padSizePre = floor(padSize/2); padSizePost = padSize - padSizePre; -LFRef = padarray(LFRef,padSizePre,'replicate','pre'); +LFRef = padarray(LFRef,padSizePre ,'replicate','pre' ); LFRef = padarray(LFRef,padSizePost,'replicate','post'); end \ No newline at end of file diff --git a/unpad.m b/unpad.m index c9b6e560c99a6ba417f673a86f03d1a87f4c514a..b62c82582d4764a8f9462721ba877e033d7d98e1 100644 --- a/unpad.m +++ b/unpad.m @@ -3,8 +3,9 @@ function LFRef = unpad(LFRef,LFSize) % LFRef = unpad(LFRef,LFSize) LFSizePad = size(LFRef); -padSize = LFSizePad-LFSize; -padSizePre = floor(padSize/2); + +padSize = LFSizePad-LFSize; +padSizePre = floor(padSize/2); padSizePost = padSize - padSizePre; gv = arrayfun(@(lfsizepad,pre,post) (1+pre):(lfsizepad-post),...