Wenn Sie über das DICOM-Format erfahren möchten, „Digital Imaging and Communications in Medicine (DICOM): Eine praktische Einführung und Survival Guide "von Oleg Pianykh ist gut lesbar und gibt eine gute Einführung in die wichtigsten DICOM-Konzepte. Springer-Verlag ist der Herausgeber dieses Buches. Der vollständige DICOM-Standard ist natürlich die ultimative Referenz, obwohl er etwas einschüchternder ist. Es ist erhältlich von NEMA().
Das Dateiformat ist eigentlich weniger esoterisch als Sie sich vorstellen können und besteht aus einer Präambel gefolgt von einer Folge von Datenelementen. Die Präambel enthält den ASCII-Text "DICM" und mehrere reservierte Bytes, die nicht verwendet werden. Der Präambel folgt eine Sequenz von Datenelementen. Jedes Datenelement besteht aus der Größe des Elements, einem zweistelligen ASCII-Code, der die Wertdarstellung angibt, einem DICOM-Tag und dem Wert. Datenelemente in der Datei sind nach ihren DICOM-Tag-Nummern sortiert. Das Bild selbst ist nur ein weiteres Datenelement mit einer Größe, Wertdarstellung usw.
Wertdarstellungen geben genau an, wie der Wert zu interpretieren ist. Ist es eine Nummer? Ist es eine Zeichenkette? Wenn es sich um eine Zeichenkette handelt, ist diese kurz oder lang und welche Zeichen sind erlaubt? Der Wertdarstellungscode teilt Ihnen dies mit.
Ein DICOM-Tag ist ein 4-Byte-Hexadezimalcode, der aus einer 2-Byte-Gruppennummer und einer 2-Byte-Elementnummer besteht. Die Gruppennummer ist ein Bezeichner, der angibt, für welche Informationsentität das Tag gilt (z. B. bezieht sich die Gruppe 0010 auf den Patienten und die Gruppe 0020 auf die Studie). Die Elementnummer identifiziert die Interpretation des Wertes (Elemente wie die ID-Nummer des Patienten, die Serienbeschreibung usw.). Um herauszufinden, wie Sie den Wert interpretieren sollten, sucht Ihr Code nach dem DICOM-Tag in einer Wörterbuchdatei.
Es gibt einige andere Details, aber das ist die Essenz davon. Das Informativste, was Sie über das Dateiformat lernen können, ist, eine DICOM-Beispieldatei zu nehmen, sie mit einem Hexeditor zu betrachten und mental zu analysieren. Ich würde davon abraten, etwas über DICOM zu lernen, indem ich zumindest anfangs auf existierende Open-Source-Implementierungen schaue. Es ist wahrscheinlicher zu verwirren, anstatt aufzuklären. Das große Ganze ist wichtiger. Sobald Sie das große Bild haben, können Sie in Feinheiten absteigen.
Ist das eine „Bitte mach meine Hausaufgaben für mich“ Frage? –
Nein, ich habe meine Hausaufgaben gemacht: Es gibt einige C/C++ - Bibliotheken, die das Lesen (eine Teilmenge) von DICOM-Dateien unterstützen. Zwei oder drei von ihnen haben sogar Python-Bindungen. Ein nativer Python-Parser würde für mich zwei Zwecke erfüllen: 1. Keine Notwendigkeit, irgendwelche C/C++ - Bibliotheken zu erstellen. 2. Informieren Sie sich über das DICOM-Dateiformat. –