Bug #33
closeddcmcjpeg entfernt beim Bearbeiten eines DICOMDIRs die SOP Class UID aus dem Metaheader!
100%
Description
siehe E-Mail von Mathieu Malaterre vom 2008-11-28
Zum einen entfernen alle Encoder momentan die SOP Class UID aus dem Meta-Header (vermutlich auch die SOP Instance UID)
und verlassen sich darauf, dass DcmFileFormat::save() den aus dem Datensatz wieder korrekt übernimmt. Nun gibt es
DICOM-Objekte (z.B. DICOMDIR), die im Datensatz keine SOP Class UID und SOP Instance UID enthalten. Hier darf das
nicht passieren. Besser wäre eine Routine, die den Eintrag im Metaheader nur dann aktualisiert, wenn im Datensatz
ein Wert vorliegt. Das passiert vermutlich direkt in der Kompressions-Anwendung dcmcjpeg, dcmcrle usw.
Dieser Code muss korrigiert werden.
Zum anderen kann DCMTK DICOMDIRs in anderen Transfersyntaxen als Explicit VR Little Endian nicht korrekt schreiben,
weil die Byte-Offset-Berechnungen vermutlich nur für den Fall funktionieren. Daher sollten alle Kompressionstools
prüfen, ob im Meta-Header DicomDirectoryRecord als SOP Class UID eingetragen ist, und in dem Fall die Kompression
mit einer Fehlermeldung verweigern.
=== Kommentar JR ===
Die Kompressionstools im DCMTK prüfen jetzt (2009-08-21) auf die entsprechende SOP Class ab. ''dcmconv'' macht das aber bislang nicht!
Das Löschen der UIDs in Meta-Header wurde durch die Einführung eines ''FileWriteMode'' auch geändert ...
Updated by Michael Onken almost 11 years ago
- Description updated (diff)
- Private changed from No to Yes