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
Copyright (C) 2000-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.