Skip to content

Commit

Permalink
Update hmrR_BlockAvg.m
Browse files Browse the repository at this point in the history
Update OD block average calculation to current SNIRF format
  • Loading branch information
kk1995 committed Jun 27, 2024
1 parent 798a758 commit 5a0afa2
Showing 1 changed file with 21 additions and 17 deletions.
38 changes: 21 additions & 17 deletions FuncRegistry/UserFunctions/hmrR_BlockAvg.m
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
yblk = zeros(nPost-nPre+1,size(y,2),size(y,3),size(s,2));
elseif strcmp(datatype{1}, 'dOD')
ml = data(kk).GetMeasList('reshape');
yblk = zeros(nPost-nPre+1,size(y,2),size(s,2));
yblk = zeros(nPost-nPre+1,size(y,2),size(y,3),size(s,2));
else
return;
end
Expand All @@ -88,7 +88,7 @@
yblk(:,:,:,nBlk) = y(lstS(iT)+[nPre:nPost],:,:); %changed from yblk(:,:,:,end+1)
elseif strcmp(datatype{1}, 'dOD')
nBlk = nBlk + 1;
yblk(:,:,nBlk) = y(lstS(iT)+[nPre:nPost],:); % changd from yblk(:,:,end+1)
yblk(:,:,:,nBlk) = y(lstS(iT)+[nPre:nPost],:,:); % changd from yblk(:,:,end+1)
end
else
fprintf('WARNING: Trial %d for Condition %d EXCLUDED because of time range\n',iT,iC);
Expand Down Expand Up @@ -133,31 +133,35 @@
data_std(kk).AppendDataTimeSeries(ystd(:,:,:,iC));
data_sum2(kk).AppendDataTimeSeries(ysum2(:,:,:,iC));
elseif strcmp(datatype{1}, 'dOD')
yTrials(iC).yblk = yblk(:,:,1:nBlk);
yavg(:,:,iC) = mean(yblk(:,:,1:nBlk),3);
ystd(:,:,iC) = std(yblk(:,:,1:nBlk),[],3);
yTrials(iC).yblk = yblk(:,:,:,1:nBlk);
yavg(:,:,:,iC) = mean(yblk(:,:,:,1:nBlk),4);
ystd(:,:,:,iC) = std(yblk(:,:,:,1:nBlk),[],4);
nTrials{kk}(iC) = nBlk;

% Loop over all wavelengths
for ii=1:size(yavg,2)
foom = ones(size(yavg,1),1)*mean(yavg(1:-nPre,ii,iC),1);
yavg(:,ii,iC) = yavg(:,ii,iC) - foom;
% Loop over all channels
for ii=1:size(yavg,3)
foom = ones(size(yavg,1),1)*mean(yavg(1:-nPre,:,ii,iC),1);
yavg(:,:,ii,iC) = yavg(:,:,ii,iC) - foom;

for iBlk = 1:nBlk
yTrials(iC).yblk(:,ii,iBlk) = yTrials(iC).yblk(:,ii,iBlk) - foom;
yTrials(iC).yblk(:,:,ii,iBlk) = yTrials(iC).yblk(:,:,ii,iBlk) - foom;
end
ysum2(:,ii,iC) = sum( yTrials(iC).yblk(:,ii,1:nBlk).^2 ,3);
ysum2(:,:,ii,iC) = sum( yTrials(iC).yblk(:,:,ii,1:nBlk).^2 ,4);

% Snirf stuff: set channel descriptors
data_avg(kk).AddChannelDod(ml(ii,1), ml(ii,2), ml(ii,4), iC);
data_std(kk).AddChannelDod(ml(ii,1), ml(ii,2), ml(ii,4), iC);
data_sum2(kk).AddChannelDod(ml(ii,1), ml(ii,2), ml(ii,4), iC);
data_avg(kk).AddChannelDod(ml((ii-1)*2+1,1), ml((ii-1)*2+1,2), ml((ii-1)*2+1,4), iC);
data_std(kk).AddChannelDod(ml((ii-1)*2+1,1), ml((ii-1)*2+1,2), ml((ii-1)*2+1,4), iC);
data_sum2(kk).AddChannelDod(ml((ii-1)*2+1,1), ml((ii-1)*2+1,2), ml((ii-1)*2+1,4), iC);

data_avg(kk).AddChannelDod(ml(ii*2,1), ml(ii*2,2), ml(ii*2,4), iC);
data_std(kk).AddChannelDod(ml(ii*2,1), ml(ii*2,2), ml(ii*2,4), iC);
data_sum2(kk).AddChannelDod(ml(ii*2,1), ml(ii*2,2), ml(ii*2,4), iC);
end

% Snirf stuff: set data vectors
data_avg(kk).AppendDataTimeSeries(yavg(:,:,iC));
data_std(kk).AppendDataTimeSeries(ystd(:,:,iC));
data_sum2(kk).AppendDataTimeSeries(ysum2(:,:,iC));
data_avg(kk).AppendDataTimeSeries(yavg(:,:,:,iC));
data_std(kk).AppendDataTimeSeries(ystd(:,:,:,iC));
data_sum2(kk).AppendDataTimeSeries(ysum2(:,:,:,iC));
end
end

Expand Down

0 comments on commit 5a0afa2

Please sign in to comment.