python dicom图像分割_在Python中将DICOM结构轮廓作为数组获取

这是一个交互式会话,使用pydicom附带的rtstruct.dcm文件说明数据布局:

>>> import dicom

>>> ds = dicom.read_file("rtstruct.dcm", force=True)

>>> ds.dir("contour")

['ROIContourSequence']

>>> ctrs = ds.ROIContourSequence

>>> ctrs[0]

(3006, 002a) ROI Display Color IS: ['220', '160', '120']

(3006, 0040) Contour Sequence 3 item(s) ----

(3006, 0042) Contour Geometric Type CS: 'CLOSED_PLANAR'

(3006, 0046) Number of Contour Points IS: '5'

(3006, 0048) Contour Number IS: '1'

(3006, 0050) Contour Data DS: ['-200.0', '150.0', '-20

0.0', '-200.0', '-150.0', '-200.0', '200.0', '-150.0', '-200.0', '200.0', '150.0

', '-200.0', '-200.0', '150.0', '-200.0']

---------

(3006, 0042) Contour Geometric Type CS: 'CLOSED_PLANAR'

(3006, 0046) Number of Contour Points IS: '6'

(3006, 0048) Contour Number IS: '2'

(3006, 0050) Contour Data DS: ['200.0', '-0.0', '-190.

0', '200.0', '-150.0', '-190.0', '-200.0', '-150.0', '-190.0', '-200.0', '150.0'

, '-190.0', '200.0', '150.0', '-190.0', '200.0', '-0.0', '-190.0']

---------

(3006, 0042) Contour Geometric Type CS: 'CLOSED_PLANAR'

(3006, 0046) Number of Contour Points IS: '6'

(3006, 0048) Contour Number IS: '3'

(3006, 0050) Contour Data DS: ['200.0', '-0.0', '-180.

0', '200.0', '-150.0', '-180.0', '-200.0', '-150.0', '-180.0', '-200.0', '150.0'

, '-180.0', '200.0', '150.0', '-180.0', '200.0', '-0.0', '-180.0']

---------

(3006, 0084) Referenced ROI Number IS: '1'

数据被存储(在这种情况下,如通常那样)作为每个平面的一组坐标.要获得一个轮廓的数据,对于一个平面,您可以使用

>>> ctrs[0].ContourSequence[0].ContourData

['-200.0', '150.0', '-200.0', '-200.0', '-150.0', '-200.0', '200.0', '-150.0', '

-200.0', '200.0', '150.0', '-200.0', '-200.0', '150.0', '-200.0']

这些是一个接一个的(x,y,z)坐标的三元组.

对于Referenced ROI Number给出的索引,您可以在StructureSetROISequence序列中找到有关每个轮廓(名称等)的更多信息.

您可以通过循环ContourSequence中针对该特定轮廓的每个数据集并将它们一起附加到一个数组中来获得所有这些的完整数组.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值