ANFI的@animal_warper项目是专为非人类被试数据进行配准的项目,生成的图像质量很高,但是我的mask缺少顶叶部分,在查看生成的QC图时发现确实是软件无法框定顶叶那一个区域,导致生成的mask不完整,想请教大家有没有遇到过这种情况,大概和哪些因素有关?
能说一下你使用的命令以及输入文件吗?
不好意思我忘记放了,当然可以!不过上传文件超过了上传文件大小的限制,我描述一下可以吗?我的代码只纳入了比较基础的部分:原始结构像T1w_std_template_orientation.nii.gz和12月份猴子的脑模板12Months_T1w.nii.gz(这是一系列纵向的模板,有9月和12月的,我的这个被试是11月大,所以我用了12月龄的模板),设置了输出文件放置的文件夹,如果您需要进一步图像的信息我想办法发给您可以吗?期待您的回复!
@animal_warper -input T1w_std_template_orientation.nii.gz -base 12Months_T1w.nii.gz -outdir aligned_data
原始图像文件还是不要传到论坛里好,以免有其他风险。你可以把文件发到我的邮箱:free_learner@163.com
我看了一下你发给我的模板文件,我发现这个模板文件的原点(X=0, Y=0, Z=0)比较奇怪,位于图像的边缘。你这个模板是从哪里得到的?你可以把原点重新设置到图像中心位置吗?看看结果如何。
我后来升级了一下我的AFNI版本(因为我的旧版本还没有处理动物图像的这些命令),现在的版本是AFNI_23.0.07 ‘Commodus’,然后我用和你相同的命令跑了一下,并没有出现你这里的好像脑被切掉一部分的情况,只是配准效果不好而已。如下图:
这个模板是已经发表的文献里提到的, 后面我看灵长类研究模板也已经纳入了(https://prime-re.github.io/templates_and_atlases_macaque.html 最下方),
模板的下载地址:https://www.nitrc.org/projects/cyno_4d_atlas/
已发表的文献:Longitudinal brain atlases of early developing cynomolgus macaques from birth to 48 months of age; DOI: 10.1016/j.neuroimage.2021.118799
您说的模板原点的问题我之前没注意过,而AFNI这个配准就是首先进行两个图像的中心对齐,可能与中心点有关,我看一下能不能改变原点位置
我的版本:
AFNI package: linux_ubuntu_16_64
AFNI version number : AFNI_22.2.03
@animal_warper ver: 3.52
好像我的版本和您的版本处理结果相比边界更贴合严密一些,只是缺了顶叶部分脑区
本来对于模板文件来说,原点坐标是不能改的,比如在MNI的人脑模板里原点就是前连合的位置,如果修改了原点,大家就没有在一个坐标系里报告结果了。但是你用的这个模板原点比较奇怪。等我这边空闲一下,我可以修改一下原点试试,看看能否改善配准效果。你用@animal_warper想要实现的目的是啥?
其实还是想要得到mask剥头骨和配准,想用这边的配准矩阵应用到弥散像的配准上~还是卡在这一步~
主要诉求有三点:
- 生成mask,得到剥了头骨的原始结构像
- 将原始结构线配准到模板【我之前想用有头骨的原始图像和没有头骨的结构像直接配,但是我老师最好是原始图像和模板两者是否有头骨保持一致】
- 将弥散像配准到模板
我昨天又测试了一下,修改了一下原点位置,发现效果还是很差,但是又和你遇到的问题不太一样:
如果AFNI效果不好的话,也许可以尝试其他软件,比如ANTs,因为我看这套模板对应的文献里也是用ANTs来构建模板的。如果你用的这套模板有带颅骨的图像,可以用带颅骨的图像来配准。另外,不知道你有没有做预处理,比如bias field correction。
- 我的结构像没有做预处理,之前没注意到这一点,我看一下相关资料。
- 这套模板没有带颅骨版本的。
- 我之前用ants剥头骨只能剥掉脖子那部分,头骨那一层还是会保留下来,大脑也不够完整,效果不好。不知道是不是因为我没有调整参数?我在用ants时的思路和代码
# 个体空间与模板配准
antsRegistrationSyN.sh -d 3 -f 12Months-T1w.nii.gz -m T1w_std_template.nii.gz -o rega2t
# 生成mask
mask ThresholdImage 3 12Months-T1w.nii.gz 12Months-T1w_mask.nii.gz 0.1 1000
# 将模板mask利用配准矩阵得到个体空间mask
antsApplyTransforms -d 3 -i 12Months_T1w_mask.nii.gz -o T1w_std_template_orientation_mask.nii.gz -r T1w_std_template_orientation.nii.gz -t [rega2t0GenericAffine.mat,1] -t rega2t1InverseWarp.nii.gz
# 利用个体空间mask乘以个体空间结构像
fslmaths T1w_std_template_orientation.nii.gz -mul T1w_std_template_orientation_mask.nii.gz T1w_skullstripping_brain.nii.gz
(包括以上四步,但是配准的时候还是没有剥了头骨的原始结构像)
将模板的mask使用配准矩阵配准到个体空间后乘以原始结构像进行剥头骨的效果:
步骤我觉得没啥问题,但这套模板没有带颅骨的版本,就没办法用这样的思路了。我觉得一个思路是,你可以找一个带颅骨的模板来做skull-stripping这一步。做好skull-stripping后再配准到现在用的这个模板上。
好的谢谢Alex!我想请教一下您之前说的模板的center点不太对是用什么软件看的呢?我最近在调整AFNI的参数,里面有一个是调整中心点定位的算法,我想看一下是不是中心识别有问题~
Center options:
-grid: (default) Center is that of the volume’s grid
-cm : Center is the center of mass of the volume.
-cm_no_amask : Implies -cm, but with no -automask.
-shift_xform xxx.1D : apply shift translation from 1D file
-shift_xform_inv xxx.1D : apply inverse of shift translation