DICOM:关于层面位置与图像定位和患者体位的关系

6
如果图像方向(患者)标记(0020,0037)读取的是[1,0,0,0,1,0],患者位置标记(0018,5100)读取的是“HFS”,那么如何解释假设存在的切片位置标记(0020,1041)?我知道它代表了“图像平面相对位置(以毫米为单位)”,但我很难将范围的端点与DICOM参考坐标系(RCS)中的Z轴联系起来。
例如:我有一系列切片位置数字的范围为:[-1873.382,-771.782]
由于数字在增加,并且在DICOM RCS中,Z轴在从下到上的方向上增加,我可以得出结论:“-1873.382”是最下面切片的位置吗?
此外,需要注意的是,每个切片的图像位置(患者)(0020,0032)属性的z坐标包含与我的切片位置标记相同的信息。

您还需要使用图像位置(患者)标签0020,0032来对您的堆栈进行排序。 - LEADTOOLS Support
http://stackoverflow.com/questions/40008507/how-to-spatially-order-files-in-a-dicom-data-sequence/40014740#40014740 - Markus Sabin
@LEADTOOLSSupport 我注意到图像位置(患者)标签的z坐标包含与切片位置相同的信息,因此由于它不包含任何新的(相关)信息,我在我的帖子中没有提到它。但为了澄清,我编辑了我的帖子以添加这个信息。 - user762098
@kritzel_sw 谢谢 - 我在发帖后阅读了那些链接中的信息,但我仍然有些困惑。我编辑了上面的帖子以添加更多信息。 - user762098
@user762098:请看我的回答。 - Markus Sabin
2个回答

9

我仍然建议不要使用“Slice Location”属性进行排序。在磁共振成像中,切片可以具有任意的方向,即使在CT中,旋转轴也可能被倾斜,因此您无法确定所有切片是否都平行于xy平面。因此,您实际上不知道“Slice Location”指的是哪个轴。

我的方法是将ImagePositionPatient从两个切片中减去,这给出了堆栈中切片移动的方向。可以通过差向量的数量来排序。


这个答案部分正确。你应该减去任意两个IPP并进行归一化,以获得向量A,但是你应该取IOP的叉积来获得方向。IOP有两个向量(行、列),B = 行x列。如果A、B之间的角度大于180度,则反转A。A和B之间的角度是Gantry Tilt,而A是你应该用来排序切片位置的轴。 - John Henckel
DICOM将SliceLocation称为“名义”值。换句话说,在任何数学意义上都不可靠。请使用IPP代替。 - John Henckel
更正一下:我想说的是“如果A和B之间的角度大于90度”,还有。系列中所有IPP都应该共线。如果它们不是,那么...你就在天堂。此外,如果两个IPP之间的距离小于1e-7(浮点数epsilon),那么你也有点麻烦。 - John Henckel

2
图像位置(患者)(0020, 0032)是图像左上角的x、y和z坐标,图像方向(0020, 0037)表明了第一行和第一列相对于患者的方向(由患者方向进一步定义)。X轴增加方向朝向患者的左手边,y轴增加方向朝向后侧,z轴增加方向朝向患者的头部。
在您的情况下,如果Z轴变化并且增加方向为头部,我会使用Z轴值来排序图像。这比切片位置更可靠。是的,最小值(例如值-1873.382)是最底部的切片。

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