dcmmklut: création de tables de correspondance DICOM
SYNOPSIS
dcmmklut [options] dcmimg-out
DESCRIPTION
dcmmklut est un utilitaire qui permet de créer différentes tables de correspondance (LUT) DICOM de type Modality, Presentation et VOI, destiné à la création d'images de test. L'utilitaire est capable de lire un fichier image DICOM existant, de créer une table de correspondance selon les options de ligne de commande, puis de réécrire le nouvel objet dans un fichier. Il est également possible de créer un nouvel objet contenant la LUT spécifiée sans lire de fichier image DICOM existant, ce qui est par exemple utile pour simplement stocker différentes tables de correspondance dans une structure de type DICOM. Par défaut, le fichier de sortie est encodé avec la même syntaxe de transfert que le fichier d'entrée, mais la syntaxe de transfert peut également être spécifiée au moyen d'une option de ligne de commande.
Les données de la LUT peuvent être dérivées de la forme d'une courbe gamma (la valeur par défaut du facteur gamma est 1) ou importées depuis un fichier (le format MAP de PhotoImpact d'Ulead et un format texte simple sont actuellement pris en charge). La largeur d'entrée et de sortie de la LUT peut également être spécifiée dans la plage autorisée par la norme DICOM. L'interpolation de la plage d'entrée est effectuée au moyen d'un algorithme d'ajustement de courbe polynomiale.
Outre le fichier de sortie DICOM, les données de la LUT peuvent également être exportées vers un fichier texte tabulé, ce qui permet de visualiser facilement les courbes avec une application de tableur courante (par exemple Microsoft Excel).
PARAMÈTRES
dcmimg-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 de création de LUT
+Tm --modality- crée en tant que Modality LUT
+Tp --presentation- crée en tant que Presentation LUT
+Tv --voi- crée en tant que VOI LUT (par défaut) positionnement de la LUT :
+Pa --add- ajoute à la transformation existante (par défaut uniquement avec --voi)
+Pr --replace- remplace la transformation existante (par défaut pour --modality et --presentation) contenu de la LUT :
+Cg --gamma [g]amma: float- utilise la valeur gamma (par défaut : 1.0)
+Cm --map-file [f]ilename: string- lit les données d'entrée depuis un fichier MAP
+Ct --text-file [f]ilename: string- lit les données d'entrée depuis un fichier texte options de la LUT :
+Og --inverse-gsdf- applique la GSDF inverse (exprime la Presentation LUT en OD)
--min-density [v]alue: integer (0..65535, default: 20)- définit la densité minimale à v (en centièmes d'OD)
--max-density [v]alue: integer (0..65535, default: 300)- définit la densité maximale à v (en centièmes d'OD)
+Oi --illumination [v]alue: integer (0..65535, default: 2000)- définit l'illumination à v (en cd/m^2)
+Or --reflection [v]alue: integer (0..65535, default: 10)- définit la lumière ambiante réfléchie à v (en cd/m^2) structure de la LUT :
-b --bits [n]umber: integer- crée une LUT avec des valeurs de n bits (8..16, par défaut : 16)
-e --entries [n]umber: integer- crée une LUT avec n entrées (1..65536, par défaut : 256)
-f --first-mapped [n]umber: integer- première valeur d'entrée mise en correspondance (-31768..65535, par défaut : 0)
-r --random [n]umber: unsigned integer- effectue n permutations aléatoires sur la LUT
-rs --random-seed [n]umber: unsigned integer- initialise le générateur de nombres aléatoires avec n (par défaut : 0, pour des résultats reproductibles)
-o --order [n]umber: integer- utilise un algorithme d'ajustement de courbe polynomiale d'ordre n (0..99, par défaut : 5)
-E --explanation [n]ame: string- explication de la LUT (par défaut : créée automatiquement) alignement des données de la LUT :
-a --byte-align- crée une LUT alignée sur l'octet (par défaut uniquement avec des valeurs de 8 bits)
+a --word-align- crée une LUT alignée sur le mot (par défaut pour les valeurs de 9 à 16 bits) VR des données de la LUT :
+Dw --data-ow- écrit les données de la LUT en OW (par défaut)
+Du --data-us- écrit les données de la LUT en US
+Ds --data-ss- écrit les données de la LUT en SS (prise en charge minimale)
options de fichier
+Fi --dicom-input [f]ilename: string- lit le jeu de données depuis le fichier DICOM f
+Fo --text-output [f]ilename: string- écrit les données de la LUT dans le fichier texte tabulé f
NOTES
Consultez la norme DICOM pour connaître les autres restrictions applicables à la structure des tables de correspondance. En particulier, le nombre de bits par entrée de table peut être limité dans certains IOD.
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 dcmmklut 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é.
FICHIERS
< datadir>/philips.lut - exemple de LUT au format texte
COPYRIGHT
Copyright (C) 1998-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.