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

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