dcmcjpls: Encoder un fichier DICOM vers la syntaxe de transfert JPEG-LS
SYNOPSIS
dcmcjpls [options] dcmfile-in dcmfile-out
DESCRIPTION
L'utilitaire dcmcjpls lit une image DICOM non compressée (dcmfile-in), effectue une compression JPEG-LS (c'est-à-dire une conversion vers une syntaxe de transfert DICOM encapsulée) et écrit l'image convertie dans un fichier de sortie (dcmfile-out).
PARAMÈTRES
dcmfile-in DICOM input filename to be converted ("-" for stdin)
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 le journal
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 un jeu de données sans informations de méta-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 du méta-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 d'encodage JPEG-LS
+el --encode-lossless- encode la TS JPEG-LS sans perte uniquement (par défaut) # Cette option sélectionne la syntaxe de transfert JPEG-LS sans perte uniquement # et effectue une compression sans perte.
+en --encode-nearlossless- encode la TS JPEG-LS quasi sans perte (NEAR: 2) # Cette option sélectionne la syntaxe de transfert JPEG-LS avec perte # et effectue une compression quasi sans perte. Débit binaire JPEG-LS (quasi sans perte uniquement) :
+md --max-deviation [d]eviation: integer (default: 2)- définit l'écart maximal pour un pixel encodé # Cette option précise l'écart maximal pour un pixel unique par rapport # à la valeur de pixel d'origine. compression sans perte :
+pr --prefer-raw- préfère le mode encoder raw (par défaut) # Cette option active l'encoder raw. L'encoder raw encode la # cellule de pixel complète telle qu'elle a été lue depuis l'image source # sans effectuer aucune modification.
+pc --prefer-cooked- préfère le mode encoder cooked # Cette option active l'encoder cooked. L'encoder cooked déplace les # données d'overlay vers des tags séparés (60xx,3000) et encode uniquement les # bits stockés de chaque pixel. compression JPEG-LS :
+t1 --threshold1 [t]hreshhold: integer- définit le paramètre d'encodage JPEG-LS threshold 1
+t2 --threshold2 [t]hreshhold: integer- définit le paramètre d'encodage JPEG-LS threshold 2
+t3 --threshold3 [t]hreshhold: integer- définit le paramètre d'encodage JPEG-LS threshold 3 # Par défaut, les valeurs de T1, T2, T3 sont calculées en fonction # du nombre de bits par échantillon.
+rs --reset [r]eset: integer (default: 64)- définit le paramètre d'encodage JPEG-LS reset entrelacement JPEG-LS :
+il --interleave-line- force les images JPEG-LS entrelacées par ligne (par défaut) # Cet indicateur force le mode entrelacé par ligne pour l'image résultante. # En mode entrelacé par ligne, chaque ligne de l'image source est # compressée séparément pour chaque composante, puis la ligne suivante # est encodée.
+is --interleave-sample- force les images JPEG-LS entrelacées par échantillon # Cet indicateur force le mode entrelacé par échantillon pour l'image résultante. # En mode entrelacé par échantillon, les composantes de chaque pixel sont encodées avant # l'encodage du pixel suivant.
+iv --interleave-default- utilise le mode d'entrelacement le plus rapide possible # Cet indicateur sélectionne un mode d'entrelacement basé sur le mode de l'image source. # Si possible, l'image n'est pas convertie vers un autre mode d'entrelacement. Remplissage JPEG-LS des bitstreams de longueur impaire :
+ps --padding-standard- remplit avec un marqueur EOI étendu (par défaut) # Remplit les bitstreams JPEG-LS de longueur impaire en écrivant un marqueur de fin # d'image étendu FF FF D9, comme l'exige la norme DICOM.
+pz --padding-zero- remplit avec un octet zéro (non standard) # Remplit les bitstreams JPEG-LS de longueur impaire en écrivant un octet zéro après le # marqueur de fin de segment d'image, c'est-à-dire FF D9 00. Ceci n'est pas conforme à DICOM # mais requis pour l'interopérabilité avec l'implémentation de référence HP LOCO, # qui ne prend pas en charge les bitstreams JPEG-LS étendus.
options d'encodage des données de pixels encapsulées
+ff --fragment-per-frame- encode chaque image sous forme d'un seul fragment (par défaut) # Cette option entraîne la création d'un fragment compressé pour chaque # image (recommandé).
+fs --fragment-size [s]ize: integer- limite la taille de fragment à s Ko # Cette option limite la taille de fragment, ce qui peut entraîner la création de # plusieurs fragments par image. encodage de la table de décalage de base :
+ot --offset-table-create- crée la table de décalage (par défaut) # Cette option entraîne la création d'une table de décalage valide pour les # fragments JPEG compressés.
-ot --offset-table-empty- laisse la table de décalage vide # Cette option entraîne la création d'une table de décalage vide # pour les fragments JPEG compressés. SOP Class UID :
+cd --class-default- conserve le SOP Class UID (par défaut) # Conserve le SOP Class UID de l'image source.
+cs --class-sc- convertit en Secondary Capture Image (implique --uid-always) # Convertit l'image en Secondary Capture. En plus du SOP Class # UID, tous les attributs requis pour une image Secondary Capture valide sont # ajoutés. Un nouveau SOP instance UID est toujours attribué. SOP Instance UID :
+ud --uid-default- attribue un nouveau UID en cas de compression avec perte (par défaut) # Attribue un nouveau SOP instance UID si la compression est JPEG-LS avec perte.
+ua --uid-always- attribue toujours un nouveau UID # Attribue sans condition un nouveau SOP instance UID.
+un --uid-never- n'attribue jamais de nouveau UID # N'attribue jamais de nouveau SOP instance UID.
options de sortie
+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 présentes (par défaut)
+g --group-length-create- écrit toujours avec des éléments de longueur de groupe
-g --group-length-remove- écrit toujours sans éléments de longueur de groupe encodage de la longueur dans les séquences et les éléments :
+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 :
-p= --padding-retain- ne modifie pas le remplissage (par défaut)
-p --padding-off- aucun remplissage
+p --padding-create [f]ile-pad [i]tem-pad: integer- aligne le fichier sur un multiple de f octets et les éléments sur un multiple de i octets
NOTES
L'utilitaire dcmcjpls compresse les images DICOM de toutes les classes SOP. Il traite tous les éléments Pixel Data (7fe0,0010) du jeu de données, c'est-à-dire que la compression est également effectuée sur une image-icône. Cependant, dcmcjpls ne cherche pas à garantir que l'image compressée respecte encore toutes les restrictions de l'IOD de l'objet.
Il incombe à l'utilisateur de s'assurer que les images compressées qu'il crée sont conformes à la norme DICOM. En cas de doute, l'utilitaire dcmcjpls permet de convertir une image en Secondary Capture — cette classe SOP n'impose pas les restrictions mentionnées ci-dessus.
SYNTAXES DE TRANSFERT
dcmcjpls prend en charge les syntaxes de transfert suivantes en entrée (dcmfile-in) :
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*)
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
(*) si compilé avec la prise en charge de zlib activée
dcmcjpls prend en charge les syntaxes de transfert suivantes en sortie (dcmfile-out) :
JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80
JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81
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 dcmcjpls tentera 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 sera chargé, à moins que le dictionnaire ne soit 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
dcmdjpls(1)
COPYRIGHT
Copyright (C) 2009-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.