系列文章目录
fMRI数据处理:从DICOM到NIFTI(上)
fMRI数据处理:从DICOM到NIFTI(中)
fMRI数据处理:从DICOM到NIFTI(下)
fMRI数据处理:图像质量控制
前言
前面三篇,我们顺利的吧DICOM格式转为了NIFTI格式的文件。在开始预处理之前,还有一件很重要的事情,那就是质量控制(QC,quality control)或者叫质量评估(QA,quality assess)。
一、什么是质量控制?
质量控制(QC)是功能性磁共振成像(fMRI)研究的重要阶段。通过生成的质量控制报告,研究人员可以排除具有各种问题的数据,例如:图像的缺失、明显的头部运动、低信噪比、切片不足等的图像。
这里有一些个人见解,你要问它重要吗?我的回答是重要。但你说这一步非做不可吗?我认为不是必要的。我前前后后收集了一些数据,之前分析的时候我不知道质量控制这一回事,拿到手直接转格式再预处理,这没问题。后来我接触到了质量控制,就纳入了这一步,结果做完后依旧是接着预处理,我甚至觉得它有点浪费时间。直到有一天我突然发现有个被试的EPI图像额叶信息丢失,我才觉得做完没有发现问题才是最好的结果。
质量控制,控制的是什么?我觉得最重要的还是图像信息的完整性,以及过度的头部运动。如果数据拿回来一看,脑子只剩一半了(可能是机器的原因?)那肯定要舍弃了,还有就是过度的头部运动,头部运动带来的影响还是很大的。还有一些可能很少遇见的问题,如其他因素造成的MRI伪影,异常的大脑组织等等。
二、什么是MRIQC?(Linux系统)
MRIQC 是一款自动化的 BIDS 应用程序,它把符合 BIDS 标准的数据集进行质量评估(QA)。然后生成 HTML 的可视化报告,用于检查所收集数据的质量,并确定数据质量是否足以进行后续的预处理和分析。点击进入官网了解MRIQC更多的信息。
我用的还是基于Ubuntu20.04LTS系统下的docker来运行MRIQC,安装和使用教程都在官网有详细说明。
MRIQC更新的也是挺快的,我用的是23.0.1的版本,它新旧版本的可视化报告内容基本一样,就是排版样式变化了一下:
第一步检查一下安装好了没有,文件夹建了没有
# Step1: check mriqc
docker run -it --rm nipreps/mriqc:23.0.1 --version
# Step2: Make mriqc directory in derivatives folder
bids_root_dir=/media/xxx/xxxxE6C7xxxxxx/postgraduate/fMRIanalysis/data/bids
if [ ! -d $bids_root_dir/derivatives/mriqc ]; then
mkdir -p $bids_root_dir/derivatives/mriqc
fi
第二步跑一下单个被试的看看,结果对不对
# Step3: run on single subject
subj=01
bids_root_dir=/media/xxx/xxxx6C7A4xxxx/postgraduate/fMRIanalysis/data/bids
if [ ! -d $bids_root_dir/derivatives/mriqc/sub-${subj} ]; then
mkdir $bids_root_dir/derivatives/mriqc/sub-${subj}
fi
docker run -it --rm \
-v $bids_root_dir:/base:ro \
-v $bids_root_dir/derivatives/mriqc/sub-${subj}:/out \
nipreps/mriqc:23.1.0 /base /out \
participant \
--participant_label sub-${subj} \
--nprocs 4 --mem_gb 32 --float32 \
--no-sub \
-w /out
第三步批量跑所有的被试,然后进行组分析
# Step4: loop for group
for subj in `seq -w 02 05`
do
bids_root_dir=/media/xxx/xxxx6C7A4xxxx/postgraduate/fMRIanalysis/data/bids
if [ ! -d $bids_root_dir/derivatives/mriqc/sub-${subj} ]; then
mkdir $bids_root_dir/derivatives/mriqc/sub-${subj}
fi
echo ""
echo "Running MRIQC on participant ${subj}"
echo ""
docker run -it --rm \
-v $bids_root_dir:/base:ro \
-v $bids_root_dir/derivatives/mriqc/sub-${subj}:/out \
nipreps/mriqc:23.0.1 /base /out \
participant \
--participant_label sub-${subj} \
--nprocs 4 --mem_gb 32 --float32 \
--no-sub \
-w /out
done
# Step5: run group level
bids_root_dir=/media/xxx/xxxx6C7A4xxxx/postgraduate/fMRIanalysis/data/bids
docker run -it --rm \
-v $bids_root_dir:/base:ro \
-v $bids_root_dir/derivatives/mriqc:/out \
nipreps/mriqc:23.0.1 /base /out \
group
跑完了就会在data/bids/derivatives/mriqc
下看见每个被试的指控.html
文件以及组分析文件,至于怎么看这个结果,还是有挺多要讲的,不过好在官网它有视频哈哈哈,Visual Reports有anatomical reports,也有functional reports和group report大家自己去看看哈。
三、Windows系统下如何进行质量控制?
Windows系统下肯定是可以做质量控制的,但是有哪些软件可以做,我不太清楚。目前我只知道DIPABI可以做质量控制,由于我没用过,在这里不做任何评论。感兴趣的话可以去搜索一下,不过DIPABI的数据格式不是严格意义上的BIDS格式,它有自己的一套目录结构,也提供了把BIDS结构转为DIPABI结构的工具。