Daniel@0: function data2 = cell2matPad(data) Daniel@0: % data{f}(y,x,b) - each frame can have a different size (can can even be empty) Daniel@0: % data2(y,x,b,f) = zero padded version Daniel@0: Daniel@0: Nframes = length(data); Daniel@0: Nbands = -inf; Daniel@0: nr = -inf; nc = -inf; Daniel@0: for f=1:Nframes Daniel@0: if isempty(data{f}), continue; end Daniel@0: nr = max(nr, size(data{f},1)); Daniel@0: nc = max(nc, size(data{f},2)); Daniel@0: Nbands = max(Nbands, size(data{f},3)); Daniel@0: end Daniel@0: data2 = zeros(nr, nc, Nbands, Nframes); Daniel@0: for f=1:Nframes Daniel@0: if isempty(data{f}), continue; end Daniel@0: data2(1:size(data{f},1), 1:size(data{f},2), :, f) = data{f}; Daniel@0: end Daniel@0: if Nbands == 1 Daniel@0: data2 = squeeze(data2); % reshape(data2, [size(data2,1), size(data2,2), Nframes]); Daniel@0: end Daniel@0: