Il s'agit de la commande gdcmraw qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
gdcmraw - Extraire le champ de valeur de l'élément de données.
SYNOPSIS
gdcmraw [options] entrée de fichier sortie de fichier
DESCRIPTION
La gdcmraw outil est principalement utilisé à des fins de développement. Il est utilisé pour extraire un
champ binaire d'un DataSet DICOM.
PARAMETRES
nom de fichier d'entrée DICOM
nom du fichier de sortie du fichier
OPTIONS
-i --input Nom du fichier d'entrée
-o --output Nom du fichier de sortie
-t --tag Spécifie la balise à partir de laquelle extraire la valeur.
SPÉCIFIQUE OPTIONS
-S --split-frags Divise les fragments en plusieurs fichiers.
-p --pattern Spécifie le modèle de fichier de fin (voir split-frags).
-P --pixel-data Pixel Data à la fin de 0.
GÉNÉRAL OPTIONS
-h --aide
imprimer ce texte d'aide et quitter
-v --version
imprimer les informations sur la version et quitter
-V --verbeux
mode verbeux (avertissement+erreur).
-W --avertissement
mode d'avertissement, imprimer les informations d'avertissement
-E --erreur
mode d'erreur, imprimer les informations d'erreur
-D --débogage
mode de débogage, imprimer les informations de débogage
TYPIQUE UTILISATION
Copier Attribut Valeur à filet
Cela extraira la valeur à Tag (0025,101b):
$ gdcmraw -i GE_MR_0025xx1bProtocolDataBlock.dcm -t 25,101 XNUMXb -o pdb.raw
Extraction pixel Données
Si vous ne spécifiez aucune balise, l'élément Pixel Data est l'élément par défaut. Alors par exemple
pour récupérer les données de pixels d'une image :
$ gdcmraw -i test.acr -o test.raw
Vous pouvez alors par exemple calculer la somme md5 de ces données de pixels (très utile) :
$ md5sum test.raw
f845c8f283d39a0204c325654493ba53 test.raw
Encapsulé Syntaxe
Lorsque les données de pixels sont encapsulées, plusieurs fragments peuvent être utilisés pour stocker un seul
image de tranche :
$ gdcmdump D_CLUNIE_CT1_J2KR.dcm
\ & ...
(7fe0,0010) OB # u/l,1 Pixel Données
(fffe,e000) ?? [] # 0,1 Article
(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
Afin de créer une image J2K à partir de celui-ci, nous devons extraire chaque fragment et
concaténez-les :
$ gdcmraw -i D_CLUNIE_CT1_J2KR.dcm -o D_CLUNIE_CT1_J2KR.j2k
Il s'agit d'un fichier J2K valide, utilisant le progiciel Kakadu :
$ kdu_expand -i D_CLUNIE_CT1_J2KR.j2k -o D_CLUNIE_CT1_J2KR.tiff -record D_CLUNIE_CT1_J2KR.txt
$ chat D_CLUNIE_CT1_J2KR.txt
Sprofile=PROFIL2
Scap=non
Extensions=0
Taille={512,512 XNUMX}
Origine={0,0}
Stiles={512,512 XNUMX}
Stile_origine={0,0}
Composants=1
Signé=oui
Précision=16
Échantillonnage={1,1}
Sdim={512,512 XNUMX}
Cycc=non
cmct=0
Argiliers=1
Cuse_sop=non
Cuse_eph=non
Cordon=LRCP
Calign_blk_last={non, non}
Niveaux=5
CAD=0
Cdfs=0
Cdecomp=B(-:-:-)
Créversible=oui
Noyaux=W5X3
Chat=0
Cuse_precincts=non
Cblk={64,64}
Cmode=0
Qgarde=1
Plages_Qabs=18,19,19,20,19,19,20,19,19,20,19,19,20,19,19,20
>> Nouveaux attributs pour la tuile 0 :
Extraction débris as unique filet
Parfois, chaque fragment est en fait une seule tranche, nous n'aurions donc pas besoin de concaténer
leur:
$ gdcmdump 00191113.dcm
\ & ...
(7fe0,0010) OB # u/l,1 Pixel Données
(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
Essayons d'extraire ces 4 fichiers JPEG sans perte individuellement :
$ gdcmraw --split-frags -i 00191113.dcm -o jpeg --pattern %02d.ljpeg
Cela produira 4 fichiers :
-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
NOTE DE BAS DE PAGE À PROPOS JPEG DES DOSSIERS
C'est un malentendu courant d'échanger « JPEG 8 bits avec perte » avec simplement un fichier JPEG.
La spécification JPEG est beaucoup plus large que le simple fichier 8 bits avec perte (tel que trouvé
sur Internet).
Vous pouvez avoir:
· JPEG avec perte 8 bits
· JPEG avec perte 12 bits
· JPEG sans perte 2-16 bits
C'est ce qui est défini dans ITU-T T.81, ISO/IEC IS 10918-1.
Utilisez gdcmraw en ligne à l'aide des services onworks.net