c#: comment lire des parties d'un fichier? (DICOM)
Je voudrais lire un fichier DICOM en C#. Je ne veux pas faire quelque chose de compliqué, j'ai juste pour l'instant voudrais savoir comment lire dans les éléments, mais d'abord je voudrais savoir comment lire l'en-tête afin de voir si il est valide d'un fichier DICOM.
Il se compose de Données Binaires Éléments. Les 128 premiers octets sont inutilisés (mise à zéro), suivie par la chaîne 'DICM'. Elle est suivie par des informations d'en-tête, qui est organisé en groupes.
Un échantillon en-tête DICOM
128 premiers octets: inutilisé DICOM. Suivie par les caractères 'D','I','C','M' Suivie par des informations d'en-tête tels que: 0002,0000, Fichier Meta Éléments Des Groupes Len: 132 0002,0001, Fichier Meta-Info Version: 256 0002,0010, Syntaxe de Transfert UID: 1.2.840.10008.1.2.1. 0008,0000, L'Identification Du Groupe De Longueur: 152 0008,0060, la Modalité: M. 0008,0070, Fabricant: MRIcro
Dans l'exemple ci-dessus, l'en-tête est organisée en groupes. Le groupe 0002 hex est le fichier de méta-informations de groupe qui contient 3 éléments: on définit le groupe de longueur, on stocke le fichier de la version et de la leurs magasins de la syntaxe de transfert.
Questions
- Comment puis-je lire le fichier d'en-tête et de vérifier si c'est un fichier DICOM en vérifiant l' 'D','I','C','M' caractères après le 128 octets de préambule?
- Comment puis-je continuer à analyser le fichier à lire les autres parties de ces données?
OriginalL'auteur Xaisoft | 2010-03-04
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme cela devrait lire le fichier de base et ne gère pas tous les cas, mais il serait un point de départ:
Le code n'est pas vraiment l'essayer et de prendre en compte le fait que la syntaxe de transfert des données codées peuvent changer après que le groupe 2 éléments, il également ne pas essayer de faire quelque chose avec les valeurs réelles.
Merci, Xaisoft. Si vous voulez vraiment chercher, j'ai copié une partie de ce code de la ClearCanvas les bibliothèques, qui sont basés sur une première version de cm. Vous pouvez regarder le ClearCanvas.Dicom.IO.DicomStreamReader classe pour voir notre analyseur, ce qui est évidemment beaucoup plus complexe que juste cet extrait.
bonjour Steve, pouvez-vous me dire quel est le format de fichier *.dcm sont. Par exemple, les 128 premiers octets est de préambule, 4 octets de préfixe. Où seront les informations sur le nom du patient, le réel de l'image, etc..
OriginalL'auteur
Un rapide Recherche Google trois DICOM bibliothèques visual C#:
OriginalL'auteur
Voici un exemple en C#:
http://www.codeproject.com/KB/graphics/dicomImageViewer.aspx
OriginalL'auteur
Juste quelques pseudologic
Comment puis-je lire le fichier d'en-tête et de vérifier si c'est un fichier DICOM en vérifiant l' 'D','I','C','M' caractères après le 128 octets de préambule?
Comment puis-je continuer à analyser le fichier à lire les autres parties de ces données?
N'oubliez pas de fermer et d'éliminer le fichier.
OriginalL'auteur
vous pouvez également l'utiliser comme ça.
OriginalL'auteur
Prises de EvilDicom.Helper.DicomReader de la Mal Dicom bibliothèque:
OriginalL'auteur