Je voudrais lire un fichier DICOM en C#. Je ne veux pas faire quelque chose de fantaisie, je voudrais juste pour le moment savoir comment lire dans les éléments, mais d'abord je voudrais savoir comment lire l'en-tête pour voir si est un fichier DICOM valide.C#: comment lire des parties d'un fichier? (DICOM)
Il se compose d'éléments de données binaires. Les 128 premiers octets sont inutilisés (mis à zéro), suivis de la chaîne 'DICM'. Ceci est suivi par des informations d'en-tête, qui sont organisées en groupes.
Un en-tête DICOM échantillon
First 128 bytes: unused DICOM format. Followed by the characters 'D','I','C','M' Followed by extra header information such as: 0002,0000, File Meta Elements Groups Len: 132 0002,0001, File Meta Info Version: 256 0002,0010, Transfer Syntax UID: 1.2.840.10008.1.2.1. 0008,0000, Identifying Group Length: 152 0008,0060, Modality: MR 0008,0070, Manufacturer: MRIcro
Dans l'exemple ci-dessus, l'en-tête est organisé en groupes. Le groupe 0002 hex est le groupe de méta-informations du fichier qui contient 3 éléments: l'un définit la longueur du groupe, l'autre stocke la version du fichier et stocke la syntaxe de transfert.
Questions
- Comment je lis le fichier d'en-tête et de vérifier si elle est un fichier DICOM en vérifiant le 'D', 'I', 'C', caractères 'M' après la 128 octets préambule?
- Comment continuer à analyser le fichier en lisant les autres parties des données?
Je pense qu'il sera préférable d'utiliser ReadLine() au lieu de lire l'octet de fichier par octet. Chaque enregistrement semble être sur une ligne différente – A9S6