Si vous voulez en savoir plus sur le format DICOM, « imagerie numérique et les communications en médecine (DICOM): Guide pratique Introduction et survie "par Oleg Pianykh est très lisible et donne une bonne introduction aux concepts clés de DICOM. Springer-Verlag est l'éditeur de ce livre. La norme DICOM complète est, bien sûr, la référence ultime bien qu'elle soit un peu plus intimidante. Il est disponible auprès de NEMA (http://medical.nema.org).
Le format de fichier est en fait moins ésotérique que vous pourriez l'imaginer et se compose d'un préambule suivi d'une séquence d'éléments de données. Le préambule contient le texte ASCII "DICM" et plusieurs octets réservés inutilisés. Après le préambule est une séquence d'éléments de données. Chaque élément de données comprend la taille de l'élément, un code ASCII à deux caractères indiquant la représentation de la valeur, une étiquette DICOM et la valeur. Les éléments de données dans le fichier sont classés par leur numéro de tag DICOM. L'image elle-même est juste un autre élément de données avec une taille, une représentation de valeur, etc.
Les représentations de valeur spécifient exactement comment interpréter la valeur. Est-ce un numéro? Est-ce une chaîne de caractères? Si c'est une chaîne de caractères, est-ce court ou long et quels caractères sont autorisés? Le code de représentation de la valeur vous le dit.Une étiquette DICOM est un code hexadécimal de 4 octets composé d'un nombre de "groupe" de 2 octets et d'un nombre "d'éléments" de 2 octets. Le numéro de groupe est un identificateur qui vous indique à quelle entité d'information l'étiquette s'applique (par exemple, le groupe 0010 fait référence au patient et le groupe 0020 à l'étude). Le numéro d'élément identifie l'interprétation de la valeur (éléments tels que le numéro d'identification du patient, la description de la série, etc.). Pour savoir comment interpréter la valeur, votre code recherche la balise DICOM dans un fichier de dictionnaire.
Il y a d'autres détails en jeu, mais c'est l'essentiel. Probablement la chose la plus instructive que vous pouvez faire pour en apprendre davantage sur le format de fichier est de prendre un exemple de fichier DICOM, regardez-le avec un éditeur hexadécimal, et passez par le processus de l'analyser mentalement. Je déconseillerais d'essayer d'en savoir plus sur DICOM en examinant les implémentations Open Source existantes, du moins au début. Il est plus probable de confondre au lieu d'éclairer. Obtenir la grande image est plus important. Une fois que vous avez la grande image, vous pouvez descendre dans les subtilités.
Est-ce une « S'il vous plaît faire mes devoirs pour moi » question? –
Non, à mon humble avis, j'ai fait mes devoirs: Il y a des bibliothèques C/C++ qui supportent la lecture (un sous-ensemble) de fichiers DICOM. Deux ou trois d'entre eux ont même des liaisons Python. Un analyseur Python natif servirait à deux fins pour moi: 1. Pas besoin de construire des bibliothèques C/C++. 2. En savoir plus sur le format de fichier DICOM. –