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

dsr2html: Restituer un fichier et un jeu de données DICOM SR en HTML/XHTML

SYNOPSIS

dsr2html [options] dsrfile-in [htmlfile-out]

DESCRIPTION

dsr2html est un utilitaire qui restitue le contenu d'un document DICOM de rapport structuré (SR) (format de fichier ou jeu de données brut) au format HTML (Hyper Text Markup Language) version 3.2 ou 4.01, ainsi qu'au format XHTML (Extensible Hyper Text Markup Language) version 1.1.

Si dsr2html lit un jeu de données brut (données DICOM sans méta-en-tête de format de fichier), il tente de deviner la syntaxe de transfert en examinant les premiers octets du fichier. Il n'est pas toujours possible de deviner correctement la syntaxe de transfert, et il est préférable de convertir un jeu de données au format de fichier chaque fois que possible (à l'aide de l'utilitaire dcmconv). Il est également possible d'utiliser les options -f et -t[ieb] pour forcer dsr2html à lire un jeu de données avec une syntaxe de transfert particulière.

PARAMÈTRES

dsrfile-in    DICOM SR input filename to be rendered ("-" for stdin)

htmlfile-out  HTML/XHTML output filename (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 la journalisation

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 le jeu de données sans les informations méta du 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 méta du 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

-Ip --processing-details
affiche l'élément de contenu en cours de traitement. gestion des erreurs :
-Er --unknown-relationship
accepte un type de relation inconnu ou manquant
-Ev --invalid-item-value
accepte une valeur d'élément de contenu invalide (par exemple une violation de la définition du VR ou du VM)
-Ec --ignore-constraints
ignore les contraintes de contenu de la relation
-Ee --ignore-item-errors
ne s'interrompt pas en cas d'erreurs sur les éléments de contenu, se contente d'avertir (par exemple des attributs spécifiques au type de valeur manquants)
-Ei --skip-invalid-items
ignore les éléments de contenu invalides (y compris la sous-arborescence)
-Dv --disable-vr-checker
désactive la vérification de la conformité des valeurs de chaîne au VR. jeu de caractères spécifique :
+Cr --charset-require
exige la déclaration d'un jeu de caractères étendu (par défaut)
+Ca --charset-assume [c]harset: string
suppose le jeu de caractères c si aucun jeu de caractères étendu n'est déclaré
--charset-check-all
vérifie tous les éléments de données ayant des valeurs de type chaîne (par défaut : uniquement PN, LO, LT, SH, ST, UC et UT) # cette option n'est utilisée que pour la vérification étendue permettant de déterminer si # l'attribut Specific Character Set (0008,0005) doit être # présent, mais pas pour la conversion en UTF-8 des valeurs # d'éléments non affectés (par exemple les valeurs d'éléments avec un VR de CS)
+U8 --convert-to-utf8
convertit en UTF-8 toutes les valeurs d'éléments concernées par Specific Character Set (0008,0005) # nécessite la prise en charge d'une # bibliothèque de codage de caractères sous-jacente (voir la sortie de --version pour savoir laquelle est disponible)

options de sortie

+H3 --html-3.2
utilise uniquement les fonctionnalités compatibles avec HTML version 3.2
+H4 --html-4.0
autorise toutes les fonctionnalités de HTML version 4.01 (par défaut)
+X1 --xhtml-1.1
respecte la spécification XHTML version 1.1
+Hd --add-document-type
ajoute une référence à la définition de type de document SGML. feuille de style en cascade (CSS), incompatible avec HTML 3.2 :
+Sr --css-reference URL: string
ajoute au document une référence vers le CSS indiqué
+Sf --css-file [f]ilename: string
intègre au document le contenu du CSS indiqué. rendu général :
+Ri --expand-inline
développe en ligne les éléments de contenu courts (par défaut)
-Ri --never-expand-inline
ne développe jamais les éléments de contenu en ligne
+Ra --always-expand-inline
développe toujours les éléments de contenu en ligne
+Rd --render-full-data
restitue toutes les données des éléments de contenu
+Rt --section-title-inline
restitue les titres de section en ligne, et non séparément
+Rh --hyperlink-url-prefix [p]refix: string
utilise le préfixe d'URL p pour les hyperliens vers les objets composites (par défaut : http://localhost/dicom.cgi). rendu du document :
+Dt --document-type-title
utilise le type de document comme titre du document (par défaut)
+Dp --patient-info-title
utilise les informations patient comme titre du document
-Dh --no-document-header
ne restitue pas les informations générales du document. rendu du code :
+Ci --render-inline-codes
restitue les codes dans des blocs de texte continus
+Cn --concept-name-codes
restitue le code des noms de concept
+Cu --numeric-unit-codes
restitue le code des unités de mesure numériques
+Cv --code-value-unit
utilise la valeur du code comme unité de mesure (par défaut)
+Cm --code-meaning-unit
utilise la signification du code comme unité de mesure
+Cc --render-all-codes
restitue tous les codes (implique +Ci, +Cn et +Cu)
+Ct --code-details-tooltip
restitue les détails du code sous forme d'infobulle (implique +Cc)

NOTES

Conformité DICOM

L'utilitaire dsr2html prend en charge les classes SOP suivantes :

SpectaclePrescriptionReportStorage           1.2.840.10008.5.1.4.1.1.78.6
MacularGridThicknessAndVolumeReportStorage   1.2.840.10008.5.1.4.1.1.79.1
BasicTextSRStorage                           1.2.840.10008.5.1.4.1.1.88.11
EnhancedSRStorage                            1.2.840.10008.5.1.4.1.1.88.22
ComprehensiveSRStorage                       1.2.840.10008.5.1.4.1.1.88.33
Comprehensive3DSRStorage                     1.2.840.10008.5.1.4.1.1.88.34
ProcedureLogStorage                          1.2.840.10008.5.1.4.1.1.88.40
MammographyCADSRStorage                      1.2.840.10008.5.1.4.1.1.88.50
KeyObjectSelectionDocumentStorage            1.2.840.10008.5.1.4.1.1.88.59
ChestCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.65
XRayRadiationDoseSRStorage                   1.2.840.10008.5.1.4.1.1.88.67
RadiopharmaceuticalRadiationDoseSRStorage    1.2.840.10008.5.1.4.1.1.88.68
ColonCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRStorage                    1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage                  1.2.840.10008.5.1.4.1.1.88.71
SimplifiedAdultEchoSRStorage                 1.2.840.10008.5.1.4.1.1.88.72
PatientRadiationDoseSRStorage                1.2.840.10008.5.1.4.1.1.88.73
PlannedImagingAgentAdministrationSRStorage   1.2.840.10008.5.1.4.1.1.88.74
PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75
WaveformAnnotationSRStorage                  1.2.840.10008.5.1.4.1.1.88.77

RenditionSelectionDocumentRealTimeCommunication 1.2.840.10008.10.4 (*)

(*) Il ne s'agit pas d'une classe SOP de stockage, mais elle est utilisée pour la Real-Time Communication.

Encodage des caractères

L'encodage HTML/XHTML est déterminé automatiquement à partir de l'attribut DICOM (0008,0005) "Specific Character Set", selon la correspondance suivante :

ASCII         (ISO_IR 6)                       =>  (none)
UTF-8         "ISO_IR 192"                     =>  "UTF-8"
ISO Latin 1   "ISO_IR 100"                     =>  "ISO-8859-1"
ISO Latin 2   "ISO_IR 101"                     =>  "ISO-8859-2"
ISO Latin 3   "ISO_IR 109"                     =>  "ISO-8859-3"
ISO Latin 4   "ISO_IR 110"                     =>  "ISO-8859-4"
ISO Latin 5   "ISO_IR 148"                     =>  "ISO-8859-9"
ISO Latin 9   "ISO_IR 203"                     =>  "ISO-8859-15"
Cyrillic      "ISO_IR 144"                     =>  "ISO-8859-5"
Arabic        "ISO_IR 127"                     =>  "ISO-8859-6"
Greek         "ISO_IR 126"                     =>  "ISO-8859-7"
Hebrew        "ISO_IR 138"                     =>  "ISO-8859-8"
Thai          "ISO_IR 166"                     =>  "TIS-620"
Japanese      "ISO 2022 IR 13\ISO 2022 IR 87"  =>  "ISO-2022-JP"
Korean        "ISO 2022 IR 6\ISO 2022 IR 149"  =>  "ISO-2022-KR"
Chinese       "ISO 2022 IR 6\ISO 2022 IR 58"   =>  "ISO-2022-CN"
Chinese       "GB18030"                        =>  "GB18030"
Chinese       "GBK"                            =>  "GBK"

Si cet attribut DICOM est absent du fichier d'entrée alors qu'il est nécessaire, l'option –charset-assume peut être utilisée pour spécifier manuellement un jeu de caractères approprié (en utilisant l'un des termes définis par DICOM). Pour des raisons de rétrocompatibilité avec les versions antérieures de cet outil, les termes suivants sont également pris en charge et automatiquement associés aux termes DICOM correspondants : latin-1, latin-2, latin-3, latin-4, latin-5, latin-9, cyrillic, arabic, greek, hebrew.

