⚠️ 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/dump2dcm.html).

dump2dcm: convertir un dump ASCII en fichier DICOM

SYNOPSIS

dump2dcm [options] dumpfile-in dcmfile-out

DESCRIPTION

dump2dcm est un utilitaire qui convertit un fichier de dump ASCII en fichier DICOM. Le fichier de dump a le même format que la sortie de dcmdump. Il est ainsi possible de capturer la sortie de dcmdump dans un fichier, de modifier certains attributs et de créer un nouveau fichier DICOM.

PARAMÈTRES

dumpfile-in  dump input filename

dcmfile-out  DICOM output filename ("-" for 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 la journalisation

options d'entrée

+f --read-meta-info
lit les informations méta si présentes (par défaut)
-f --ignore-meta-info
ignore les informations méta du fichier. ordre des octets du contenu du fichier :
+rl --read-file-little
lit les données OW en little endian (par défaut)
+rb --read-file-big
lit les données OW du fichier en big endian. autres options d'entrée :
+l --line [m]ax-length: integer
longueur de ligne maximale m (par défaut : 4096)

options de traitement

+Ug --generate-new-uids
génère un nouveau Study/Series/SOP Instance UID
-Uo --dont-overwrite-uids
n'écrase pas les UID existants (par défaut)
+Uo --overwrite-uids
écrase les UID existants

options de sortie

+F --write-file
écrit le format de fichier (par défaut)
-F --write-dataset
écrit le jeu de données sans les informations méta du fichier
+Fu --update-meta-info
met à jour certaines informations méta du fichier. syntaxe de transfert de sortie :
+t= --write-xfer-same
écrit avec la même TS que l'entrée (par défaut)
+te --write-xfer-little
écrit avec explicit VR little endian
+tb --write-xfer-big
écrit avec la TS explicit VR big endian
+ti --write-xfer-implicit
écrit avec la TS implicit VR little endian
+td --write-xfer-deflated
écrit avec la TS explicit VR little endian deflate. gestion des erreurs :
-E --stop-on-error
n'écrit pas si le dump est endommagé (par défaut)
+E --ignore-errors
tente d'écrire même si le dump est endommagé. représentations de valeur postérieures à 1993 :
+u --enable-new-vr
active la prise en charge des nouvelles VR (UN/UT) (par défaut)
-u --disable-new-vr
désactive la prise en charge des nouvelles VR, convertit en OB. encodage de la longueur de groupe :
+g= --group-length-recalc
recalcule les longueurs de groupe si elles sont présentes (par défaut)
+g --group-length-create
écrit toujours avec les éléments de longueur de groupe
-g --group-length-remove
écrit toujours sans les éléments de longueur de groupe. encodage de la longueur dans les séquences et les items :
+e --length-explicit
écrit avec des longueurs explicites (par défaut)
-e --length-undefined
écrit avec des longueurs non définies. remplissage de fin de jeu de données (absent avec --write-dataset) :
-p= --padding-retain
ne modifie pas le remplissage (par défaut si --write-dataset n'est pas utilisé)
-p --padding-off
aucun remplissage (implicite avec --write-dataset)
+p --padding-create [f]ile-pad [i]tem-pad: integer
aligne le fichier sur un multiple de f octets et les items sur un multiple de i octets. niveau de compression deflate (uniquement avec --write-xfer-deflated) :
+cl --compression-level [l]evel: integer (default: 6)
0=non compressé, 1=le plus rapide, 9=meilleure compression

NOTES

Description du fichier de dump

Le fichier d'entrée peut être une sortie de dcmdump (uniquement au format indenté par défaut). Un élément (tag, VR, valeur) doit être écrit sur une seule ligne, ses parties étant séparées par un nombre quelconque d'espaces ou de tabulations. Un '#' commence un commentaire qui se termine à la fin de la ligne. Les lignes vides sont autorisées.

Les différentes parties d'une ligne suivent la syntaxe suivante :

Tag:   (gggg,eeee)
       with gggg and eeee are 4 character hexadecimal values
       representing group and element tag.  Spaces and tabs can be
       anywhere in a tag specification.
VR:    Value Representation must be written as 2 characters as in
       Part 6 of the DICOM standard.  No spaces or tabs are allowed
       between the two characters.  If the VR can be determined from
       the tag, this part of a line is optional.
Value: There are several rules for writing values:
       1. US, SS, UL, SL, UV, SV, FD, FL, OD, OF, OL and OV are written
          as decimal strings that can be read by scanf().
       2. AT is written as '(gggg,eeee)' with additional spaces
          stripped off automatically and gggg and eeee being decimal
          strings that can be read by scanf().
       3. OB and OW values are written as byte or word hexadecimal
          values separated by '\' character.  Alternatively, OB or OW
          values can be read from a separate file by writing the
          filename prefixed by a '=' character (e.g. '=largepix.dat').
          The contents of the file will be read as is.  By default, OW
          data is expected to be little endian ordered and will be
          swapped if necessary.  No checks will be made to ensure that
          the amount of data is reasonable in terms of other attributes
          such as Rows or Columns.
          In case of compressed pixel data, the line should start with
          '(7fe0,0010) OB (PixelSequence' in order to distinguish from
          uncompressed pixel data.
       4. UI is written as '=Name' in data dictionary or as unique
          identifier string (see 6.), e.g. '[1.2.840.....]'.
       5. Strings without () <> [] spaces, tabs and # can be written
          directly.
       6. Other strings must be surrounded by '[' and ']'.  No bracket
          structure is passed.  The value ends at the last ']' in the
          line.  Anything after the ']' is interpreted as comment.
       7. '(' and '<' are interpreted special and may not be used when
          writing an input file by hand as beginning characters of a
          string.  Multiple Value are separated by '\'.  The lines
          need not be sorted into ascending tag order.  References in
          DICOM Directories are not supported.  Semantic errors are
          not detected.

Exemples

Les lignes suivantes montrent des exemples valides de la syntaxe décrite ci-dessus :

 (0008,0020) DA [19921012]            #  8, 1 StudyDate
 (0008,0016) UI =MRImageStorage       # 26, 1 SOPClassUID
 (0002,0012) UI [1.2.276.0.7230010.100.1.1]
 (0020,0032) DS [0.0\0.0]             #  8, 2 ImagePositionPatient
 (0028,0009) AT (3004,000c)           #  4, 1 FrameIncrementPointer
 (0028,0010) US 256                   #  4, 1 Rows
 (0002,0001) OB 01\00

Limitations

Notez qu'à ce jour, dump2dcm ne prend pas encore totalement en charge les fichiers DICOMDIR. Plus précisément, la valeur des différents éléments de données de décalage n'est pas mise à jour automatiquement par cet outil.

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 dump2dcm tente 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 est chargé, sauf si le dictionnaire est 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é.

VOIR AUSSI

dcmdump(1)

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