⚠️ Ceci est un site de traduction non officiel, sans lien avec DCMTK / OFFIS. Pour des informations faisant autorité, consultez la page originale (https://support.dcmtk.org/docs/dcm2img.html).

dcm2img: convertit une image DICOM au format d'image standard

SYNOPSIS

dcm2img [options] dcmfile-in [bitmap-out]

DESCRIPTION

dcm2img est un utilitaire qui lit une image DICOM, convertit les données de pixels selon les options de traitement d'image sélectionnées, puis réécrit une image dans l'un des formats d'image à usage général suivants : BMP, PGM/PPM, PNG, TIFF, JPEG ou JPEG-LS. Cet utilitaire prend en charge les images DICOM non compressées ainsi que celles compressées en JPEG, JPEG-LS et RLE.

PARAMÈTRES

dcmfile-in  DICOM input filename to be converted ("-" for stdin)

bitmap-out  output filename to be written (default: stdout)

OPTIONS

options générales

-h --help
affiche cette aide et quitte
--version
affiche les informations de version et quitte
--arguments
affiche les arguments de ligne de commande développés
-q --quiet
mode silencieux, n'affiche ni avertissements ni erreurs
-v --verbose
mode détaillé, affiche les détails du traitement
-d --debug
mode débogage, affiche les informations de débogage
-ll --log-level [l]evel: string constant
(fatal, error, warn, info, debug, trace) utilise le niveau l pour la journalisation
-lc --log-config [f]ilename: string
utilise le fichier de configuration f pour le journal

options d'entrée

+f --read-file
lit le format de fichier ou le jeu de données (par défaut)
+fo --read-file-only
lit uniquement le format de fichier
-f --read-dataset
lit un jeu de données sans informations de méta-fichier, syntaxe de transfert d'entrée :
-t= --read-xfer-auto
utilise la reconnaissance de la TS (par défaut)
-td --read-xfer-detect
ignore la TS spécifiée dans l'en-tête du méta-fichier
-te --read-xfer-little
lit avec la TS explicit VR little endian
-tb --read-xfer-big
lit avec la TS explicit VR big endian
-ti --read-xfer-implicit
lit avec la TS implicit VR little endian

options de traitement d'image

+F --frame [n]umber: integer
sélectionne l'image spécifiée (par défaut : 1)
+Fr --frame-range [n]umber [c]ount: integer
sélectionne c images à partir de l'image n
+Fa --all-frames
sélectionne toutes les images rotation :
+Rl --rotate-left
fait pivoter l'image vers la gauche (-90 degrés)
+Rr --rotate-right
fait pivoter l'image vers la droite (+90 degrés)
+Rtd --rotate-top-down
fait pivoter l'image de haut en bas (180 degrés) retournement :
+Lh --flip-horizontally
retourne l'image horizontalement
+Lv --flip-vertically
retourne l'image verticalement
+Lhv --flip-both-axes
retourne l'image horizontalement et verticalement mise à l'échelle :
+a --recognize-aspect
tient compte du rapport d'aspect des pixels lors de la mise à l'échelle (par défaut)
-a --ignore-aspect
ignore le rapport d'aspect des pixels lors de la mise à l'échelle
+i --interpolate [n]umber of algorithm: integer
utilise l'interpolation lors de la mise à l'échelle (1..4, par défaut : 1)
-i --no-interpolation
aucune interpolation lors de la mise à l'échelle
-S --no-scaling
aucune mise à l'échelle, ignore le rapport d'aspect des pixels (par défaut)
+Sxf --scale-x-factor [f]actor: float
met l'axe x à l'échelle selon le facteur, calcule automatiquement l'axe y
+Syf --scale-y-factor [f]actor: float
met l'axe y à l'échelle selon le facteur, calcule automatiquement l'axe x
+Sxv --scale-x-size [n]umber: integer
met l'axe x à l'échelle à n pixels, calcule automatiquement l'axe y
+Syv --scale-y-size [n]umber: integer
met l'axe y à l'échelle à n pixels, calcule automatiquement l'axe x conversion d'espace colorimétrique (images JPEG compressées uniquement) :
+cp --conv-photometric
convertit si l'interprétation photométrique est YCbCr (par défaut)
+cl --conv-lossy
convertit YCbCr en RGB si JPEG avec perte
+cg --conv-guess
convertit en RGB si la bibliothèque suppose du YCbCr
+cgl --conv-guess-lossy
convertit en RGB si JPEG avec perte et que la bibliothèque JPEG sous-jacente suppose du YCbCr
+ca --conv-always
convertit toujours YCbCr en RGB
+cn --conv-never
ne convertit jamais l'espace colorimétrique bits stored :
+bs --bits-stored-fix
corrige une valeur bits stored incohérente (par défaut) # Si la valeur de BitsStored dans le bitstream compressé est # inférieure à la valeur du jeu de données DICOM, met à jour la valeur # du jeu de données (images JPEG compressées uniquement)
-bs --bits-stored-keep
conserve une valeur bits stored incohérente # Conserve la valeur de BitsStored même en cas d'incohérence avec le # bitstream compressé. Cela peut aider à décoder correctement # certaines images défectueuses (images JPEG compressées uniquement) options de contournement pour des encodages incorrects (images JPEG compressées uniquement) :
+w6 --workaround-pred6
active le contournement pour les images JPEG lossless avec débordement du prédicteur 6 # Des images DICOM à 16 bits/pixel ont été observées "dans la nature" # et sont compressées en JPEG lossless et nécessitent un traitement # particulier, car l'encoder a produit un débordement d'entier 16 bits # dans le prédicteur 6, qu'il faut compenser (reproduire) pendant la # décompression. Cette option permet une décompression correcte de ces # images défectueuses, mais provoquera en même temps une décompression # incorrecte des images correctement compressées. À utiliser avec précaution.
+wi --workaround-incpl
active le contournement pour des données JPEG incomplètes # Cette option amène dcm2img à ignorer les données JPEG incomplètes # en fin de fragment compressé et à commencer la décompression de # l'image suivante à partir du fragment suivant (s'il existe). Cela # permet de décoder des images dont les données JPEG sont incomplètes.
+wc --workaround-cornell
active le contournement pour les images Cornell JPEG lossless 16 bits avec débordement de la table de Huffman # L'une des toutes premières implémentations open source de la # compression JPEG lossless, la bibliothèque "Cornell", comporte un # bogue bien connu qui produit des valeurs invalides dans la table de # Huffman lors de la compression d'images à 16 bits/échantillon. Cette # option active un contournement qui permet de décoder correctement de # telles images.transformation LUT de modalité :
-M --no-modality
ignore la transformation LUT de modalité stockée
+M --use-modality
utilise la transformation LUT de modalité (par défaut) transformation LUT VOI :
-W --no-windowing
aucun fenêtrage VOI (par défaut)
+Wi --use-window [n]umber: integer
utilise la n-ième fenêtre VOI du fichier image
+Wl --use-voi-lut [n]umber: integer
utilise la n-ième table de correspondance VOI du fichier image
+Wm --min-max-window
calcule la fenêtre VOI avec l'algorithme min-max
+Wn --min-max-window-n
calcule la fenêtre VOI avec l'algorithme min-max, en ignorant les valeurs extrêmes
+Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer
calcule la fenêtre ROI avec l'algorithme min-max, la région d'intérêt est spécifiée par l,t,w,h
+Wh --histogram-window [n]umber: integer
calcule la fenêtre VOI avec l'algorithme Histogram, en ignorant n pour cent
+Ww --set-window [c]enter [w]idth: float
calcule la fenêtre VOI en utilisant le centre c et la largeur w
+Wfl --linear-function
définit la fonction LUT VOI sur LINEAR
+Wfs --sigmoid-function
définit la fonction LUT VOI sur SIGMOID transformation LUT de présentation :
+Pid --identity-shape
définit la forme LUT de présentation sur IDENTITY
+Piv --inverse-shape
définit la forme LUT de présentation sur INVERSE
+Pod --lin-od-shape
définit la forme LUT de présentation sur LIN OD overlay :
-O --no-overlays
n'affiche pas les overlays
+O --display-overlay [n]umber: integer
affiche l'overlay n (0..16, 0=tous, par défaut : +O 0)
+Omr --ovl-replace
utilise le mode overlay "Replace" (par défaut pour les overlays Graphic)
+Omt --ovl-threshold
utilise le mode overlay "Threshold Replace"
+Omc --ovl-complement
utilise le mode overlay "Complement"
+Omv --ovl-invert
utilise le mode overlay "Invert Bitmap"
+Omi --ovl-roi
utilise le mode overlay "Region of Interest" (par défaut pour les overlays ROI)
+Osf --set-foreground [d]ensity: float
définit la densité de premier plan de l'overlay (0..1, par défaut : 1)
+Ost --set-threshold [d]ensity: float
définit la densité de seuil de l'overlay (0..1, par défaut : 0.5) transformation LUT d'affichage :
+Dm --monitor-file [f]ilename: string
calibre la sortie selon les caractéristiques du moniteur définies dans f
+Dp --printer-file [f]ilename: string
calibre la sortie selon les caractéristiques de l'imprimante définies dans f
+Da --ambient-light [a]mbient light: float
valeur de lumière ambiante (cd/m^2, par défaut : fichier f)
+Di --illumination [i]llumination: float
valeur d'illumination (cd/m^2, par défaut : fichier f)
+Dn --min-density [m]inimum optical density: float
valeur Dmin (par défaut : off, uniquement avec +Dp)
+Dx --max-density [m]aximum optical density: float
valeur Dmax (par défaut : off, uniquement avec +Dp)
+Dg --gsd-function
utilise GSDF pour la calibration (par défaut pour +Dm/+Dp)
+Dc --cielab-function
utilise la fonction CIELAB pour la calibration compatibilité :
+Ma --accept-acr-nema
accepte les images ACR-NEMA sans interprétation photométrique
+Mp --accept-palettes
accepte les tags d'attribut de palette incorrects (0028,111x) et (0028,121x)
+Mc --check-lut-depth
vérifie la 3e valeur du descripteur LUT, la compare à la profondeur de bits attendue d'après les données LUT
+Mm --ignore-mlut-depth
ignore la 3e valeur du descripteur LUT de modalité, détermine automatiquement le nombre de bits par entrée de table
+Mv --ignore-vlut-depth
ignore la 3e valeur du descripteur LUT VOI, détermine automatiquement le nombre de bits par entrée de table format TIFF :
+Tl --compr-lzw
compression LZW (par défaut)
+Tr --compr-rle
compression RLE
+Tn --compr-none
non compressé
+Pd --predictor-default
aucun prédicteur LZW (par défaut)
+Pn --predictor-none
prédicteur LZW 1 (aucune prédiction)
+Ph --predictor-horz
prédicteur LZW 2 (différenciation horizontale)
+Rs --rows-per-strip [r]ows: integer (default: 0)
lignes par bande, 8 Ko par bande par défaut format PNG :
+il --interlace
crée un fichier entrelacé (par défaut)
-il --nointerlace
crée un fichier non entrelacé
+mf --meta-file
crée des méta-informations de fichier PNG (par défaut)
-mf --meta-none
ne crée pas de méta-informations de fichier PNG format JPEG :
+Jq --compr-quality [q]uality: integer (0..100, default: 90)
valeur de qualité pour la compression (en pourcentage)
+Js4 --sample-444
échantillonnage 4:4:4 (aucun sous-échantillonnage)
+Js2 --sample-422
sous-échantillonnage 4:2:2 (sous-échantillonnage horizontal des composantes de chrominance, par défaut)
+Js1 --sample-411
sous-échantillonnage 4:1:1 (sous-échantillonnage horizontal et vertical des composantes de chrominance) format JPEG-LS :
+Trl --rendered-lossless
compression sans perte de l'image rendue (par défaut)
+Tll --true-lossless
compression sans perte de l'image brute
+f8 --force-8-bit
force la profondeur de bits de sortie à 8 bits (incompatible avec --true-lossless) autres transformations :
+G --grayscale
convertit une image couleur en niveaux de gris (monochrome)
+P --change-polarity
inverse la polarité (inverse la sortie des pixels)
+C --clip-region [l]eft [t]op [w]idth [h]eight: integer
découpe une région de l'image (l, t, w, h)

options de sortie

-im --image-info
affiche les détails de l'image (nécessite le mode détaillé)
-o --no-output
ne crée aucune sortie (utile avec -im) génération de nom de fichier (uniquement avec --frame-range ou --all-frames) :
+Fc --use-frame-counter
utilise un compteur commençant à 0 pour les noms de fichiers (par défaut)
+Fn --use-frame-number
utilise le numéro d'image absolu pour les noms de fichiers format d'image :
+oa --write-auto
détermine le format de fichier d'après l'extension du nom de fichier (par défaut pour les fichiers) # Si le nom de fichier de sortie ne contient pas d'extension ou en # contient une inconnue ou non prise en charge, un avertissement est # affiché et un fichier BMP est écrit (voir --write-bmp).
+op --write-raw-pnm
écrit un PGM/PPM binaire 8 bits
+opb --write-8-bit-pnm
écrit un PGM/PPM ASCII 8 bits (par défaut pour stdout)
+opw --write-16-bit-pnm
écrit un PGM/PPM ASCII 16 bits
+opn --write-n-bit-pnm [n]umber: integer
écrit un PGM/PPM ASCII n bits (1..32)
+ob --write-bmp
écrit un BMP 8 bits (monochrome) ou 24 bits (couleur)
+obp --write-8-bit-bmp
écrit un BMP palette 8 bits (monochrome uniquement)
+obt --write-24-bit-bmp
écrit un BMP couleurs vraies 24 bits
+obr --write-32-bit-bmp
écrit un BMP couleurs vraies 32 bits
+ot --write-tiff
écrit un TIFF 8 bits (monochrome) ou 24 bits (couleur)
+on --write-png
écrit un PNG 8 bits (monochrome) ou 24 bits (couleur)
+on2 --write-16-bit-png
écrit un PNG 16 bits (monochrome) ou 48 bits (couleur)
+oj --write-jpeg
écrit un JPEG avec perte 8 bits (baseline)
+ol --write-jpls
écrit un JPEG-LS

NOTES

On peut sélectionner l'un des algorithmes d'interpolation privilégiés suivants avec l'option –interpolate :

  • 1 = algorithme de mise à l'échelle libre avec interpolation issu du pbmplus toolkit
  • 2 = algorithme de mise à l'échelle libre avec interpolation issu du c't magazine
  • 3 = algorithme d'agrandissement avec interpolation bilinéaire d'Eduard Stanescu
  • 4 = algorithme d'agrandissement avec interpolation bicubique d'Eduard Stanescu

L'option –write-tiff n'est disponible que lorsque DCMTK a été configuré et compilé avec la prise en charge de la bibliothèque TIFF externe libtiff. La disponibilité des options de compression TIFF dépend de la configuration de libtiff.

L'option –write-png n'est disponible que lorsque DCMTK a été configuré et compilé avec la prise en charge de la bibliothèque PNG externe libpng. L'option –interlace permet un affichage progressif pendant le chargement du fichier PNG. Seules quelques applications tiennent compte des méta-informations (TEXT) présentes dans un fichier PNG.

SYNTAXES DE TRANSFERT

dcm2img prend en charge les syntaxes de transfert suivantes en entrée (dcmfile-in) :

LittleEndianImplicitTransferSyntax             1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax             1.2.840.10008.1.2.1
DeflatedExplicitVRLittleEndianTransferSyntax   1.2.840.10008.1.2.1.99 (*)
BigEndianExplicitTransferSyntax                1.2.840.10008.1.2.2
JPEGLSLosslessTransferSyntax                   1.2.840.10008.1.2.4.80
JPEGLSLossyTransferSyntax                      1.2.840.10008.1.2.4.81
JPEGProcess10_12TransferSyntax                 1.2.840.10008.1.2.4.55
JPEGProcess14SV1TransferSyntax                 1.2.840.10008.1.2.4.70
JPEGProcess14TransferSyntax                    1.2.840.10008.1.2.4.57
JPEGProcess1TransferSyntax                     1.2.840.10008.1.2.4.50
JPEGProcess2_4TransferSyntax                   1.2.840.10008.1.2.4.51
JPEGProcess6_8TransferSyntax                   1.2.840.10008.1.2.4.53
RLELosslessTransferSyntax                      1.2.840.10008.1.2.5

(*) si compilé avec la prise en charge de zlib activée

JOURNALISATION

Le niveau de détail de la journalisation des différents outils en ligne de commande et des bibliothèques sous-jacentes peut être spécifié par l'utilisateur. Par défaut, seules les erreurs et les avertissements sont écrits dans le flux d'erreur standard. L'option –verbose permet également de signaler des messages d'information tels que les détails du traitement. L'option –debug permet d'obtenir plus de détails sur l'activité interne, par exemple à des fins de débogage. L'option –log-level permet de sélectionner d'autres niveaux de journalisation. En mode –quiet, seules les erreurs fatales sont signalées. Dans de tels cas d'erreur très graves, l'application se termine généralement. Pour plus de détails sur les différents niveaux de journalisation, consultez la documentation du module "oflog".

Si la sortie de la journalisation doit être écrite dans un fichier (éventuellement avec rotation des fichiers journaux), vers syslog (Unix) ou le journal des événements (Windows), l'option –log-config peut être utilisée. Ce fichier de configuration permet également de diriger uniquement certains messages vers un flux de sortie particulier et de filtrer certains messages en fonction du module ou de l'application qui les génère. Un exemple de fichier de configuration est fourni dans < etcdir>/logger.cfg.

LIGNE DE COMMANDE

Tous les outils en ligne de commande utilisent la notation suivante pour les paramètres : les crochets entourent les valeurs facultatives (0-1), trois points de suspension à la fin indiquent que plusieurs valeurs sont autorisées (1-n), et la combinaison des deux signifie de 0 à n valeurs.

Les options de la ligne de commande se distinguent des paramètres par un signe '+' ou '-' en tête. En général, l'ordre et la position des options de la ligne de commande sont arbitraires (c'est-à-dire qu'elles peuvent apparaître n'importe où). Toutefois, si des options s'excluent mutuellement, c'est la dernière occurrence, la plus à droite, qui est utilisée. Ce comportement est conforme aux règles d'évaluation standard des shells Unix courants.

