Voici une session interactive illustrant la mise en page de données en utilisant le fichier rtstruct.dcm inclus avec 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'
Les données sont stockées (dans ce cas, comme d'habitude) comme un ensemble de coordonnées pour chaque avion. Pour obtenir les données d'un contour, pour un plan, vous pouvez utiliser
>>> 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']
Ce sont des triplés de (x, y, z) les coordonnées les unes après les autres.
Vous pouvez trouver plus d'informations sur chaque contour (nom, etc.) dans la séquence StructureSetROISequence
, pour l'indice donné par le numéro de retour sur investissement référencé.
Vous pouvez obtenir un tableau complet pour tous ces éléments en faisant défiler chaque ensemble de données dans ContourSequence pour ce contour particulier et en les ajoutant ensemble dans un tableau.
Veuillez indiquer l'UID de classe SOP du fichier DICOM en question afin que nous sachions comment l'information est codée. –
@kritzel_sw Oh, désolé pour la réponse lente. Si j'utilise la balise "SOP Class UID" sur mon fichier de structure, je reçois: RT Structure Set Storage. Je ne sais pas si c'est ce que vous demandiez? –