热门标签:
Q:

如何使用DICOM仿射变换矩阵将患者坐标转换为体素坐标?

我正在使用MRI体积(多切片)。

使用。..

vol, affine_3d = dicom_numpy.combine_slices(dicom_slices)

... 我能够检索允许将体素坐标(i,j,k)转换为患者坐标(x,y,z)的3D仿射矩阵。

<img alt="在这里输入图像描述"src="https://i.stack.imgur.com/pnAt2.png缧/>

但是,我的最终范围是做相反的事情:将患者坐标(x,y,z)转换为体素坐标(i,j,k)。 因此,我计算了逆仿射矩阵:

affine3d_inv = np.linalg.inv(affine3d)

但是,当我将一个点的(x,y,z,1)坐标乘以逆仿射矩阵时,相应的输出不正确。

例如,如果点具有坐标(-177.802,-136.329,19.604,1),我得到的是体素坐标(-32.939,191.183,24.091,1),这是不正确的(因为a)单位不是离散的,b)一些坐标是负的,c)我的体积有14个切片,

我一直在努力理解我做错了什么,但没有结果。

原网址

相似问题