Dies ist der Befehl gdcmraw, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
gdcmraw – Datenelementwertfeld extrahieren.
ZUSAMMENFASSUNG
gdcmraw [Optionen] Datei-Ein-Datei-Aus
BESCHREIBUNG
Das gdcmraw Das Tool wird hauptsächlich für Entwicklungszwecke verwendet. Es wird verwendet, um ein bestimmtes zu extrahieren
binäres Feld aus einem DICOM-DataSet.
PARAMETER
file-in DICOM-Eingabedateiname
file-out Ausgabedateiname
OPTIONAL
-i --input Eingabedateiname
-o --output Ausgabedateiname
-t --tag Geben Sie das Tag an, aus dem der Wert extrahiert werden soll.
SPEZIFISCH OPTIONAL
-S --split-frags Fragmente in mehrere Dateien aufteilen.
-p --pattern Geben Sie das Muster der nachgestellten Datei an (siehe Split-Frags).
-P --pixel-data Pixeldaten nach 0.
ALLGEMEIN OPTIONAL
-h - Hilfe
Diesen Hilfetext drucken und beenden
-v --version
Versionsinformationen drucken und beenden
-V --ausführlich
ausführlicher Modus (Warnung+Fehler).
-W --Warnung
Warnmodus, Warninformationen drucken
-E --Fehler
Fehlermodus, Fehlerinformationen drucken
-D --debuggen
Debug-Modus, Debug-Informationen drucken
TYPISCH ANWENDUNG
Kopieren Attribut Wert zu Datei
Dadurch wird der Wert bei Tag (0025,101b) extrahiert:
$ gdcmraw -i GE_MR_0025xx1bProtocolDataBlock.dcm -t 25,101b -o pdb.raw
Extrahieren Pixel Datum
Wenn Sie kein Tag angeben, ist das Pixeldatenelement das Standardelement. Also zum Beispiel
So erfassen Sie die Pixeldaten aus einem Bild:
$ gdcmraw -i test.acr -o test.raw
Anschließend können Sie beispielsweise die MD5-Summe dieser Pixeldaten berechnen (sehr nützlich):
$ md5sum test.raw
f845c8f283d39a0204c325654493ba53 test.raw
Eingekapselt Syntax
Wenn die Pixeldaten gekapselt sind, können mehrere Fragmente zum Speichern eines einzelnen Fragments verwendet werden
Schnittbild:
$ gdcmdump D_CLUNIE_CT1_J2KR.dcm
\&...
(7fe0,0010) OB # u/l,1 Pixeldaten
(fffe,e000) ?? [] # 0,1 Artikel
(fffe,e000) ?? ff\\4f\\ff\\51\\00\\29\\00\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\02\\00\\00\\00\\02\\00 # 65536,1 Item
(fffe,e000) ?? 2c\\b7\\ee\\68\\de\\e3\\93\\2d\\b3\\b8\\ba\\90\\7b\\42\\3e\\f8\\42\\16\\64\\88\\46\\30\\37\\d4\\50\\95\\9b\\b6\\a5\\c7\\38\\9b # 65536,1 Item
(fffe,e000) ?? 48\\3c\\03\\e8\\c4\\3f\\44\\e1\\8a\\5c\\73\\3b\\02\\0a\\ad\\a5\\8f\\e4\\0c\\81\\76\\a2\\d7\\1b\\7f\\b7\\cd\\bc\\30\\c6\\6a\\6a # 43308,1 Item
(fffe,e0dd) 0
Um daraus ein J2K-Image zu erstellen, müssen wir jedes Fragment extrahieren und
verkette sie:
$ gdcmraw -i D_CLUNIE_CT1_J2KR.dcm -o D_CLUNIE_CT1_J2KR.j2k
Dies ist eine gültige J2K-Datei, die das Kakadu-Softwarepaket verwendet:
$ kdu_expand -i D_CLUNIE_CT1_J2KR.j2k -o D_CLUNIE_CT1_J2KR.tiff -record D_CLUNIE_CT1_J2KR.txt
$ cat D_CLUNIE_CT1_J2KR.txt
Sprofile=PROFILE2
Scap=nein
Sextensionen=0
Ssize={512,512}
Ursprung={0,0}
Stiles={512,512}
Stile_origin={0,0}
Komponenten=1
Unterschrieben=Ja
Präzision=16
Sampling={1,1}
Sdims={512,512}
Cycc=nein
Cmct=0
Clayer=1
Cuse_sop=nein
Cuse_eph=nein
Corder=LRCP
Calign_blk_last={nein, nein}
Clevels=5
Cads=0
Cdfs=0
Cdecomp=B(-:-:-)
Creversible=ja
Ckernels=W5X3
Catk=0
Cuse_precincts=nein
Cblk={64,64}
Cmodes=0
Qguard=1
Qabs_ranges=18,19,19,20,19,19,20,19,19,20,19,19,20,19,19,20
>> Neue Attribute für Kachel 0:
Extrahieren Fragmente as Single Datei
Manchmal ist jedes Fragment tatsächlich ein einzelnes Slice, sodass wir es nicht verketten müssen
Sie:
$ gdcmdump 00191113.dcm
\&...
(7fe0,0010) OB # u/l,1 Pixeldaten
(fffe,e000) ?? 00\\00\\00\\00\\6b\\38\\01\\00\\10\\77\\02\\00\\37\\b6\\03\\00\\a7\\f4\\04\\00 # 20,1 Item
(fffe,e000) ?? ff\\d8\\ff\\c3\\00\\0b\\08\\02\\00\\02\\00\\01\\00\\11\\00\\ff\\c4\\00\\1b\\00\\01\\01\\01\\01\\01\\01\\01\\01\\00\\00\\00\\00 # 79970,1 Item
(fffe,e000) ?? ff\\d8\\ff\\c3\\00\\0b\\08\\02\\00\\02\\00\\01\\00\\11\\00\\ff\\c4\\00\\1b\\00\\01\\01\\01\\01\\01\\01\\01\\01\\00\\00\\00\\00 # 81564,1 Item
(fffe,e000) ?? ff\\d8\\ff\\c3\\00\\0b\\08\\02\\00\\02\\00\\01\\00\\11\\00\\ff\\c4\\00\\1b\\00\\01\\01\\01\\01\\01\\01\\01\\01\\00\\00\\00\\00 # 81694,1 Item
(fffe,e000) ?? ff\\d8\\ff\\c3\\00\\0b\\08\\02\\00\\02\\00\\01\\00\\11\\00\\ff\\c4\\00\\1b\\00\\01\\01\\01\\01\\01\\01\\01\\01\\00\\00\\00\\00 # 81511 (81512),1 Item
(fffe,e0dd) 0
Versuchen wir, diese 4 einzelnen verlustfreien JPEG-Dateien einzeln zu extrahieren:
$ gdcmraw --split-frags -i 00191113.dcm -o jpeg --pattern %02d.ljpeg
Dadurch werden 4 Dateien ausgegeben:
-rw-r--r-- 1 Mathieu Mathieu 81512 2008-08-08 22:10 jpeg03.ljpeg
-rw-r--r-- 1 Mathieu Mathieu 81694 2008-08-08 22:10 jpeg02.ljpeg
-rw-r--r-- 1 Mathieu Mathieu 81564 2008-08-08 22:10 jpeg01.ljpeg
-rw-r--r-- 1 Mathieu Mathieu 79970 2008-08-08 22:10 jpeg00.ljpeg
FUSSNOTE ABOUT JPEG DATEIEN
Es ist ein weit verbreitetes Missverständnis, „JPEG 8 Bits verlustbehaftet“ mit einer einfachen JPEG-Datei zu verwechseln.
Die JPEG-Spezifikation ist viel umfassender als nur die übliche verlustbehaftete 8-Bit-Datei (wie gefunden).
im Internet).
Du kannst haben:
· JPEG verlustbehaftet 8 Bit
· JPEG verlustbehaftet 12 Bit
· JPEG verlustfrei 2–16 Bit
Dies ist in ITU-T T.81, ISO/IEC IS 10918-1 definiert.
Verwenden Sie gdcmraw online über die Dienste von onworks.net