0001 function output = procRaw(raw)
0002
0003
0004
0005 rawSize = size(raw);
0006 tSize = size(raw,4);
0007
0008
0009 rawReshaped = reshape(raw,[],tSize);
0010 warning('Off');
0011
0012 timeTrend = zeros(size(rawReshaped));
0013 for ii = 1:size(rawReshaped,1)
0014 timeTrend(ii,:) = polyval(polyfit(1:tSize, rawReshaped(ii,:), 4), 1:tSize);
0015 end
0016
0017 warning('On');
0018 rawFrameOne = raw(:,:,:,1);
0019 timeTrend = reshape(timeTrend,rawSize);
0020 timeDetrend = bsxfun(@rdivide, raw, timeTrend).*repmat(rawFrameOne,1,1,1,tSize);
0021 spatTrend = bsxfun(@rdivide, mean(timeTrend,4), mean(mean(mean(timeTrend,4))));
0022
0023 output = bsxfun(@rdivide, timeDetrend, spatTrend);
0024 end
0025