查找在同一扫描会话中获取的两个 MR 数据集的相同切片位置的坐标 (mm)
Finding the coordinates (mm) of identical slice locations for two MR datasets acquired in the same scanning session
我有两个 MR 采集,第一个是 3D 采集 (1x1x1 mm3),第二个是 2D 采集(2.24 x 2.24 x 5.00 mm,轴向切片)。高分辨率数据集是一个完整的头部 3D 采集,如果在轴向方向重新切片(方向最初在采集中是矢状的),则提供 176 个切片。 2D 采集仅包含 3 个轴向切片,这些切片被选择用于针对大脑中的特定区域并连续采集。
是否有可能知道 3D 高分辨率数据集中的哪些切片与 2D 数据集中的 3 个切片准确对应,假设对象在扫描之间没有移动并且这些数据集是在同一扫描会话中获取的?
我正在查看这两个数据集的 dicom,并尝试使用 ImageOrientationPatient 和 ImagePositionPatient 标签来尝试准确找出 2D 扫描中切片的坐标相对于磁铁等中心的坐标。这样我就可以知道 2D 采集中第一个切片相对于磁铁等中心的确切坐标,并假设两次扫描共享同一原点,然后我可以准确知道坐标对应于 3D 扫描中的哪个轴向切片?
我面临的问题是 ImageOrientationPatient 向量对于两次采集都是不同的,因为高分辨率是通过矢状方向规范获取的(尽管是 3d 并且可以在任何方向上获取切片),而 2D 数据是专门作为轴向切片获取的。
有 dicom 处理经验的人可以解释一下我如何 link 这两个扫描吗?由于是同一次扫描,我假设这两次采集的参考位置应该相同。对吗?
ImagePositionPatient 仅在一次扫描中拍摄所有图像时才可靠地引用相同的坐标系。不幸的是,没有 "calibration to the patient" 确保特定坐标始终引用同一患者的同一位置。
假设您的扫描就是这种情况,任务就非常简单。每次扫描的完整几何形状定义为:
- ImagePositionPatient(0020,0032) - 每个切片左上角像素的坐标
ImageOrientationPatient (0020,0037) - 每个切片的方向向量,即像素行和列对齐的轴
PixelSpacing (0028,0030) - 每个像素的高度和宽度(是的,这里首先是 y 维度!)
既然您已经准确地知道了两次扫描中每个切片的每个像素的位置,剩下的任务就是在 3D 扫描的维度中表达 2D 扫描的左上角像素。我会使用坐标变换来做到这一点,但其他方法也可以。
我有两个 MR 采集,第一个是 3D 采集 (1x1x1 mm3),第二个是 2D 采集(2.24 x 2.24 x 5.00 mm,轴向切片)。高分辨率数据集是一个完整的头部 3D 采集,如果在轴向方向重新切片(方向最初在采集中是矢状的),则提供 176 个切片。 2D 采集仅包含 3 个轴向切片,这些切片被选择用于针对大脑中的特定区域并连续采集。
是否有可能知道 3D 高分辨率数据集中的哪些切片与 2D 数据集中的 3 个切片准确对应,假设对象在扫描之间没有移动并且这些数据集是在同一扫描会话中获取的? 我正在查看这两个数据集的 dicom,并尝试使用 ImageOrientationPatient 和 ImagePositionPatient 标签来尝试准确找出 2D 扫描中切片的坐标相对于磁铁等中心的坐标。这样我就可以知道 2D 采集中第一个切片相对于磁铁等中心的确切坐标,并假设两次扫描共享同一原点,然后我可以准确知道坐标对应于 3D 扫描中的哪个轴向切片? 我面临的问题是 ImageOrientationPatient 向量对于两次采集都是不同的,因为高分辨率是通过矢状方向规范获取的(尽管是 3d 并且可以在任何方向上获取切片),而 2D 数据是专门作为轴向切片获取的。
有 dicom 处理经验的人可以解释一下我如何 link 这两个扫描吗?由于是同一次扫描,我假设这两次采集的参考位置应该相同。对吗?
ImagePositionPatient 仅在一次扫描中拍摄所有图像时才可靠地引用相同的坐标系。不幸的是,没有 "calibration to the patient" 确保特定坐标始终引用同一患者的同一位置。
假设您的扫描就是这种情况,任务就非常简单。每次扫描的完整几何形状定义为:
- ImagePositionPatient(0020,0032) - 每个切片左上角像素的坐标
ImageOrientationPatient (0020,0037) - 每个切片的方向向量,即像素行和列对齐的轴
PixelSpacing (0028,0030) - 每个像素的高度和宽度(是的,这里首先是 y 维度!)
既然您已经准确地知道了两次扫描中每个切片的每个像素的位置,剩下的任务就是在 3D 扫描的维度中表达 2D 扫描的左上角像素。我会使用坐标变换来做到这一点,但其他方法也可以。