老师您好,我想使用ANTs将标准空间的一个cluster准到个体空间。但是标准空间的cluster的dimension还跟是MNI152NLin2009cAsym的不一样,如下(上面是cluster的,中间是MNI152NLin2009cAsym_t1_brain的,下面是个体空间t1的)。但是使用MRcronGL打开是可以对齐的



我首先使用以下代码获得了cluster到MNI的刚性变换关系:
antsRegistrationSyN.sh -d 3 -f MNI152NLin2009cAsym_t1_brain.nii.gz -m cluster.nii.gz -t ‘r’ -o cluster2mni
其次,获取了MNI到个体空间的变换关系:
antsRegistrationSyN.sh -d 3 -f sub83_t1_brain.nii.gz -m MNI152NLin2009cAsym_t1_brain.nii.gz -o mni2t1
最后,进行变换,实现cluster到个体空间:
antsApplyTransforms -d 3 -i cluster.nii.gz -o cluster_native.nii.gz -r sub83_t1brain.nii.gz -t mni2t11Warp.nii.gz -t mni2t10GenericAffine.mat -t cluster2mni0GenericAffine.mat
得到结果不对,重叠不上,请问哪里出错了?谢谢!
跳过第一步我也试了,还是不行呢。
antsRegistrationSyN.sh -d 3 -f sub83_t1_brain.nii.gz -m MNI152NLin2009cAsym_t1_brain.nii.gz -o mni2t1
antsApplyTransforms -d 3 -i cluster.nii.gz -o cluster_native.nii.gz -r sub83_t1brain.nii.gz -t mni2t11Warp.nii.gz -t mni2t10GenericAffine.mat
这个代码有问题吗?谢谢
就是打开MNI152NLin2009cAsym后overlay上cluster的话位置是对的。
我又尝试了在MNI152NLin2009cAsym空间上手绘一个VOI保存,然后使用上面的两步代码也不能把这个VOI配准到个体空间,这就搞不明白了。我检查antsRegistrationSyN的输出结果,Warped和InverseWarped图像都是对的。
Alex
5
我觉得你的代码是没问题的,而且你在MNI2009c上还手绘了一个VOI,排除了cluster文件本身有什么问题的可能性。你如果确定配准的质量是没有问题的,那我确实也想不到问题在哪里了。也许你可以试试把MNI2009c再用antsApplyTransforms转换一遍,看看结果能不能和Warped对齐,测试一下antsApplyTransforms是不是没用对。
感谢Alex老师!我重新跑了配准,现在可以了,估计是antsRegistrationSyN.sh这一步出了点问题
还有个问题Alex老师,我这样把cluster配准到sub83的个体空间,分辨率是sub83的1*1*1
mm,请问有没有方法可以让转换到个体空间的cluster保持它以前的分辨率(即0.22*0.22*0.22
)?谢谢
Alex
8
转换后的图像的分辨率是由-r
选项所指定的文件决定的,如果你希望转换后的cluster的分辨率为0.22,可以考虑把个体空间T1分辨率重采样为0.22,作为-r
选项的参数。
(1)我直接以cluster自己作为-r应该是不行吧?
(2)如果不行,那么参照您的 这个帖子(使用SPM12改变图像的分辨率)我使用SPM12-deforamations,但是bounding box如果保持NaN的话会导致图像缺一块(下图)。
那么,bounding box这两行代表啥?deformations这里应该如何填写这两行呢?
对于下面这个
1*1*1
的图像,bounding box怎么确定?

(4)还有个额外问题,SPM选择图像时候只能识别.nii结尾的文件,如何让SPM识别nii.gz结尾的文件?
非常谢谢!
补充一下问题(3)。根据下图,bounding box应该为[-88 -102 68, 104 151 -132]吗?
Alex
11
- 我没有试过,也许你可以试试,不过我感觉有出错的风险。
- SPM12的重采样功能用在个体空间T1上比较麻烦,如果你用ANTs,可以直接考虑用ANTs的命令:
ResampleImage 3 cluster.nii.gz cluster_1mm.nii.gz 1x1x1 0 0
- 据我所知,SPM识别不了nii.gz格式。
- 也许你可以在使用
antsApplyTransforms
后,对转换后的cluster文件,再使用ResampleImage
,这样感觉容易一些。
谢谢老师!还有,我这样算的bounding box对吗?
Alex
13
按照我的理解,Bounding Box是根据坐标原点来设置的,标准空间的图像原点是固定的,所以比较好确定不同方向上的边界。个体空间中的图像,每个图像的原点都有可能不太一样,所以设置比较麻烦。具体到你说的这个图像,你需要把鼠标移到图像的边缘,这个时候的物理坐标就可以作为Bounding Box。
老师您好,有一个新问题请教一下:
我使用antsRegistrationSyN.sh -d 3 -f sub01_t1.nii -m MNI152NLin2009bAsym_t1.nii -o mni2t1进行配准。可以每次都是报line 606的错误(如下)
下面分别是MNI模板的维度信息(上)和sub01的维度信息(下)

谢谢!
Alex
16
我感觉这种不明原因被kill的,是不是由于内存不足被系统中止了。你是同时跑了好几个ANTs任务吗?你如果一次只跑一个被试会这样吗?
我就是只跑了一个被试,还能是因为配准的图像分辨率太高了?
Alex
18
那我确实没啥思路了,这是很久之前的一个测试(但还是有参考价值):https://github.com/gdevenyi/antsRegistration-benchmarking/blob/master/Rplots.pdf,分辨率0.5mm的话大概需要30G内存。不过你只跑一个被试的话,应该内存是足够的。如果你实在找不到解决方案,可能只能去ANTs官方库提issue寻求帮助了。