Dưới đây là một phiên tương tác minh họa cách bố trí dữ liệu bằng cách sử dụng tập tin rtstruct.dcm kèm pydicom:
>>> 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'
Dữ liệu được lưu trữ (trong trường hợp này, như là bình thường) như một tập hợp các tọa độ cho mỗi máy bay. Để lấy dữ liệu cho một đường bao, đối với một mặt phẳng, bạn có thể sử dụng
>>> 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']
Đây là ba (x, y, z) tọa độ cái này với nhau.
Bạn có thể tìm hiểu thêm thông tin về mỗi đường bao (tên, v.v ..) trong trình tự StructureSetROISequence
, cho chỉ mục được cung cấp bởi Số ROI được tham chiếu.
Bạn có thể nhận được một mảng hoàn chỉnh cho tất cả những điều này bằng cách lặp qua từng tập dữ liệu trong ContourSequence cho đường bao cụ thể đó và nối chúng lại với nhau thành một mảng.
Vui lòng cung cấp UID lớp SOP của tệp DICOM được đề cập để chúng tôi biết cách thông tin được mã hóa. –
@kritzel_sw Ồ, xin lỗi vì phản hồi chậm. Nếu tôi sử dụng thẻ "SOP lớp UID" trên tệp cấu trúc của tôi, tôi nhận được: Bộ lưu trữ cấu trúc RT. Không biết nếu đó là những gì bạn đã yêu cầu? –