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

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

October 12th, 2015

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.

Correlation between oxy and deoxy-Hb

Correlation between oxy and deoxy-Hb

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);

pos = find(c==-1);
if ~isempty(pos)
    disp(['Channels with -1 correlation: ' num2str(pos)])

pos2 = find(c>0.5);
if ~isempty(pos2)
    disp(['Channels with >0.5 correlation: ' num2str(pos2)])

badChannels = [pos pos2];
Author: Xu Cui Categories: nirs Tags:
Try Stork, a research tool we developed

Stork is a publication alert app developed by us at Stanford. As a researcher we often forget to follow up important publications - and it's practically impossible to search many keywords or researchers' names everyday. Stork can help us to search everyday and notifies us when there are new publications/grants. How Stork helped me?

About the author:

Xu Cui is a human brain research scientist in Stanford University. He lives in the Bay Area in the United States. He is also the founder of Stork (smart publication alert app), PaperBox and BizGenius.


He was born in He'nan province, China. He received education in Beijing University(BS), University of Tennessee (Knoxville) (MS), Baylor College of Medicine (PhD) and Stanford University (PostDoc). Read more ...
  1. Gu Yue
    October 19th, 2015 at 22:47 | #1

    Hiļ¼ŒCui Xu. Is this method suited for resting-state data ?

  2. October 20th, 2015 at 11:11 | #2

    @Gu Yue
    Good question! I however do not know the answer. You can try it and see if it increase your data quality. I’d love to know the result.

  3. Yafeng Pan
    September 24th, 2016 at 06:36 | #3

    Dear Cui,

    I’m wondering how to deal with these bad channels. Can I use the interpolation method which has been frequently employed in processing EEG data? I mean used the average value of whole channels to replace the bad channels Or just delete data on the bad channels?

    I’m looking forward to hearing from you!

    Yafeng Pan

  4. September 24th, 2016 at 13:58 | #4

    @Yafeng Pan
    If you can’t recover the signals from various noise removal methods, I personally think deleting the bad channels is better.

  5. wenfeng wu
    November 6th, 2018 at 02:50 | #5

    Dear Pan,
    Have you used the average value of whole channels to replace the bad channels of fNIRS? could you tell me your article name? thank you

    wenfeng Wu