movescu: SCU de récupération DICOM (C-MOVE)
SYNOPSIS
movescu [options] peer port [dcmfile-in...]
DESCRIPTION
L'application movescu met en œuvre à la fois un SCU pour la Query/Retrieve Service Class et un SCP pour la Storage Service Class. movescu prend en charge la fonction de récupération au moyen du message C-MOVE. Elle envoie des clés d'interrogation à un SCP et en attend les réponses. Elle accepte les associations dans le but de recevoir les images envoyées à la suite de la requête C-MOVE. L'application peut être utilisée pour tester des SCP de la Query/Retrieve Service Class. L'application movescu peut initier le transfert d'images vers un tiers ou récupérer des images pour elle-même. Notez que l'emploi du terme "move" est un abus de langage : l'opération C-MOVE effectue en réalité une copie d'image (aucune image n'est supprimée du SCP).
PARAMÈTRES
peer hostname of DICOM peer
port tcp/ip port number of peer
dcmfile-in DICOM query file(s)
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 réseau
-i4 --ipv4- utilise uniquement IPv4 (par défaut)
-i6 --ipv6- utilise uniquement IPv6
-i0 --ip-auto- utilise la pile double IPv6/IPv4. remplacement des clés de correspondance :
-k --key [k]ey: gggg,eeee="str" or dictionary name="str"- remplace la clé de correspondance k. modèle d'information de la requête :
-P --patient- utilise le modèle d'information patient root (par défaut)
-S --study- utilise le modèle d'information study root
-O --psonly- utilise le modèle d'information patient/study only. titres d'entité applicative :
-aet --aetitle [a]etitle: string- définit mon AE Title appelant (par défaut : MOVESCU)
-aec --call [a]etitle: string- définit l'AE Title appelé du pair (par défaut : ANY-SCP)
-aem --move [a]etitle: string- définit l'AE Title de destination du move (par défaut : MOVESCU). syntaxes de transfert réseau privilégiées (associations entrantes) :
+x= --prefer-uncompr- préfère l'ordre d'octets local VR explicite (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 les vidéos 2D
+x3 --prefer-mpeg4-2-3d- préfère la TS MPEG4 AVC/H.264 HP / Level 4.2 pour les 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. syntaxes de transfert d'émission proposées (associations sortantes) :
-x= --propose-uncompr- propose toutes les TS non compressées, VR explicite à ordre d'octets local en premier (par défaut)
-xe --propose-little- propose toutes les TS non compressées, VR explicite little endian en premier
-xb --propose-big- propose toutes les TS non compressées, VR explicite big endian en premier
-xd --propose-deflated- propose la TS deflated explicit VR little endian ainsi que toutes les syntaxes de transfert non compressées
-xi --propose-implicit- propose uniquement la TS implicit VR little endian. 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. port pour les associations réseau entrantes :
--no-port- aucun port pour les associations entrantes (par défaut)
+P --port [n]umber: integer- numéro de port pour les associations entrantes. traitement des jeux de données non valides faisant suite aux réponses move 'pending' :
-pi --pending-ignore- suppose qu'aucun jeu de données n'est présent (par défaut)
-pr --pending-read- lit puis ignore le jeu de données. autres options réseau :
-to --timeout [s]econds: integer (default: unlimited)- délai d'attente pour les requêtes de connexion
-ta --acse-timeout [s]econds: integer (default: 30)- délai d'attente pour les messages ACSE
-td --dimse-timeout [s]econds: integer (default: unlimited)- délai d'attente pour les messages DIMSE
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)- définit la PDU de réception maximale à n octets (par défaut : 16384)
-dhl --disable-host-lookup- désactive la résolution du nom d'hôte
--repeat [n]umber: integer- répète n fois
--abort- interrompt (abort) l'association au lieu de la libérer
--ignore- ignore les données de stockage, les reçoit mais ne les enregistre pas
--cancel [n]umber: integer- annule après n réponses (par défaut : jamais)
-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 stdin (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 de fichier de la clé et du certificat :
-pem --pem-keys- lit les clés et certificats au format de fichier PEM (par défaut)
-der --der-keys- lit les clés et certificats au format de fichier DER autorité de certification :
+cf --add-cert-file [f]ilename: string- ajoute un 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- liste les 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é 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é 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- liste les suites de chiffrement TLS prises en charge et quitte
+cs --cipher [c]iphersuite name: string- ajoute une 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 Server Name Indication :
--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 en son absence (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 de conservation des bits :
-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 niveau de compression deflate (uniquement avec --propose-deflated ou --write-xfer-deflated/same) :
+cl --compression-level [l]evel: integer (default: 6)- 0=non compressé, 1=le plus rapide, 9=meilleure compression
NOTES
Chaque fichier indiqué sur la ligne de commande est envoyé au SCP dans le cadre d'une requête C-MOVE. Le fichier d'interrogation doit être un jeu de données DICOM valide contenant la partie jeu de données d'un message C-MOVE-RQ. Il peut par exemple être créé avec l'utilitaire dump2dcm à partir d'un script comme dans l'exemple suivant :
# request all images for the patient with ID=PAT001
(0008,0052) CS [PATIENT] # QueryRetrieveLevel
(0010,0020) LO [PAT001] # PatientID
Les attributs individuels de chaque fichier envoyé peuvent être modifiés ou complétés à l'aide de l'option -k (ou –key). Par exemple, la commande :
movescu -k 0010,0020=PAT002 caesar 5678 patqry.dcm
envoyée au SCP caesar sur le port TCP/IP 5678, donne la valeur 'PAT002' à tout attribut PatientID présent dans patqry.dcm. Si cet attribut est présent, il est remplacé ; s'il est absent, il est inséré. L'option -k peut être indiquée plusieurs fois. La partie valeur (après le '=') peut être omise, auquel cas l'attribut est envoyé avec une longueur nulle. L'option -k ne permet pas de remplacer ni d'insérer des attributs à l'intérieur de séquences.
Si aucun fichier n'est indiqué sur la ligne de commande, l'interrogation doit être entièrement spécifiée au moyen d'une ou plusieurs options -k. Si plusieurs fichiers d'interrogation sont fournis, movescu envoie plusieurs requêtes C-MOVE au SCP.
Quelle que soit l'utilisation de movescu, le SCP doit être configuré pour "connaître" l'AE Title vers lequel les images doivent être transmises. Cela est nécessaire car la requête C-MOVE ne contient que l'AE Title de la destination, et le SCP doit pouvoir convertir cet AE Title en adresse TCP/IP et en numéro de port afin d'envoyer effectivement les images via une association distincte.
L'opération C-MOVE de la Query/Retrieve Service Class permet de récupérer des images (lorsque l'option –port est utilisée) ou d'initier une copie d'images vers un tiers.
Problèmes connus
movescu est destiné à être utilisé comme outil de test par les développeurs de logiciels DICOM. Le fichier de clés d'interrogation doit être créé à la main en fonction du contenu du SCP.
L'application movescu ne cherche en aucune façon à empêcher les interrogations incorrectes. En particulier, les clés d'interrogation d'une requête C-MOVE ne devraient contenir que l'attribut QueryRetrieveLevel et un ou plusieurs des attributs dits "uniques" (PatientID, StudyInstanceUID, SeriesInstanceUID et SOPInstanceUID).
Si le client de stockage ne termine pas la connexion alors que movescu joue le rôle du serveur de stockage (c'est-à-dire lorsque l'option –port est utilisée), mais que le client attend au contraire que movescu ferme la connexion de stockage, movescu attend indéfiniment. Dans ce cas, movescu ne ferme pas non plus l'association qui a servi à envoyer la requête C-MOVE au serveur C-MOVE.
Conformité DICOM
Conformité SCU
L'application movescu prend en charge les classes SOP suivantes en tant que SCU :
MOVEPatientRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.1.2
MOVEStudyRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.2.2
MOVEPatientStudyOnlyQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.3.2
L'application movescu propose des contextes de présentation pour l'une des classes SOP prises en charge mentionnées ci-dessus, selon les options de ligne de commande (-P, -S ou -O). Elle propose également la classe SOP correspondante de la liste suivante, bien qu'elle ne soit pas réellement utilisée (il s'agit d'une relique de la démonstration RSNA'93) :
FINDPatientRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.1.1
FINDStudyRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.2.1
FINDPatientStudyOnlyQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.3.1
Pour les associations sortantes, les syntaxes de transfert suivantes sont prises en charge :
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 (voir la sortie de –version)
Les syntaxes de transfert réellement proposées, ainsi que leur ordre, peuvent être définies au moyen des options –propose.
Conformité SCP
L'application movescu 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 movescu accepte généralement 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
Lorsqu'elle agit en tant que SCP, l'application movescu privilégie les syntaxes de transfert à codage explicite par rapport à la syntaxe de transfert implicite par défaut. Si movescu s'exécute sur du matériel big-endian, elle privilégie la syntaxe de transfert BigEndianExplicit par rapport à LittleEndianExplicit (et inversement). Ce comportement peut être modifié au moyen des 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)
L'application movescu ne prend pas en charge la négociation étendue.
Contrôle d'accès
Lorsqu'il est compilé sur des plateformes Unix avec la prise en charge du TCP wrapper, le contrôle d'accès par hôte peut être activé au moyen de l'option de ligne de commande –access-control. Dans ce cas, les règles de contrôle d'accès définies dans les tables de contrôle d'accès par hôte du système pour movescu sont appliquées. Les emplacements par défaut des tables de contrôle d'accès par hôte sont /etc/hosts.allow et /etc/hosts.deny. Pour plus de détails, consultez hosts_access(5).
EXEMPLES
movescu --patient --port 9876 --move TEST_AE --call ARCHIVE caesar 104 q.dcm
envoie les attributs contenus dans le fichier DICOM "q.dcm" dans le cadre d'une requête C-MOVE à l'entité applicative ARCHIVE sur l'hôte caesar au port 104, en utilisant le modèle d'interrogation Patient Root. movescu utilise elle-même l'AE Title par défaut MOVESCU. La requête C-MOVE précise que les images doivent être transférées vers l'AE Title de destination TEST_AE (via l'option –move). La façon dont le SCP interprète cette requête dépend de sa configuration. movescu écoute sur le port 9876 les associations entrantes afin de recevoir du SCP les images demandées.
Il est possible de copier des images vers un tiers en utilisant un AE Title de destination différent (par exemple –move ANOTHER_AE). Bien entendu, le SCP doit "connaître" cet AE Title, et la destination doit agir comme un SCP de la Storage Service Class (l'application storescp peut être utilisée à cet effet).
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).
CODES DE SORTIE
L'utilitaire movescu utilise les codes de sortie suivants lorsqu'il se termine. Cela permet à l'utilisateur de vérifier la raison pour laquelle l'application s'est terminée.
général
EXITCODE_NO_ERROR 0
EXITCODE_COMMANDLINE_SYNTAX_ERROR 1
EXITCODE_INSUFFICIENT_PRIVILEGES 2
EXITCODE_SETUID_FAILED 3
erreurs de fichier de sortie
EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40
EXITCODE_INVALID_OUTPUT_DIRECTORY 45
erreurs réseau
EXITCODE_CANNOT_INITIALIZE_NETWORK 60
EXITCODE_CANNOT_NEGOTIATE_ASSOCIATION 61
EXITCODE_CANNOT_CREATE_ASSOC_PARAMETERS 65
EXITCODE_NO_PRESENTATION_CONTEXT 66
EXITCODE_CANNOT_CLOSE_ASSOCIATION 67
EXITCODE_CMOVE_WARNING 68
EXITCODE_CMOVE_ERROR 69
EXITCODE_CANNOT_CREATE_TLS_LAYER 70
ENVIRONNEMENT
L'utilitaire movescu 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é.
VOIR AUSSI
findscu(1), storescp(1), dump2dcm(1)
COPYRIGHT
Copyright (C) 1994-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.