使用FSL进行fMRI图像的下采样

6
我有一组fMRI图像。其中一组的维度为90 x 60 x 12 x 350,体素尺寸为1 x 1 x 1 mm(350个卷)。另一组的维度为80 x 35 x 12 x 350,体素尺寸为0.2 x 0.2 x 0.5 mm。我使用其中一张图像作为配准的参考图像。由于分辨率不同,配准失败了(使用flirt)。因此,我必须先进行下采样或上采样。我尝试了以下方法:

flirt -in input_image \ -ref good_size_image \ -out output_image \ -applyxfm \ -init /usr/share/fsl/5.0/etc/flirtsch/ident.mat

这种方法无法正常工作,无论是进行下采样还是上采样。

正确的下采样/上采样应该如何进行?


对于初学者,可以参考这个多维网格的反插值来了解三线性插值(那里的图片是三线性滤波),但我建议你去谷歌搜索三线性插值(维基百科)。 - Spektre
当你说“这不起作用”时,是指你的降/升采样图像看起来不正确,还是降/升采样图像的配准失败了?也许一些示例结果会有所帮助。 - alle_meije
2个回答

7
如果我理解正确,您有一些图像,其空间范围为(a) 9 x 6 x 1.2 cm^3 和 (b) 1.6 x 0.7 x 0.6 cm^3?这些图像相当小且非常不同。我可以想象,如果图像2覆盖了图像1的一个非常特定的子区域(因为它要小得多),您可能需要给出一个良好的起始估计值才能得到正确的结果。
如果input_image具有尺寸(b),而good_size_image具有尺寸(a),则使用以下调用:
flirt -in input_image 
      -ref good_size_image 
      -out output_image 
      -applyxfm 

在这种情况下,init选项并不是必需的。

你的输出将显示具有更大体素的更小空间图像。我假设输出图像将具有参考图像的大小(这就是参考图像的想法),但其中大部分将为空。交换代码(a)和(b)是没有意义的,因为参考图像的空间只能覆盖输入的一小部分。您需要先进行注册。

您可能想尝试使用选项applyisoxfm,它将图像重新采样为给定大小的立方体体素。

flirt -in small_image -ref small_image -out small_1mm -applyisoxfm 1

将覆盖空间(b)的图像重新采样为1x1x1 mm^3。对于这么小的空间来说,这可能是太粗糙的分辨率了。也许可以将两个图像都重新采样为0.5毫米等距,然后进行配准?

针对这些问题,FSL邮件列表是一个更好的寻求帮助的地方。


对于 -applyisoxfm 的加一 (+1),它可以正确地处理原点的变换(而 -applyxfm -init $FSLDIR/etc/flirtsch/ident.mat + fslcreatehd 则不能,并且会创建具有不正确原点的高分辨率图像)。 - Erik Kastman

1

你尝试使用fslmaths -subsamp2命令了吗?


3
我点赞是因为这是一个常用的方法,OP应该知道它,然而,“fslmaths -subsamp2”会导致一些非常严重的混叠现象。“flirt ... -applyisoxfm 2”会得到更好的结果。 - TheChymera
1
“-subsamp2” 肯定更容易(并且可以在一个 “fslmaths” 调用的命令序列中使用),但通常不会尊重几何形状。其中一种情况是将 2mm(大小为 91x109x91)的 MNI 空间图像下采样。标准的 4mm MNI 图像大小为 45x54x45,但 “-subsamp2” 将给出 46x55x46。 - alle_meije

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接