L'option –convert-to-utf8 peut être utilisée pour convertir le fichier ou le jeu de données DICOM en encodage UTF-8 avant le rendu au format HTML/XHTML.

Sécurité

Veuillez noter que l'utilisation de l'une des options –css-reference, –css-file ou –hyperlink-url-prefix peut entraîner des problèmes de sécurité, car un attaquant pourrait en détourner l'usage pour injecter du contenu dangereux dans la sortie HTML/XHTML. Les valeurs passées à ces options ne sont pas vérifiées, ni l'URL et le préfixe, ni le contenu du fichier CSS indiqué.

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 dsr2html 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é.

Selon les options de ligne de commande spécifiées, l'utilitaire dsr2html tente de charger des tables de correspondance de jeux de caractères. Cela se produit lorsque DCMTK a été compilé avec la bibliothèque oficonv (ce qui est le cas par défaut) et que les tables de correspondance ne sont pas intégrées à la bibliothèque (par défaut lorsque DCMTK utilise des bibliothèques partagées).

Les fichiers de tables de correspondance sont attendus dans le < datadir> de DCMTK. La variable d'environnement DCMICONVPATH peut être utilisée pour indiquer un autre emplacement. Si un autre emplacement est indiqué, ces tables de correspondance remplacent également toutes les tables intégrées.

FICHIERS

< datadir>/report.css - Exemple de feuille de style en cascade pour le HTML
< datadir>/reportx.css - Exemple de feuille de style en cascade pour le XHTML

VOIR AUSSI

dcmconv(1)

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