[intro | Notions de Bases | Agencement de l'information | Applet Dicom | EViewBox ! | Conclusions | Résumé | Références | Glossaire | Idées Reçues ]


Informations habituellement contenues dans un fichier DICOM :



Un fichier DICOM comprends les données correspondantes aux pixels de l'image , habituellement ces données sont groupées à la fin du fichier DICOM , elles sont précédées par d'autres données techniques et démographiques.



Organisation des données dans un fichier DICOM :

L'organisation de l'information contenue dans les fichiers DICOM a été inspirée par la sauvegarde des données sur des bandes magnétiques. L'information est organisée sous une forme séquentielle.

Chaque information élémentaire est constituée de 3 champs de données . Le premier champs est codé sur 8 octets, il s'agit d'une "balise" ou "tag" , répertoriée dans le dictionnaire DICOM, qui indique le type d'information qui va suivre. Le deuxième champs de 8 octets indique la longueur de l'information contenue dans le 3ème champs, jusqu' à la balise suivante.

Ainsi une information élémentaire est formée par 3 champs de données successifs :

  1. Premier champs: 8 octets : correspondant aux balises du dictionnaire ( exemple âge du patient : 0x0010 1010 en hexadécimal )
  2. Deuxième champs : 8 octets correspondants la la longueur en octet du champs suivant ( exemple âge codé sur 2 octets : 0x0000 0002 )
  3. Troisième champs de longueur variable , déterminé par le champs précédant correspondant à l'information identifiée par le premier champs.

Exemple : Codage de l'identification du patient :

Si on rencontre dans un flux de données DICOM les éléments suivants en hexadécimal:

00 10 00 20 00 00 00 0A 4A 6F 68 6E 5E 48 65 6E 72 79 ,

Ce flux se décompose ainsi :

4 octets

balise groupe

4 octets

balise élément

8 octets

longueur l du champs suivant

Longueur variable l,

information :

0010

0020

0000000A

4A 6F 68 6E 5E 48 65 6E 72 79

(ici l = 10 )

où :

0x0010 correspond dans le dictionnaire au code hexadécimal du groupe de données codant l'information du patient.

0x0010 0010, balise du dictionnaire indiquant que l'information sera le nom du patient

Indique la longueur du champs suivant. (ici A en hexadécimal correspond à 10 en décimal )

ici signification = ASCII

4A

6F

68

6E

5E

48

65

6E

72

79

J

o

h

n

^

H

e

n

r

y

Ces informations se succèdent à la suite les unes des autres dans un ordre de balises croissant, il est ainsi possible d'ignorer certaines informations contenues dans des champs d'information et de passer à la balise suivante , ce qui permet de " sauter " une balise dont on ne connaît pas la signification.

Organisation du Flux de Données :

on trouve ainsi les données suivantes dans le flux DICOM

L'identification de la machine

  • Date d'examen
  • Type d'examen
  • Fabricant de la machine
  • Hôpital ou institution
  • Identification de la machine (numéro, type )

Les informations sur le patient :

  • Nom
  • Identification
  • Date de naissance
  • Sexe

Les informations sur l'acquisition de l'information :

  • Bolus
  • Kilovolts
  • Inclinaison du statif
  • Epaisseur de coupe
  • etc.. variable suivant le type d'examen

Les informations en rapport avec l'examen :

  • Série,
  • Orientation du patient
  • Plan de références
  • Nombres d'images dans l'acquisition
  • Commentaires
Les informations concernant l'image elle-même et la façon dont elle est codée.
  • Largeur
  • Hauteur
  • Codage de l'image (niveaux de gris, couleur ..)
  • Compression
  • Représentation numérique de l'image

Les pixels ;

  • Représentation numérique de l'image elle même.


ou encore, d'après un document Philips :




Quelques éléments intéressants du Dictionnaire DICOM : (Pour les informaticiens)

Chacun des premier champs de 8 octets d'une information élémentaire est décomposé en 2 séries de 4 octets , les 4 premiers octets codent pour un groupe d'information ( exemple groupe 0008H identification de la machine , groupe 0010h identification du patient, groupe 0018H identification de l'image largeur , hauteur etc...) et les 4 octets suivant précisent quel élément du groupe sera définit dans la balise.



Les groupes sont agencés de la façon suivante :

Group element Signification
0000 Command
0008 Identification du centre
0010 Information sur le patient
0018 Type d'acquisition (épaisseur de coupe, bolus, inclinaison du statif, paramètres kV, temps d'écho etc..)
0020 Positionnement et information relatives à l'acquistion (Relationship )
0028 Présentation de l'image (dimensions, niveaux de gris, tables de couleurs) Image Presentation
4000 Text
6000-601E (even) Overlay, type de compression....
7FE0 Pixel Data, Pixels de l'image.


Quelques un des éléments les plus intéressants sont :

(nnnn,0000) BD S Group Length # longueur du groupe en octets nnnn/ l
(nnnn,4000) AT M Comments #commentaires

(0008,0010) AT S Recognition Code # ACR-NEMA 1.0 or 2.0
(0008,0020) AT S Study Date # yyyy.mm.dd
(0008,0021) AT S Series Date # yyyy.mm.dd
(0008,0022) AT S Acquisition Date # yyyy.mm.dd
(0008,0023) AT S Image Date # yyyy.mm.dd
(0008,0030) AT S Study Time # hh.mm.ss.frac
(0008,0031) AT S Series Time # hh.mm.ss.frac
(0008,0032) AT S Acquisition Time # hh.mm.ss.frac
(0008,0033) AT S Image Time # hh.mm.ss.frac
(0008,0060) AT S Modality # CT,NM,MR,DS,DR,US,OT

(0010,0010) AT S Patient Name
(0010,0020) AT S Patient ID
(0010,0030) AT S Patient Birthdate # yyyy.mm.dd
(0010,0040) AT S Patient Sex # M, F, O pour les autres
(0010,1010) AT S Patient Age # xxxD or W or M or Y

(0018,0010) AT M Contrast/Bolus Agent # ou RIEN
(0018,0030) AT M Radionuclide
(0018,0050) AN S Slice Thickness # mm
(0018,0060) AN M KVP
(0018,0080) AN S Repetition Time # ms
(0018,0081) AN S Echo Time # ms
(0018,0082) AN S Inversion Time # ms
(0018,1120) AN S Gantry Tilt # degrés

(0020,1040) AT S Position Reference # exemple crête iliaque
(0020,1040) AN S Slice Location # en mm (signé)

(0028,0010) BI S Rows
(0028,0011) BI S Columns
(0028,0030) AN M Pixel Size # rangées\colonnes en mm
(0028,0100) BI S Bits Allocated # ex. 12 bits pour la TDM
(0028,0101) BI S Bits Stored # ex. 16 bits
(0028,0102) BI S High Bit # ex. 11
(0028,0102) BI S Pixel Representation # 1 signé, 0 non signé

(7FE0,0010) BI M Pixel Data # données image, comme décrites au groupe 0028

Organisation des pixels de l'image DICOM : (pour les techniciens )

La façon dont les pixels sont sauvegardés peut énormément changer, bien que heureusement la plupart des utilisateurs et des fabricants utilisent le schéma le plus simple . Par exemple 1 pixel de 12 bits est sauvegardé dans un mot de 16 bits sans essayer de le présenter sous une forme plus compacte.

Voici quelques exemples.Notez que lorsque on y ajoute le problème de lecture little/big endian , les permutations s'effectuent !

Bits Allocated = 16 (Bits alloués )
Bits Stored = 12 (Bits enregistrés )
High Bit = 11 (Bit le plus significatif)

|<------------------ pixel ----------------->|
______________ ______________ ______________ ______________
|XXXXXXXXXXXXXX| | | |
|______________|______________|______________|______________|
15 12 11 8 7 4 3 0

---------------------------

Bits Allocated = 16
Bits Stored = 12
High Bit = 15

|<------------------ pixel ----------------->|
______________ ______________ ______________ ______________
| | | |XXXXXXXXXXXXXX|
|______________|______________|______________|______________|
15 12 11 8 7 4 3 0

---------------------------

Bits Allocated = 12
Bits Stored = 12
High Bit = 11

------ 2 ----->|<------------------ pixel 1 --------------->|
______________ ______________ ______________ ______________
| | | | |
|______________|______________|______________|______________|
15 12 11 8 7 4 3 0


-------------- 3 ------------>|<------------ 2 --------------
______________ ______________ ______________ ______________
| | | | |
|______________|______________|______________|______________|
15 12 11 8 7 4 3 0


|<------------------ pixel 4 --------------->|<----- 3 ------
______________ ______________ ______________ ______________
| | | | |
|______________|______________|______________|______________|
15 12 11 8 7 4 3 0


[intro | Notions de Bases | Agencement de l'information | Applet Dicom | EViewBox ! | Conclusions | Résumé | Références | Glossaire | Idées Reçues ]