我正在更改一些 3D 体积的体素大小。如何编辑pixdim
字段并计算新的affine
?
我有一些各向异性的 MR 体积,例如,体素大小为0.5 x 0.5 x 3
mm。而且我有一些代码可以将它们插入到各向同性(如0.5 x 0.5 x 0.5
mm 体素大小)体积中。问题是当我需要保存文件时,我必须计算仿射以将 ijk 空间中现在更密集的体素映射到参考 xyz 空间。我怎么做?
首先,我的想法是使用旧仿射并计算新仿射。
例如,如果体积 V 具有具有体素大小的体素形状,256 x 256 x 20
并0.5 x 0.5 x 3
插入到具有体素大小的体积 U256 x 256 x 120
体素中0.5 x 0.5 x 0.5
。
旧仿射会做[255 255 19]OA = [X Y Z]
,新仿射应该做[255 255 119]NA = [X Y Z]
,我们知道AX=B X=inverse(A)B
。
所以新的仿射应该是inverse([255 255 119])[X Y Z]
。然而,逆矩阵只存在于方阵中。不会有这种事inverse([255 255 119])
。
似乎set_voxel_size
python-nibabel matlab-nifti-toolbox 等中没有功能。那是怎么回事?
如何显式更改体素大小?