storescp: SCP de stockage DICOM (C-STORE)
SYNOPSIS
storescp [options] [port]
DESCRIPTION
storescp est une application qui implémente un fournisseur de classe de service (SCP) pour la classe de service de stockage. Elle écoute sur un port TCP/IP donné les demandes d'association entrantes provenant d'un utilisateur de classe de service de stockage (SCU) et peut recevoir aussi bien des images DICOM que d'autres objets composites DICOM. L'application storescp prend également en charge la classe de service de vérification en tant que SCP.
PARAMÈTRES
port tcp/ip port number to listen on
(this parameter is required unless the --inetd option is specified)
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
+v --verbose-pc- affiche les contextes de présentation en mode détaillé
options multiprocessus
--single-process- mode mono-processus (par défaut)
--fork- crée un processus enfant par fork() pour chaque association
--max-associations [m]ax: integer (default: unlimited)- limite le nombre d'associations parallèles à m
options réseau
-i4 --ipv4- utilise IPv4 uniquement (par défaut)
-i6 --ipv6- utilise IPv6 uniquement
-i0 --ip-auto- utilise le profil de négociation d'association à double pile IPv6/IPv4 issu du fichier de configuration :
-xf --config-file [f]ilename [p]rofile: string- utilise le profil p du fichier de configuration f. syntaxes de transfert réseau préférées (incompatible avec --config-file) :
+x= --prefer-uncompr- préfère l'explicit VR avec l'ordre d'octets local (par défaut)
+xe --prefer-little- préfère la TS explicit VR little endian
+xb --prefer-big- préfère la TS explicit VR big endian
+xs --prefer-lossless- préfère la TS JPEG lossless par défaut
+xy --prefer-jpeg8- préfère la TS JPEG lossy par défaut pour les données 8 bits
+xx --prefer-jpeg12- préfère la TS JPEG lossy par défaut pour les données 12 bits
+xv --prefer-j2k-lossless- préfère la TS JPEG 2000 lossless
+xw --prefer-j2k-lossy- préfère la TS JPEG 2000 lossy
+xt --prefer-jls-lossless- préfère la TS JPEG-LS lossless
+xu --prefer-jls-lossy- préfère la TS JPEG-LS lossy
+xm --prefer-mpeg2- préfère la TS MPEG2 Main Profile @ Main Level
+xh --prefer-mpeg2-high- préfère la TS MPEG2 Main Profile @ High Level
+xn --prefer-mpeg4- préfère la TS MPEG4 AVC/H.264 High Profile / Level 4.1
+xl --prefer-mpeg4-bd- préfère la TS MPEG4 AVC/H.264 BD-compatible HP / Level 4.1
+x2 --prefer-mpeg4-2-2d- préfère la TS MPEG4 AVC/H.264 HP / Level 4.2 pour vidéos 2D
+x3 --prefer-mpeg4-2-3d- préfère la TS MPEG4 AVC/H.264 HP / Level 4.2 pour vidéos 3D
+xo --prefer-mpeg4-2-st- préfère la TS MPEG4 AVC/H.264 Stereo HP / Level 4.2
+x4 --prefer-hevc- préfère la TS HEVC/H.265 Main Profile / Level 5.1
+x5 --prefer-hevc10- préfère la TS HEVC/H.265 Main Profile / Level 5.1
+xr --prefer-rle- préfère la TS RLE lossless
+xd --prefer-deflated- préfère la TS deflated explicit VR little endian
+xi --implicit- accepte uniquement la TS implicit VR little endian
+xa --accept-all- accepte toutes les syntaxes de transfert prises en charge. contrôle d'accès réseau par hôte (TCP wrapper) :
-ac --access-full- accepte les connexions depuis n'importe quel hôte (par défaut)
+ac --access-control- applique les règles de contrôle d'accès par hôte. autres options réseau :
-id --inetd- s'exécute depuis le super-serveur inetd (incompatible avec --fork) # non disponible sur tous les systèmes (par exemple pas sous Windows)
-ts --socket-timeout [s]econds: integer (default: 60)- délai d'expiration du socket réseau (0 pour aucun)
-ta --acse-timeout [s]econds: integer (default: 30)- délai d'expiration des messages ACSE
-td --dimse-timeout [s]econds: integer (default: unlimited)- délai d'expiration des messages DIMSE
-aet --aetitle [a]etitle: string- définit mon AE title (par défaut : STORESCP)
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)- définit la pdu maximale reçue à n octets (par défaut : 16384)
-dhl --disable-host-lookup- désactive la résolution du nom d'hôte
--refuse- refuse l'association
--reject- rejette l'association si l'Implementation Class UID est absent
--ignore- ignore les données à stocker, reçues mais non stockées
--sleep-after [s]econds: integer- attend s secondes après le stockage (par défaut : 0)
--sleep-during [s]econds: integer- attend s secondes pendant le stockage (par défaut : 0)
--abort-after- abandonne l'association après réception du C-STORE-RQ (mais avant l'envoi de la réponse)
--abort-during- abandonne l'association pendant la réception du C-STORE-RQ
-pm --promiscuous- mode promiscuous, accepte les classes SOP inconnues (incompatible avec --config-file)
-up --uid-padding- corrige silencieusement les UID complétés par des espaces
options de sécurité de la couche transport (TLS)
-tls --disable-tls- utilise une connexion TCP/IP normale (par défaut)
+tls --enable-tls [p]rivate key file, [c]ertificate file: string- utilise une connexion TLS sécurisée authentifiée. mot de passe de la clé privée (uniquement avec --enable-tls) :
+ps --std-passwd- invite l'utilisateur à saisir le mot de passe sur l'entrée standard (par défaut)
+pw --use-passwd [p]assword: string- utilise le mot de passe indiqué
-pw --null-passwd- utilise une chaîne vide comme mot de passe. format du fichier de clé et de certificat :
-pem --pem-keys- lit les clés et certificats comme fichier PEM (par défaut)
-der --der-keys- lit les clés et certificats comme fichier DER. autorité de certification :
+cf --add-cert-file [f]ilename: string- ajoute le fichier de certificat à la liste des certificats
+cd --add-cert-dir [d]irectory: string- ajoute les certificats de d à la liste des certificats
+crl --add-crl-file [f]ilename: string- ajoute un fichier de liste de révocation de certificats (implique --enable-crl-vfy)
+crv --enable-crl-vfy- active la vérification CRL du certificat feuille
+cra --enable-crl-all- active la vérification CRL de la chaîne complète. profil de sécurité :
+ph --list-profiles- affiche la liste des profils TLS pris en charge et quitte
+pg --profile-8996- Profil TLS BCP 195 RFC 8996 (par défaut)
+pm --profile-8996-mod- Profil TLS BCP 195 RFC 8996 modifié # disponible uniquement si la bibliothèque TLS sous-jacente prend en charge # toutes les fonctionnalités TLS requises pour ce profil
+py --profile-bcp195-nd- Profil TLS BCP 195 sans rétrogradation (obsolète)
+px --profile-bcp195- Profil TLS BCP 195 (obsolète)
+pz --profile-bcp195-ex- Profil TLS BCP 195 étendu (obsolète)
+pb --profile-basic- Profil de connexion de transport sécurisée TLS de base (obsolète) # disponible uniquement si la bibliothèque TLS sous-jacente prend en charge 3DES
+pa --profile-aes- Profil de connexion de transport sécurisée TLS AES (obsolète)
+pn --profile-null- Communication non chiffrée authentifiée (obsolète, utilisée auparavant dans IHE ATNA). suite de chiffrement :
+cc --list-ciphers- affiche la liste des suites de chiffrement TLS prises en charge et quitte
+cs --cipher [c]iphersuite name: string- ajoute la suite de chiffrement à la liste des suites négociées
+dp --dhparam [f]ilename: string- lit les paramètres DH pour les suites de chiffrement DH/DSS. indication du nom de serveur :
--no-sni- n'utilise pas SNI (par défaut)
--expect-sni [s]erver name: string- attend des requêtes pour le nom de serveur s. générateur pseudo-aléatoire :
+rs --seed [f]ilename: string- initialise le générateur aléatoire avec le contenu de f
+ws --write-seed- réécrit la graine modifiée (uniquement avec --seed)
+wf --write-seed-file [f]ilename: string (only with --seed)- écrit la graine modifiée dans le fichier f. authentification du pair :
-rc --require-peer-cert- vérifie le certificat du pair, échoue s'il est absent (par défaut)
-vc --verify-peer-cert- vérifie le certificat du pair s'il est présent
-ic --ignore-peer-cert- ne vérifie pas le certificat du pair
options de sortie
-od --output-directory [d]irectory: string (default: ".")- écrit les objets reçus dans le répertoire existant d. mode bit preserving :
-B --normal- autorise les conversions de format implicites (par défaut)
+B --bit-preserving- écrit les données exactement telles que lues. format de fichier de sortie :
+F --write-file- écrit au format fichier (par défaut)
-F --write-dataset- écrit le jeu de données sans informations méta de fichier. syntaxe de transfert de sortie (incompatible avec --bit-preserving ou une transmission compressée) :
+t= --write-xfer-same- écrit avec la même TS qu'en entrée (par défaut)
+te --write-xfer-little- écrit avec la TS explicit VR little endian
+tb --write-xfer-big- écrit avec la TS explicit VR big endian
+ti --write-xfer-implicit- écrit avec la TS implicit VR little endian
+td --write-xfer-deflated- écrit avec la TS deflated explicit VR little endian. représentations de valeur postérieures à 1993 (incompatible avec --bit-preserving) :
+u --enable-new-vr- active la prise en charge des nouveaux VR (UN/UT) (par défaut)
-u --disable-new-vr- désactive la prise en charge des nouveaux VR, et convertit en OB. codage de la longueur de groupe (incompatible avec --bit-preserving) :
+g= --group-length-recalc- recalcule les longueurs de groupe si présentes (par défaut)
+g --group-length-create- écrit toujours avec les éléments de longueur de groupe
-g --group-length-remove- écrit toujours sans les éléments de longueur de groupe. codage de la longueur dans les séquences et les items (incompatible avec --bit-preserving) :
+e --length-explicit- écrit avec des longueurs explicites (par défaut)
-e --length-undefined- écrit avec des longueurs indéfinies. remplissage final du jeu de données (incompatible avec --write-dataset ou --bit-preserving) :
-p --padding-off- aucun remplissage (par défaut)
+p --padding-create [f]ile-pad [i]tem-pad: integer- aligne le fichier sur un multiple de f octets et les items sur un multiple de i octets. traitement des éléments UN de longueur définie :
-uc --retain-un- conserve les éléments en UN (par défaut)
+uc --convert-un- convertit vers le VR réel s'il est connu. niveau de compression deflate (uniquement avec --write-xfer-deflated/same) :
+cl --compression-level [l]evel: integer (default: 6)- 0=non compressé, 1=le plus rapide, 9=meilleure compression. répartition en sous-répertoires (incompatible avec --bit-preserving) :
-ss --sort-conc-studies [p]refix: string- trie les études en utilisant le préfixe p et un horodatage
-su --sort-on-study-uid [p]refix: string- trie les études en utilisant le préfixe p et le Study Instance UID
-sp --sort-on-patientname- trie les études en utilisant le nom du patient et un horodatage. génération du nom de fichier :
-uf --default-filenames- génère le nom de fichier à partir de l'UID d'instance (par défaut)
+uf --unique-filenames- génère des noms de fichiers uniques
-tn --timenames- génère le nom de fichier à partir de l'heure de création
-fe --filename-extension [e]xtension: string- ajoute e à tous les noms de fichiers
options d'événements
-xcr --exec-on-reception [c]ommand: string- exécute la commande c après avoir reçu et traité un message C-STORE-RQ
-xcs --exec-on-eostudy [c]ommand: string- exécute la commande c après avoir reçu et traité tous les messages C-STORE-RQ appartenant à une même étude
-rns --rename-on-eostudy- une fois tous les messages C-STORE-RQ appartenant à une même étude reçus et traités, renomme les fichiers de sortie selon un certain modèle
-tos --eostudy-timeout [t]imeout: integer- spécifie un délai d'expiration de t secondes pour la détermination de fin d'étude
-xs --exec-sync- exécute la commande de manière synchrone au premier plan
NOTES
Pour la plupart des options mentionnées ci-dessus, la portée sémantique est claire. Certaines options particulières sont toutefois si spécifiques qu'elles nécessitent une description détaillée, donnée dans ce passage.
L'option –sort-conc-studies permet à l'utilisateur de répartir tous les objets DICOM reçus dans différents sous-répertoires. Cette répartition se fait selon l'étude à laquelle appartient chaque objet, c'est-à-dire que les objets appartenant à la même étude sont stockés dans le même sous-répertoire. En général, un objet DICOM d_n+1 est considéré comme appartenant à la même étude qu'un objet DICOM d_n si et seulement si d_n et d_n+1 présentent exactement la même valeur pour l'attribut Study Instance UID. Les noms des sous-répertoires ainsi créés commencent toujours par un préfixe p transmis à cette option en tant que paramètre. Outre ce préfixe, les noms de sous-répertoires contiennent une information d'horodatage correspondant à la date et à l'heure de réception du premier objet DICOM de cette étude. Plus précisément, la détermination des noms de sous-répertoires suit le modèle
[prefix]_[YYYYMMDD]_[HHMMSSPPP]
où YYYY désigne l'année (4 chiffres), MM le mois (01-12), DD le jour (01-31), HH l'heure (00-23), MM la minute (00-59), SS la seconde (00-59) et PPP les millisecondes (000-999). Si le préfixe est une chaîne vide, le premier "_" est omis.
Les autres options –sort-xxx fonctionnent de manière similaire ; seule la construction des noms de sous-répertoires diffère. Pour l'option –sort-on-study-uid, le modèle est
[prefix]_[StudyInstanceUID]
et pour l'option –sort-on-patientname
[PatientName]_[YYYYMMDD]_[HHMMSSPPP]
où 'PatientName' est remplacé par "ANONYMOUS" si l'élément de données est vide ou absent du jeu de données. Tout nom de patient existant est transformé pour n'utiliser que des caractères ASCII. Notez que, dans ce contexte, seuls le jeu de caractères DICOM par défaut (ASCII, c'est-à-dire aucune entrée dans l'attribut Specific Character Set) et Latin-1 (Specific Character Set valant "ISO_IR 100") sont pris en charge. Si un autre jeu de caractères est détecté et que le nom du patient contient des caractères non ASCII, un avertissement est affiché et la transformation est effectuée comme si le jeu de caractères Latin-1 était défini dans le fichier. Cela peut entraîner des répertoires de noms de patients illisibles ou inattendus, ainsi qu'un comportement imprévu. Il est donc conseillé de n'utiliser –sort-on-patientname que si l'on s'attend à recevoir des noms de patients en Latin-1 ou en ASCII.
Pour l'option –sort-on-study-uid, le même sous-répertoire est utilisé pour tous les objets DICOM appartenant à la même étude, c'est-à-dire que, contrairement aux autres options –sort-xxx, rien ne garantit qu'un répertoire d'étude soit un jour complet.
L'option –timenames crée les noms de fichiers à partir d'horodatages correspondant au moment où storescp écrit un fichier sur le disque. Le format est
[YYYYMMDDHHMMSSPPP]_[SERIALNO].[MD]
où YYYY, MM, DD, HH, MM, SS, PPP sont interprétés comme décrit ci-dessus. Si plusieurs fichiers sont créés au même moment, SERIALNO est inséré. Il s'agit d'un numéro séquentiel à 4 chiffres (0000 à 9999). Pour le premier fichier créé à un instant donné, aucun numéro (ni aucun "") n'est inséré. MD représente un code d'identification (2 lettres) pour le type d'objet stocké dans le fichier (voir les notes sur –rename-on-eostudy_).
L'option –filename-extension ajoute un suffixe indiqué à chaque nom de fichier (un point "." n'est pas ajouté automatiquement). Ce suffixe n'est pas ajouté aux noms de fichiers créés par –rename-on-eostudy, afin de conserver une longueur de 8 caractères.
L'option –exec-on-reception permet d'exécuter une ligne de commande donnée après avoir reçu et traité un objet DICOM (via un message C-STORE-RQ). La ligne de commande à exécuter est transmise à cette option en tant que paramètre. La ligne de commande indiquée peut contenir un certain nombre d'espaces réservés qui seront remplacés à l'exécution :
- #p: chemin complet vers le répertoire de sortie dans lequel le dernier objet DICOM a été stocké (non disponible toutefois avec l'option –ignore)
- #f: nom du fichier de sortie actuel (non disponible toutefois avec l'option –ignore)
- #a: titre d'entité d'application appelant du SCU de stockage homologue
- #c: titre d'entité d'application appelé utilisé par le SCU de stockage homologue pour s'adresser à storescp
- #r: adresse de présentation appelante, c'est-à-dire le nom d'hôte ou l'adresse IP du SCU de stockage homologue
La ligne de commande indiquée est exécutée dans un processus séparé, de sorte que l'exécution de storescp n'est pas retardée. Ce comportement peut être modifié avec l'option –exec-sync.
Notez que les titres d'entité d'application ('#a' et '#c') sont 'assainis' afin d'éviter tout comportement indésirable lors du passage des paramètres au shell. Les caractères inhabituels sont remplacés par le caractère '_'. Un avertissement est alors affiché dans le journal.
L'option –exec-on-eostudy permet d'exécuter une ligne de commande donnée lorsque storescp a reçu tous les objets DICOM appartenant à une même étude. Les mêmes espaces réservés que pour –exec-on-reception peuvent être utilisés, à l'exception de '#f', qui n'est pas pris en charge. storescp considère une étude comme terminée lorsqu'un objet appartenant à une autre étude est reçu, ou lorsque le délai spécifié par –eostudy-timeout est atteint. Si l'option –rename-on-eostudy est active, le renommage a lieu avant l'exécution de la commande externe.
L'option –rename-on-eostudy se rapporte aux options –sort-xxx mentionnées ci-dessus et ne peut être utilisée qu'en association avec l'une d'entre elles. Si l'utilisateur indique l'option –rename-on-eostudy et que storescp détermine que tous les objets DICOM appartenant à une étude donnée ont été reçus, tous les fichiers DICOM appartenant à la dernière étude sont renommés dans le répertoire de sortie correspondant. Les noms de fichiers résultant du renommage sont calculés selon le modèle
[prefix][consecutive numbering]
où [prefix] est un préfixe de 2 caractères indiquant le type d'objet DICOM stocké dans le fichier, et [consecutive numbering] un numéro séquentiel à 6 chiffres commençant à "000001". D'une manière générale, on considère que storescp a reçu tous les objets DICOM appartenant à une même étude si et seulement si deux objets DICOM reçus consécutivement d_n et d_n+1 ne présentent pas la même valeur pour l'attribut Study Instance UID ; dans ce cas, d_n+1 est considéré comme appartenant à une nouvelle étude.
L'option –eostudy-timeout permet de modifier le processus de détermination visant à établir si tous les objets DICOM appartenant à une même étude ont déjà été reçus par storescp. De ce fait, cette option ne peut être utilisée qu'en combinaison avec au moins l'une des options suivantes : –sort-xxx , –exec-on-eostudy et –rename-on-eostudy. Si l'option –eostudy-timeout est spécifiée, la fin d'une étude est considérée comme atteinte non seulement lorsque deux objets DICOM reçus consécutivement d_n et d_n+1 ne présentent pas la même valeur pour l'attribut Study Instance UID, mais aussi lorsque, dans un intervalle de x secondes après la réception d'un objet DICOM d_n, aucun autre objet DICOM n'a été reçu sur le réseau. Notez que le nombre x de secondes (qui détermine la durée de cet intervalle) doit être transmis à cette option en tant que paramètre.
Notez que deux connexions réseau consécutives peuvent transférer des objets appartenant à la même étude. L'étude n'est considérée comme terminée que lorsqu'un objet d'une étude différente est reçu ou que le délai –eostudy-timeout est atteint. Pour cette raison, les options –fork et –inet sont incompatibles avec –exec-on-eostudy , –rename-on-eostudy et –sort-conc-studies.
Conformité DICOM
L'application storescp prend en charge les classes SOP suivantes en tant que SCP :
VerificationSOPClass 1.2.840.10008.1.1
RETIRED_StoredPrintStorage 1.2.840.10008.5.1.1.27
RETIRED_HardcopyGrayscaleImageStorage 1.2.840.10008.5.1.1.29
RETIRED_HardcopyColorImageStorage 1.2.840.10008.5.1.1.30
ComputedRadiographyImageStorage 1.2.840.10008.5.1.4.1.1.1
DigitalXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.1
DigitalXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.1.1
DigitalMammographyXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.2
DigitalMammographyXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.2.1
DigitalIntraOralXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.3
DigitalIntraOralXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.3.1
CTImageStorage 1.2.840.10008.5.1.4.1.1.2
EnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.1
LegacyConvertedEnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.2
RETIRED_UltrasoundMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.3
UltrasoundMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.3.1
MRImageStorage 1.2.840.10008.5.1.4.1.1.4
EnhancedMRImageStorage 1.2.840.10008.5.1.4.1.1.4.1
MRSpectroscopyStorage 1.2.840.10008.5.1.4.1.1.4.2
EnhancedMRColorImageStorage 1.2.840.10008.5.1.4.1.1.4.3
LegacyConvertedEnhancedMRImageStorage 1.2.840.10008.5.1.4.1.1.4.4
RETIRED_NuclearMedicineImageStorage 1.2.840.10008.5.1.4.1.1.5
RETIRED_UltrasoundImageStorage 1.2.840.10008.5.1.4.1.1.6
UltrasoundImageStorage 1.2.840.10008.5.1.4.1.1.6.1
EnhancedUSVolumeStorage 1.2.840.10008.5.1.4.1.1.6.2
PhotoacousticImageStorage 1.2.840.10008.5.1.4.1.1.6.3
SecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7
MultiframeSingleBitSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.1
MultiframeGrayscaleByteSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.2
MultiframeGrayscaleWordSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.3
MultiframeTrueColorSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.4
RETIRED_StandaloneOverlayStorage 1.2.840.10008.5.1.4.1.1.8
RETIRED_StandaloneCurveStorage 1.2.840.10008.5.1.4.1.1.9
DRAFT_WaveformStorage 1.2.840.10008.5.1.4.1.1.9.1
TwelveLeadECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.1
GeneralECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.2
AmbulatoryECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.3
General32BitECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.4
HemodynamicWaveformStorage 1.2.840.10008.5.1.4.1.1.9.2.1
CardiacElectrophysiologyWaveformStorage 1.2.840.10008.5.1.4.1.1.9.3.1
BasicVoiceAudioWaveformStorage 1.2.840.10008.5.1.4.1.1.9.4.1
GeneralAudioWaveformStorage 1.2.840.10008.5.1.4.1.1.9.4.2
ArterialPulseWaveformStorage 1.2.840.10008.5.1.4.1.1.9.5.1
RespiratoryWaveformStorage 1.2.840.10008.5.1.4.1.1.9.6.1
MultichannelRespiratoryWaveformStorage 1.2.840.10008.5.1.4.1.1.9.6.2
RoutineScalpElectroencephalogramWaveformStorage 1.2.840.10008.5.1.4.1.1.9.7.1
ElectromyogramWaveformStorage 1.2.840.10008.5.1.4.1.1.9.7.2
ElectrooculogramWaveformStorage 1.2.840.10008.5.1.4.1.1.9.7.3
SleepElectroencephalogramWaveformStorage 1.2.840.10008.5.1.4.1.1.9.7.4
BodyPositionWaveformStorage 1.2.840.10008.5.1.4.1.1.9.8.1
WaveformPresentationStateStorage 1.2.840.10008.5.1.4.1.1.9.100.1
WaveformAcquisitionPresentationStateStorage 1.2.840.10008.5.1.4.1.1.9.100.2
RETIRED_StandaloneModalityLUTStorage 1.2.840.10008.5.1.4.1.1.10
RETIRED_StandaloneVOILUTStorage 1.2.840.10008.5.1.4.1.1.11
GrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.1
ColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.2
PseudoColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.3
BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5
GrayscalePlanarMPRVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.6
CompositingPlanarMPRVolumetricPresent.StateStorage 1.2.840.10008.5.1.4.1.1.11.7
AdvancedBlendingPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.8
VolumeRenderingVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.9
SegmentedVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.10
MultipleVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.11
VariableModalityLUTSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.12
XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
EnhancedXRFImageStorage 1.2.840.10008.5.1.4.1.1.12.2.1
RETIRED_XRayAngiographicBiPlaneImageStorage 1.2.840.10008.5.1.4.1.1.12.3
XRay3DAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.13.1.1
XRay3DCraniofacialImageStorage 1.2.840.10008.5.1.4.1.1.13.1.2
BreastTomosynthesisImageStorage 1.2.840.10008.5.1.4.1.1.13.1.3
BreastProjectionXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.13.1.4
BreastProjectionXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.13.1.5
IntravascularOpt.Coh.Tom.ImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.14.1
IntravascularOpt.Coh.Tom.ImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.14.2
NuclearMedicineImageStorage 1.2.840.10008.5.1.4.1.1.20
ParametricMapStorage 1.2.840.10008.5.1.4.1.1.30
RawDataStorage 1.2.840.10008.5.1.4.1.1.66
SpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.1
SpatialFiducialsStorage 1.2.840.10008.5.1.4.1.1.66.2
DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3
SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4
SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5
TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6
LabelMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.7
HeightMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.8
RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67
SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1
SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2
RETIRED_VLImageStorage 1.2.840.10008.5.1.4.1.1.77.1
VLEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1
VideoEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1.1
VLMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2
VideoMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2.1
VLSlideCoordinatesMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.3
VLPhotographicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.4
VideoPhotographicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.4.1
OphthalmicPhotography8BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.1
OphthalmicPhotography16BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.2
StereometricRelationshipStorage 1.2.840.10008.5.1.4.1.1.77.1.5.3
OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
WideFieldOphthalmicPhoto.Stereogr.Proj.ImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.5
WideFieldOphthalmicPhotogr.3DCoordinatesImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.6
OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.7
OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8
VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6
DermoscopicPhotographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.7
ConfocalMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.8
ConfocalMicroscopyTiledPyramidalImageStorage 1.2.840.10008.5.1.4.1.1.77.1.9
RETIRED_VLMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.77.2
LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1
AutorefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.2
KeratometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.3
SubjectiveRefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.4
VisualAcuityMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.5
SpectaclePrescriptionReportStorage 1.2.840.10008.5.1.4.1.1.78.6
OphthalmicAxialMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.7
IntraocularLensCalculationsStorage 1.2.840.10008.5.1.4.1.1.78.8
MacularGridThicknessAndVolumeReportStorage 1.2.840.10008.5.1.4.1.1.79.1
OphthalmicVisualFieldStaticPerimetryMeasurementsSt. 1.2.840.10008.5.1.4.1.1.80.1
OphthalmicThicknessMapStorage 1.2.840.10008.5.1.4.1.1.81.1
CornealTopographyMapStorage 1.2.840.10008.5.1.4.1.1.82.1
DRAFT_SRTextStorage 1.2.840.10008.5.1.4.1.1.88.1
DRAFT_SRAudioStorage 1.2.840.10008.5.1.4.1.1.88.2
DRAFT_SRDetailStorage 1.2.840.10008.5.1.4.1.1.88.3
DRAFT_SRComprehensiveStorage 1.2.840.10008.5.1.4.1.1.88.4
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
ExtensibleSRStorage 1.2.840.10008.5.1.4.1.1.88.35
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
EnhancedXRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.76
WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77
ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1
MicroscopyBulkSimpleAnnotationsStorage 1.2.840.10008.5.1.4.1.1.91.1
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
EncapsulatedSTLStorage 1.2.840.10008.5.1.4.1.1.104.3
EncapsulatedOBJStorage 1.2.840.10008.5.1.4.1.1.104.4
EncapsulatedMTLStorage 1.2.840.10008.5.1.4.1.1.104.5
PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128
LegacyConvertedEnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.128.1
RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129
EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130
BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131
CTPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.2
XAPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.8
RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1
RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2
RTStructureSetStorage 1.2.840.10008.5.1.4.1.1.481.3
RTBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.4
RTPlanStorage 1.2.840.10008.5.1.4.1.1.481.5
RTBrachyTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.6
RTTreatmentSummaryRecordStorage 1.2.840.10008.5.1.4.1.1.481.7
RTIonPlanStorage 1.2.840.10008.5.1.4.1.1.481.8
RTIonBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.9
RTPhysicianIntentStorage 1.2.840.10008.5.1.4.1.1.481.10
RTSegmentAnnotationStorage 1.2.840.10008.5.1.4.1.1.481.11
RTRadiationSetStorage 1.2.840.10008.5.1.4.1.1.481.12
CArmPhotonElectronRadiationStorage 1.2.840.10008.5.1.4.1.1.481.13
TomotherapeuticRadiationStorage 1.2.840.10008.5.1.4.1.1.481.14
RoboticArmRadiationStorage 1.2.840.10008.5.1.4.1.1.481.15
RTRadiationRecordSetStorage 1.2.840.10008.5.1.4.1.1.481.16
RTRadiationSalvageRecordStorage 1.2.840.10008.5.1.4.1.1.481.17
TomotherapeuticRadiationRecordStorage 1.2.840.10008.5.1.4.1.1.481.18
CArmPhotonElectronRadiationRecordStorage 1.2.840.10008.5.1.4.1.1.481.19
RoboticRadiationRecordStorage 1.2.840.10008.5.1.4.1.1.481.20
RTRadiationSetDeliveryInstructionStorage 1.2.840.10008.5.1.4.1.1.481.21
RTTreatmentPreparationStorage 1.2.840.10008.5.1.4.1.1.481.22
EnhancedRTImageStorage 1.2.840.10008.5.1.4.1.1.481.23
EnhancedContinuousRTImageStorage 1.2.840.10008.5.1.4.1.1.481.24
RTPatientPositionAcquisitionInstructionStorage 1.2.840.10008.5.1.4.1.1.481.25
DICOS_CTImageStorage 1.2.840.10008.5.1.4.1.1.501.1
DICOS_DigitalXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.501.2.1
DICOS_DigitalXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.501.2.2
DICOS_ThreatDetectionReportStorage 1.2.840.10008.5.1.4.1.1.501.3
DICOS_2DAITStorage 1.2.840.10008.5.1.4.1.1.501.4
DICOS_3DAITStorage 1.2.840.10008.5.1.4.1.1.501.5
DICOS_QuadrupoleResonanceStorage 1.2.840.10008.5.1.4.1.1.501.6
DICONDE_EddyCurrentImageStorage 1.2.840.10008.5.1.4.1.1.601.1
DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2
DICONDE_ThermographyImageStorage 1.2.840.10008.5.1.4.1.1.601.3
DICONDE_ThermographyMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.601.4
DICONDE_UltrasoundWaveformStorage 1.2.840.10008.5.1.4.1.1.601.5
DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1
RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7
RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10
L'application storescp accepte les contextes de présentation pour l'ensemble des classes SOP prises en charge mentionnées ci-dessus, avec l'une quelconque des syntaxes de transfert suivantes :
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
Par défaut, l'application storescp privilégie les syntaxes de transfert à encodage explicite plutôt que la syntaxe de transfert implicite par défaut. Si storescp s'exécute sur du matériel big-endian, elle privilégie la syntaxe de transfert BigEndianExplicit à LittleEndianExplicit (et inversement). Ce comportement peut être modifié avec les options –prefer (voir ci-dessus). Avec l'option –accept-all, l'une quelconque des syntaxes de transfert suivantes est prise en charge :
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
EncapsulatedUncompressedExplicitVRLittleEndianTr.S. 1.2.840.10008.1.2.1.98
DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*)
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50
JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51
JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70
JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80
JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81
JPEG2000LosslessOnlyTransferSyntax 1.2.840.10008.1.2.4.90
JPEG2000TransferSyntax 1.2.840.10008.1.2.4.91
MPEG2MainProfileAtMainLevelTransferSyntax 1.2.840.10008.1.2.4.100
FragmentableMPEG2MainProfile/MainLevelTransferSyntax 1.2.840.10008.1.2.4.100.1
MPEG2MainProfileAtHighLevelTransferSyntax 1.2.840.10008.1.2.4.101
FragmentableMPEG2MainProfil/tHighLevelTransferSyntax 1.2.840.10008.1.2.4.101.1
MPEG4HighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.102
FragmentableMPEG4HighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.102.1
MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.103
FragmentableMPEG4BDcompatibleHighProfileLevel4_1T.S. 1.2.840.10008.1.2.4.103.1
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
FragmentableMPEG4HighProfileLevel4_2_For2DVideoTr.S. 1.2.840.10008.1.2.4.104.1
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
FragmentableMPEG4HighProfileLevel4_2_For3DVideoTr.S. 1.2.840.10008.1.2.4.105.1
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
FragmentableMPEG4StereoHighProfileLevel4_2TransferS. 1.2.840.10008.1.2.4.106.1
HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
JPEGXLLosslesTransferSyntax 1.2.840.10008.1.2.4.110
JPEGXLJPEGRecompressionTransferSyntax 1.2.840.10008.1.2.4.111
JPEGXLTransferSyntax 1.2.840.10008.1.2.4.112
HighThroughputJPEG2000ImageCompressionLossless.Tr.S. 1.2.840.10008.1.2.4.201
HighThroughputJPEG2000RPCLImageCompressionLoss.Tr.S. 1.2.840.10008.1.2.4.202
HighThroughputJPEG2000ImageCompressionTransferSynta. 1.2.840.10008.1.2.4.203
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
DeflatedImageFrameCompressionTransferSyntax 1.2.840.10008.1.2.8.1
(*) si compilé avec la prise en charge de zlib activée (voir la sortie de –version)
Des classes SOP de stockage et des syntaxes de transfert supplémentaires peuvent être utilisées au moyen des "profils de négociation d'association" (voir ci-dessous). Il peut s'agir aussi bien de classes SOP de stockage privées que de classes SOP de stockage standard qui ne s'inscrivent pas dans le modèle d'information PATIENT-STUDY-SERIES-INSTANCE.
Par défaut, l'application storescp ne prend pas en charge la négociation étendue. Toutefois, un profil de négociation d'association approprié (voir ci-dessous) permet d'ajouter, pour certaines classes SOP, la prise en charge optionnelle de la négociation étendue.
Contrôle d'accès
Lorsqu'elle est compilée sur des plateformes Unix avec la prise en charge du TCP wrapper, l'option de ligne de commande –access-control permet d'activer un contrôle d'accès basé sur l'hôte. Dans ce cas, les règles de contrôle d'accès définies pour storescp dans les tables de contrôle d'accès de l'hôte système sont appliquées. Les emplacements par défaut de ces tables sont /etc/hosts.allow et /etc/hosts.deny. Pour plus de détails, consultez hosts_access(5).
Exécuter storescp depuis inetd
Sur les plateformes Posix, storescp peut être lancé via le super-serveur inetd(8). Cela suppose que storescp soit configuré dans le fichier de configuration /etc/inetd.conf. Une ligne de configuration typique pourrait ressembler à ceci :
acr-nema stream tcp nowait root /usr/sbin/storescp -id +ac -od /tmp/storescp
où -id (–inetd) active le mode inetd, dans lequel l'association DICOM est en réalité acceptée par inetd puis transmise à storescp , +ac (–access-control) active le contrôle d'accès basé sur le TCP wrapper décrit ci-dessus, et -od (–output-directory) définit le répertoire dans lequel storescp stocke les objets DICOM reçus. Notez que le nom du service ("acr-nema" dans cet exemple) détermine le numéro de port sur lequel les associations DICOM sont acceptées et doit être défini dans /etc/services. Lors d'une exécution depuis inetd, les flux stdout et stderr sont ignorés. Vous pouvez toutefois configurer la journalisation au moyen de l'option –log-config (voir ci-dessous).
Notez que, lorsqu'il est exécuté via inetd, storescp s'exécute avec les privilèges root, ce qui peut constituer un risque de sécurité.
Profils de négociation d'association et fichiers de configuration
storescp prend en charge un mécanisme flexible permettant de spécifier le comportement de négociation des associations réseau DICOM, fondé sur des "profils de négociation d'association" pouvant être lus depuis un fichier de configuration. Le format et la sémantique de ce fichier de configuration sont documentés dans asconfig.txt.
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 storescp 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
< docdir>/asconfig.txt - documentation du fichier de configuration
< etcdir>/storescp.cfg - exemple de profil de négociation d'association
VOIR AUSSI
storescu(1)
COPYRIGHT
Copyright (C) 1996-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.