加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用ANTs进行MRI图像配准

(2018-12-27 11:08:28)
分类: LINUX

一、为什么要进行配准?

 

由于不同个体的大脑形态不同,为了比较不同个体在大脑结构和功能上的差异,需要先将不同个体配准 到一个标准大脑模板上。配准的过程就对个体大脑图像进行变形,使得个体大脑与模板图像尽可能一致。在配准过程中不同个体大脑如何变得一致,同时又保留个体原有的差异?这是我一直没有理解的问题, 不过这是基于 fMRI 研究的普遍做法。

 

二、如何安装 ANTs

 

ANTsAdvanced Normalization Tools就我所知是目前配准质量最好的软件,它的安装方法见官网的链接,以防该链接失效,我在下面重复一下安装过程(适用于 Linux/OSX)。

(1) 安装 git, cmake c++编译器

(2) 在命令行中分别执行以下命令(假设当前目录在主目录下):

git clone git://github.com/stnava/ANTs.git mkdir antsbin

cd antsbin ccmake ../ANTs make -j 4

cp ANTs/Scripts/* ./bin/

(3) 设置环境变量并添加到.profile .bashrc 文件中,即: export ANTSPATH=/home/username/antsbin/bin/ export PATH=“$ANTSPATH:$PATH”

 

三、使用 ANTs 进行配准

 

简单介绍一下我使用 ANTs 进行 MRI 图像配准的方法,更详细的说明参见 ANTs 官方文档

 

(1) 使用 ANTs 进行结构像配准

antsRegistrationSyN.sh -d 3 -f MNI_T1_2mm_brain.nii.gz -m brain.nii.gz -o rega2t

 

其中 MNI_T1_2mm_brain.nii.gz 是分辨率为 2mm 的标准大脑( FSL $FSLDIR/data/standard 文件夹下可以找到),brain.nii.gz 是个体 T1 图像并进行了颅骨剥离,rega2t 是输出文件名的前缀。

 

这个配准过程在我电脑上大约需要 20 分钟,共生成 5 个文件,其中rega2t0GenericAffine.matrega2t1Warp.nii.gz 分别表示线性变换和非线性变换估计出的映射关系, rega2tWarped.nii.gz 表示配准后的图像,通过比较这个图像与标准大脑的差异,可以检查配准的质量。slicer brain.nii.gz -z -120 before_reg.png

slicer rega2tWarped.nii.gz -z -34 after_reg.png slicer MNI152_T1_2mm_brain.nii.gz -z -34 standard.png

slicer MNI152_T1_2mm_brain.nii.gz rega2tWarped.nii.gz -z -34 after_reg_on_standard.png


使用上面几行命令,(如下图所示)可以得到配准前(左上)、标准大脑(右上)、配准后(左下)以及将配准后的个体大脑(轮廓)叠加到标准大脑上的图像(右下)。

使用ANTs进行MRI图像配准 

 

(2) 使用 ANTs 进行功能像配准

 

为了将个体功能像转换到标准大脑,并不是直接将功能像与标准大脑进行配准,而是以个体结构像为中介,将个体功能像配准到个体结构像,再根据个体结构像与标准大脑的映射关系,将个体功能像转换到标准大脑。下面几行命令实现个体功能像到个体结构像的配准(其中参数 r 表示刚体变换): antsRegistrationSyN.sh -d 3 -f brain.nii.gz -m example_func_brain.nii.gz -t r -o regf2a

 

其中 brain.nii.gz 表示个体结构像并经过颅骨剥离,example_func_brain.nii.gz 表示一个功能像,由于功能像一般有上百个图像,这里选取其中一个(可以使用 FSL 的命令 fslroi 选取其中一个功能像,比如:fslroi func.nii.gz example_func.nii.gz 0 1 表示选取第一个时间点的图像);另外,也需要对这个功能像进行颅骨剥离(AFNI  3dAutomask 命令可以用于功能像颅骨剥离,也是我这里采用的方法,基本用法如下:3dAutomask -prefix example_func_brain.nii.gz example_func.nii.gz 

 

这个过程只需要 2-3 分钟,共生成 3 个文件,其中 regf2a0GenericAffine.mat 表示从个体功能像到结构像的映射关系,regf2aWarped.nii.gz 表示配准后的功能像,按照结构像检查的相同的步骤进行功能像配准效果的检查(不再赘述),如下图:

使用ANTs进行MRI图像配准 

 

为了将功能像转换到标准大脑,需要联合从个体功能像到个体结构像、个体结构像到标准大脑的变换关系,具体实现命令如下:


antsApplyTransforms -d 3 -i example_func_brain.nii.gz -o example_func2standard.nii.gz \

-r MNI_T1_2mm_brain.nii.gz -t rega2t1Warp.nii.gz \

-t rega2t0GenericAffine.mat -t regf2a0GenericAffine.mat

 

这个过程生成一个文件,即 example_func2standard.nii.gz,也就是个体功能像变换到标准大脑后的图像,同样地,可以据此生成配准前后的比较图:

使用ANTs进行MRI图像配准 

 

因为 fMRI 数据处理有很多步骤,如何将 ANTs 纳入其他处理步骤中是一个问题。就我所知,目前有两个现成的流水线工具包 C-PAC fmriprep 都包含了 ANTs,不过我都没有用过,也不知道是否好用。

 

四、配准前的检查

 

配准前有必要检查一下两个图像间的空间朝向是否一致,方法是使用 ITK-SNAP,分别打开待配准的两

个图像,查看朝向是否一致,因为 ANTs ITK-SNAP 使用的是相同的坐标系统(参考资料)。理论上,

应该先检查再做配准,之所以放到把这个步骤放到最后,是因为实际操作中我还没有发现过朝向出错的情况,而且逐个检查数据非常花费时间。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有