我有一个关于将患者坐标转换voxel coordinates
为3D MRI point cloud
从DICOM
. 我有一个从 2D MRI 图像获得的 3D 点云文件,这些点位于患者坐标系中。我正在尝试将云中的这些点转换为voxel coordinates
使用我最初创建的仿射矩阵的逆矩阵。但是我拥有的仿射矩阵是奇异的,因此我不能直接对其应用反函数。有没有办法在不对仿射矩阵应用反函数的情况下构造逆仿射矩阵?或者有没有其他方法可以实现这种转换?我也尝试从仿射矩阵中获取伪逆矩阵,但我不确定这是否会有所帮助。
我在Python 3.7
. 仿射矩阵的形状是(160, 4, 4)
,伪逆矩阵的形状也是(160, 4, 4)
,点云数组的形状是(2086604, 4)
。
要转换为体素坐标,数组的代码和结果形状如下:
voxels = np.dot(p_inverse_whole, stack_patient.T)
(160, 4, 2086604)
理想情况下,我希望得到以下形状的数组:(160, 4, 4)
而不是(160, 4, 2086604)
你们中的任何人都可以帮我解决这个问题吗?