De plus, un ou plusieurs fichiers de commandes peuvent être spécifiés en utilisant un signe '@' comme préfixe du nom de fichier (par exemple @command.txt). Un tel argument de commande est remplacé par le contenu du fichier texte correspondant (les espaces multiples sont traités comme un séparateur unique, sauf s'ils apparaissent entre deux guillemets) avant toute évaluation ultérieure. Notez qu'un fichier de commandes ne peut pas contenir un autre fichier de commandes. Cette approche simple mais efficace permet de regrouper des combinaisons courantes d'options/paramètres et évite des lignes de commande longues et peu lisibles (un exemple est fourni dans le fichier < datadir>/dumppat.txt).

ENVIRONNEMENT

L'utilitaire dcm2img tentera de charger les dictionnaires de données DICOM spécifiés dans la variable d'environnement DCMDICTPATH. Par défaut, c'est-à-dire si la variable d'environnement DCMDICTPATH n'est pas définie, le fichier < datadir>/dicom.dic sera chargé, à moins que le dictionnaire ne soit intégré à l'application (par défaut sous Windows).

Il est préférable de conserver le comportement par défaut et de n'utiliser la variable d'environnement DCMDICTPATH que lorsque des dictionnaires de données alternatifs sont nécessaires. La variable d'environnement DCMDICTPATH a le même format que la variable PATH des shells Unix, en ce sens que les deux-points (":") séparent les entrées. Sur les systèmes Windows, le point-virgule (";") est utilisé comme séparateur. Le code du dictionnaire de données tente de charger chaque fichier spécifié dans la variable d'environnement DCMDICTPATH. C'est une erreur si aucun dictionnaire de données ne peut être chargé.

FICHIERS

< datadir>/camera.lut - exemple de fichier de caractéristiques d'une caméra
< datadir>/monitor.lut - exemple de fichier de caractéristiques d'un moniteur
< datadir>/printer.lut - exemple de fichier de caractéristiques d'une imprimante
< datadir>/scanner.lut - exemple de fichier de caractéristiques d'un scanner

VOIR AUSSI

img2dcm(1)

Copyright (C) 2001-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.