3 ways to check NIRS data quality

1 min read

Before performing any data analysis, we should check the data quality first. Below are 3 ways to do so.

1. Visual check of the time series

The best pattern detector is our eyes and brains! In many cases, if we visually see the data, we know what is wrong. You may use the method and program in this post to plot the time courses of all channels (not just one).

Visual data quality check of NIRS time courses
Visual data quality check of NIRS time courses

In the plot above, all 48 channels are plotted together (the y-axis). We can clearly see two types of noise:

  1. The spikes which occur in most channels after time point 7000. These spikes are caused by head motion.
  2. The high noise level in the “red” channels (channels 39, 34, 31). This is more evident if we plot the variance of each channel (figure below). As we can easily see, the variance of channels 39, 34 and 31 is much higher than other channels.

    Variance vs Channel
    Variance vs Channel

2. Existence of the “heart-beat” band

If the NIRS signal was acquired well, then the heart beating signal should be captured, leaving a bright brand in the frequency ~1Hz in the wavelet transform plot, just like the left plot in the figure below (the band close to period 8). If there is no such band, it does not necessarily mean the signal is trash, but you need to be cautious. To use the wavelet transform toolbox, please download here: https://www.alivelearn.net/?p=1561


NIRS wavelet
NIRS wavelet
Example:
figure;wt(hbo(:,1))

3. Correlation between hbo and hbr

The third way is to check the correlation between hbo and hbr. They are supposed to have negative correlation, at least in young healthy subjects. If not, or if they have perfect negative correlation (-1), then they might contain too much noise. We have a separate article on this method. Please check out https://www.alivelearn.net/?p=1767

Correlation between oxy and deoxy-Hb
Correlation between oxy and deoxy-Hb

Below is the scripts used for the 3 methods.

[hbo,hbr,mark]=readHitachData('SA06_MES_Probe1.csv');

figure;plotTraces(hbr,1:52,mark)

figure;wt(hbo(:,1))

for ii=1:52; wt(hbo(:,ii)); pause; end

[badchannels] = checkDataQuality(hbo,hbr);

Do you have other ways to check data quality? Please let me know!



写作助手,把中式英语变成专业英文


Want to receive new post notification? 有新文章通知我

第六十六期fNIRS Journal Club通知2025/9/27, 10am 李洪博士 牛海晶教授

该文章的声音简介(中文版): 该文章的声音简介(英文版): 随着老龄化加剧,工作记忆下降成为影响老年人生活质量的重要问题。经颅光刺激 (tPBM) 作为一种新兴、无创的神经调控技术,通过特定波长的(近
Wanling Zhu
9 sec read

第六十五期fNIRS Journal Club视频 兰月教授 陈嘉琳

Youtube: https://youtu.be/U7uH5P5l83A 优酷:https://v.youku.com/v_show/id_XNjQ5OTE2NDQ3Ng==.html?playMo
Wanling Zhu
21 sec read

第六十五期fNIRS Journal Club通知2025/8/30, 10am 兰月教授 陈嘉琳

该文章的声音简介(中文版): 该文章的声音简介(英文版): 在运动想象型脑机接口 (MI-BCI)训练中,不少使用者表现出控制效果不佳,即使经过训练也难以达到理想水平的“BCI 无效性”现象。RDLP
Wanling Zhu
15 sec read

Leave a Reply

Your email address will not be published. Required fields are marked *