福建水产设备联盟

【科普】利用氧合和脱氧血红蛋白含量的负相关来检查NIRS数据质量(附代码)

天大神经工程 2019-06-28 20:06:13

Using the anti-correlation between oxy and deoxy hemoglobin for NIRS data quality


Back in 2009 we published a paper titled “Functional near infrared spectroscopy (NIRS) signal improvement based on negative correlation between oxygenated and deoxygenated hemoglobin dynamics“. In a nutshell, we found the oxy- and deoxy-Hb are negatively correlated when noise level is low. When noise level increases, their correlation becomes more and more positive.

Based on this phenomenon we can check the noise level of a channel using the correlation. Below is the script. You simply input the hbo and hbr data (both matrix), and the output is the bad channels.

function badChannels = checkDataQuality(hbo,hbr)

% function badChannels = checkDataQuality(hbo,hbr) 

% Check data quality using correlation between hbo and hbr as indicator 

% if the correlation is strictly -1, then bad channel 

% if the correlation is > 0.5, then bad channel 

% Input: hbo and hbr are NxM matrix, N is number of scan, and M number of 

% channels 

% output: array of bad channels 

% Xu Cui 

% 2009/11/25 


n = size(hbo,2); 

for ii=1:n    

     tmp = corrcoef(hbo(:,ii), hbr(:,ii));

     c(ii) = tmp(2); 

end 

 pos = find(c==-1); 

if ~isempty(pos)    

      disp(['Channels with -1 correlation: ' num2str(pos)]) 

end 

pos2 = find(c>0.5); 

if ~isempty(pos2)    

      disp(['Channels with >0.5 correlation: ' num2str(pos2)]) 

end 

 badChannels = [pos pos2];



一段较好的数据如下:


长按识别二维码关注

天大神经工程