1storescu(1)                       OFFIS DCMTK                      storescu(1)
2
3
4

NAME

6       storescu - DICOM storage (C-STORE) SCU
7
8

SYNOPSIS

10       storescu [options] peer port dcmfile-in...
11

DESCRIPTION

13       The  storescu application implements a Service Class User (SCU) for the
14       Storage Service Class. For each DICOM file on the command line it sends
15       a  C-STORE  message to a Storage Service Class Provider (SCP) and waits
16       for a response. The application can be used to  transmit  DICOM  images
17       and other DICOM composite objects.
18

PARAMETERS

20       peer        hostname of DICOM peer
21
22       port        tcp/ip port number of peer
23
24       dcmfile-in  DICOM file or directory to be transmitted
25

OPTIONS

27   general options
28         -h    --help
29                 print this help text and exit
30
31               --version
32                 print version information and exit
33
34               --arguments
35                 print expanded command line arguments
36
37         -q    --quiet
38                 quiet mode, print no warnings and errors
39
40         -v    --verbose
41                 verbose mode, print processing details
42
43         -d    --debug
44                 debug mode, print debug information
45
46         -ll   --log-level  [l]evel: string constant
47                 (fatal, error, warn, info, debug, trace)
48                 use level l for the logger
49
50         -lc   --log-config  [f]ilename: string
51                 use config file f for the logger
52
53         +v    --verbose-pc
54                 show presentation contexts in verbose mode
55
56   input options
57       input file format:
58
59         +f    --read-file
60                 read file format or data set (default)
61
62         +fo   --read-file-only
63                 read file format only
64
65         -f    --read-dataset
66                 read data set without file meta information
67
68       input files:
69
70         +sd   --scan-directories
71                 scan directories for input files (dcmfile-in)
72
73         +sp   --scan-pattern  [p]attern: string (only with --scan-directories)
74                 pattern for filename matching (wildcards)
75
76                 # possibly not available on all systems
77
78         -r    --no-recurse
79                 do not recurse within directories (default)
80
81         +r    --recurse
82                 recurse within specified directories
83
84         -rn   --no-rename
85                 do not rename processed files (default)
86
87         +rn   --rename
88                 append .done/.bad to processed files
89
90   network options
91       application entity titles:
92
93         -aet  --aetitle  [a]etitle: string
94                 set my calling AE title (default: STORESCU)
95
96         -aec  --call  [a]etitle: string
97                 set called AE title of peer (default: ANY-SCP)
98
99       association negotiation profile from configuration file:
100
101         -xf   --config-file  [f]ilename, [p]rofile: string
102                 use profile p from config file f
103
104       proposed transmission transfer syntaxes (not with --config-file):
105
106         -x=   --propose-uncompr
107                 propose all uncompressed TS, explicit VR
108                 with local byte ordering first (default)
109
110         -xe   --propose-little
111                 propose all uncompressed TS, explicit VR little endian first
112
113         -xb   --propose-big
114                 propose all uncompressed TS, explicit VR big endian first
115
116         -xi   --propose-implicit
117                 propose implicit VR little endian TS only
118
119         -xs   --propose-lossless
120                 propose default JPEG lossless TS
121                 and all uncompressed transfer syntaxes
122
123         -xy   --propose-jpeg8
124                 propose default JPEG lossy TS for 8 bit data
125                 and all uncompressed transfer syntaxes
126
127         -xx   --propose-jpeg12
128                 propose default JPEG lossy TS for 12 bit data
129                 and all uncompressed transfer syntaxes
130
131         -xv   --propose-j2k-lossless
132                 propose JPEG 2000 lossless TS
133                 and all uncompressed transfer syntaxes
134
135         -xw   --propose-j2k-lossy
136                 propose JPEG 2000 lossy TS
137                 and all uncompressed transfer syntaxes
138
139         -xt   --propose-jls-lossless
140                 propose JPEG-LS lossless TS
141                 and all uncompressed transfer syntaxes
142
143         -xu   --propose-jls-lossy
144                 propose JPEG-LS lossy TS
145                 and all uncompressed transfer syntaxes
146
147         -xm   --propose-mpeg2
148                 propose MPEG2 Main Profile @ Main Level TS only
149
150         -xh   --propose-mpeg2-high
151                 propose MPEG2 Main Profile @ High Level TS only
152
153         -xn   --propose-mpeg4
154                 propose MPEG4 AVC/H.264 High Profile / Level 4.1 TS only
155
156         -xl   --propose-mpeg4-bd
157                 propose MPEG4 AVC/H.264 BD-compatible HP / Level 4.1 TS only
158
159         -x2   --propose-mpeg4-2-2d
160                 propose MPEG4 AVC/H.264 HP / Level 4.2 TS for 2D Videos only
161
162         -x3   --propose-mpeg4-2-3d
163                 propose MPEG4 AVC/H.264 HP / Level 4.2 TS for 3D Videos only
164
165         -xo   --propose-mpeg4-2-st
166                 propose MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS only
167
168         -x4   --propose-hevc
169                 propose HEVC H.265 Main Profile / Level 5.1 TS only
170
171         -x5   --propose-hevc10
172                 propose HEVC H.265 Main 10 Profile / Level 5.1 TS only
173
174         -xr   --propose-rle
175                 propose RLE lossless TS
176                 and all uncompressed transfer syntaxes
177
178         -xd   --propose-deflated
179                 propose deflated explicit VR little endian TS
180                 and all uncompressed transfer syntaxes
181
182         -R    --required
183                 propose only required presentation contexts
184                 (default: propose all supported)
185
186                 # This will also work with storage SOP classes that are
187                 # supported by DCMTK but are not in the list of SOP classes
188                 # proposed by default.
189
190         +C    --combine
191                 combine proposed transfer syntaxes
192                 (default: separate presentation context for each TS)
193
194       post-1993 value representations:
195
196         +u    --enable-new-vr
197                 enable support for new VRs (UN/UT) (default)
198
199         -u    --disable-new-vr
200                 disable support for new VRs, convert to OB
201
202       deflate compression level (only with --propose-deflated or --config-file):
203
204         +cl   --compression-level  [l]evel: integer (default: 6)
205                 0=uncompressed, 1=fastest, 9=best compression
206
207       user identity negotiation:
208
209         -usr  --user  [u]ser name: string
210                 authenticate using user name u
211
212         -pwd  --password  [p]assword: string (only with --user)
213                 authenticate using password p
214
215         -epw  --empty-password
216                 send empty password (only with --user)
217
218         -kt   --kerberos  [f]ilename: string
219                 read kerberos ticket from file f
220
221               --saml  [f]ilename: string
222                 read SAML request from file f
223
224               --jwt  [f]ilename: string
225                 read JWT data from file f
226
227         -rsp  --pos-response
228                 expect positive response
229
230       other network options:
231
232         -to   --timeout  [s]econds: integer (default: unlimited)
233                 timeout for connection requests
234
235         -ts   --socket-timeout  [s]econds: integer (default: 60)
236                 timeout for network socket (0 for none)
237
238         -ta   --acse-timeout  [s]econds: integer (default: 30)
239                 timeout for ACSE messages
240
241         -td   --dimse-timeout  [s]econds: integer (default: unlimited)
242                 timeout for DIMSE messages
243
244         -pdu  --max-pdu  [n]umber of bytes: integer (4096..131072)
245                 set max receive pdu to n bytes (default: 16384)
246
247               --max-send-pdu  [n]umber of bytes: integer (4096..131072)
248                 restrict max send pdu to n bytes
249
250               --repeat  [n]umber: integer
251                 repeat n times
252
253               --abort
254                 abort association instead of releasing it
255
256         -nh   --no-halt
257                 do not halt if unsuccessful store encountered
258                 (default: do halt)
259
260         -up   --uid-padding
261                 silently correct space-padded UIDs
262
263         +II   --invent-instance
264                 invent a new SOP instance UID for every image sent
265
266         +IR   --invent-series  [n]umber: integer (implies --invent-instance)
267                 invent a new series UID after n images have been sent
268                 (default: 100)
269
270         +IS   --invent-study  [n]umber: integer (implies --invent-instance)
271                 invent a new study UID after n series have been sent
272                 (default: 50)
273
274         +IP   --invent-patient  [n]umber: integer (implies --invent-instance)
275                 invent a new patient ID and name after n studies have been sent
276                 (default: 25)
277
278   transport layer security (TLS) options
279       transport protocol stack:
280
281         -tls  --disable-tls
282                 use normal TCP/IP connection (default)
283
284         +tls  --enable-tls  [p]rivate key file, [c]ertificate file: string
285                 use authenticated secure TLS connection
286
287         +tla  --anonymous-tls
288                 use secure TLS connection without certificate
289
290       private key password (only with --enable-tls):
291
292         +ps   --std-passwd
293                 prompt user to type password on stdin (default)
294
295         +pw   --use-passwd  [p]assword: string
296                 use specified password
297
298         -pw   --null-passwd
299                 use empty string as password
300
301       key and certificate file format:
302
303         -pem  --pem-keys
304                 read keys and certificates as PEM file (default)
305
306         -der  --der-keys
307                 read keys and certificates as DER file
308
309       certification authority:
310
311         +cf   --add-cert-file  [f]ilename: string
312                 add certificate file to list of certificates
313
314         +cd   --add-cert-dir  [d]irectory: string
315                 add certificates in d to list of certificates
316
317         +crl  --add-crl-file  [f]ilename: string
318                 add certificate revocation list file
319                 (implies --enable-crl-vfy)
320
321         +crv  --enable-crl-vfy
322                 enable leaf CRL verification
323
324         +cra  --enable-crl-all
325                 enable full chain CRL verification
326
327       security profile:
328
329         +py   --profile-bcp195-nd
330                 Non-downgrading BCP 195 TLS Profile (default)
331
332         +px   --profile-bcp195
333                 BCP 195 TLS Profile
334
335         +pz   --profile-bcp195-ex
336                 Extended BCP 195 TLS Profile
337
338         +pb   --profile-basic
339                 Basic TLS Secure Transport Connection Profile (retired)
340
341         +pa   --profile-aes
342                 AES TLS Secure Transport Connection Profile (retired)
343
344         +pn   --profile-null
345                 Authenticated unencrypted communication
346                 (retired, was used in IHE ATNA)
347
348       ciphersuite:
349
350         +cc   --list-ciphers
351                 show list of supported TLS ciphersuites and exit
352
353         +cs   --cipher  [c]iphersuite name: string
354                 add ciphersuite to list of negotiated suites
355
356       pseudo random generator:
357
358         +rs   --seed  [f]ilename: string
359                 seed random generator with contents of f
360
361         +ws   --write-seed
362                 write back modified seed (only with --seed)
363
364         +wf   --write-seed-file  [f]ilename: string (only with --seed)
365                 write modified seed to file f
366
367       peer authentication:
368
369         -rc   --require-peer-cert
370                 verify peer certificate, fail if absent (default)
371
372         -ic   --ignore-peer-cert
373                 don't verify peer certificate
374

NOTES

376   Scanning Directories
377       Adding  directories as a parameter to the command line only makes sense
378       if option --scan-directories  is  also  given.  If  the  files  in  the
379       provided  directories  should  be selected according to a specific name
380       pattern (e.g. using wildcard matching), option --scan-pattern has to be
381       used.  Please  note  that  this  file pattern only applies to the files
382       within  the  scanned  directories,  and,  if  any  other  patterns  are
383       specified  on  the command line outside the --scan-pattern option (e.g.
384       in order to select further files), these do not apply to the  specified
385       directories.
386
387   DICOM Conformance
388       The  storescu application supports the following Storage SOP Classes as
389       an SCU:
390
391       ComputedRadiographyImageStorage                      1.2.840.10008.5.1.4.1.1.1
392       DigitalXRayImageStorageForPresentation               1.2.840.10008.5.1.4.1.1.1.1
393       DigitalXRayImageStorageForProcessing                 1.2.840.10008.5.1.4.1.1.1.1.1
394       DigitalMammographyXRayImageStorageForPresentation    1.2.840.10008.5.1.4.1.1.1.2
395       DigitalMammographyXRayImageStorageForProcessing      1.2.840.10008.5.1.4.1.1.1.2.1
396       DigitalIntraOralXRayImageStorageForPresentation      1.2.840.10008.5.1.4.1.1.1.3
397       DigitalIntraOralXRayImageStorageForProcessing        1.2.840.10008.5.1.4.1.1.1.3.1
398       CTImageStorage                                       1.2.840.10008.5.1.4.1.1.2
399       EnhancedCTImageStorage                               1.2.840.10008.5.1.4.1.1.2.1
400       UltrasoundMultiframeImageStorage                     1.2.840.10008.5.1.4.1.1.3.1
401       MRImageStorage                                       1.2.840.10008.5.1.4.1.1.4
402       EnhancedMRImageStorage                               1.2.840.10008.5.1.4.1.1.4.1
403       MRSpectroscopyStorage                                1.2.840.10008.5.1.4.1.1.4.2
404       UltrasoundImageStorage                               1.2.840.10008.5.1.4.1.1.6.1
405       SecondaryCaptureImageStorage                         1.2.840.10008.5.1.4.1.1.7
406       MultiframeSingleBitSecondaryCaptureImageStorage      1.2.840.10008.5.1.4.1.1.7.1
407       MultiframeGrayscaleByteSecondaryCaptureImageStorage  1.2.840.10008.5.1.4.1.1.7.2
408       MultiframeGrayscaleWordSecondaryCaptureImageStorage  1.2.840.10008.5.1.4.1.1.7.3
409       MultiframeTrueColorSecondaryCaptureImageStorage      1.2.840.10008.5.1.4.1.1.7.4
410       TwelveLeadECGWaveformStorage                         1.2.840.10008.5.1.4.1.1.9.1.1
411       GeneralECGWaveformStorage                            1.2.840.10008.5.1.4.1.1.9.1.2
412       AmbulatoryECGWaveformStorage                         1.2.840.10008.5.1.4.1.1.9.1.3
413       HemodynamicWaveformStorage                           1.2.840.10008.5.1.4.1.1.9.2.1
414       CardiacElectrophysiologyWaveformStorage              1.2.840.10008.5.1.4.1.1.9.3.1
415       BasicVoiceAudioWaveformStorage                       1.2.840.10008.5.1.4.1.1.9.4.1
416       GrayscaleSoftcopyPresentationStateStorage            1.2.840.10008.5.1.4.1.1.11.1
417       ColorSoftcopyPresentationStateStorage                1.2.840.10008.5.1.4.1.1.11.2
418       PseudoColorSoftcopyPresentationStateStorage          1.2.840.10008.5.1.4.1.1.11.3
419       BlendingSoftcopyPresentationStateStorage             1.2.840.10008.5.1.4.1.1.11.4
420       XRayAngiographicImageStorage                         1.2.840.10008.5.1.4.1.1.12.1
421       EnhancedXAImageStorage                               1.2.840.10008.5.1.4.1.1.12.1.1
422       XRayRadiofluoroscopicImageStorage                    1.2.840.10008.5.1.4.1.1.12.2
423       EnhancedXRFImageStorage                              1.2.840.10008.5.1.4.1.1.12.2.1
424       NuclearMedicineImageStorage                          1.2.840.10008.5.1.4.1.1.20
425       RawDataStorage                                       1.2.840.10008.5.1.4.1.1.66
426       SpatialRegistrationStorage                           1.2.840.10008.5.1.4.1.1.66.1
427       SpatialFiducialsStorage                              1.2.840.10008.5.1.4.1.1.66.2
428       RealWorldValueMappingStorage                         1.2.840.10008.5.1.4.1.1.67
429       VLEndoscopicImageStorage                             1.2.840.10008.5.1.4.1.1.77.1.1
430       VLMicroscopicImageStorage                            1.2.840.10008.5.1.4.1.1.77.1.2
431       VLSlideCoordinatesMicroscopicImageStorage            1.2.840.10008.5.1.4.1.1.77.1.3
432       VLPhotographicImageStorage                           1.2.840.10008.5.1.4.1.1.77.1.4
433       OphthalmicPhotography8BitImageStorage                1.2.840.10008.5.1.4.1.1.77.1.5.1
434       OphthalmicPhotography16BitImageStorage               1.2.840.10008.5.1.4.1.1.77.1.5.2
435       StereometricRelationshipStorage                      1.2.840.10008.5.1.4.1.1.77.1.5.3
436       OphthalmicTomographyImageStorage                     1.2.840.10008.5.1.4.1.1.77.1.5.4
437       BasicTextSRStorage                                   1.2.840.10008.5.1.4.1.1.88.11
438       EnhancedSRStorage                                    1.2.840.10008.5.1.4.1.1.88.22
439       ComprehensiveSRStorage                               1.2.840.10008.5.1.4.1.1.88.33
440       ProcedureLogStorage                                  1.2.840.10008.5.1.4.1.1.88.40
441       MammographyCADSRStorage                              1.2.840.10008.5.1.4.1.1.88.50
442       KeyObjectSelectionDocumentStorage                    1.2.840.10008.5.1.4.1.1.88.59
443       ChestCADSRStorage                                    1.2.840.10008.5.1.4.1.1.88.65
444       XRayRadiationDoseSRStorage                           1.2.840.10008.5.1.4.1.1.88.67
445       ColonCADSRStorage                                    1.2.840.10008.5.1.4.1.1.88.69
446       EncapsulatedPDFStorage                               1.2.840.10008.5.1.4.1.1.104.1
447       PositronEmissionTomographyImageStorage               1.2.840.10008.5.1.4.1.1.128
448       RTImageStorage                                       1.2.840.10008.5.1.4.1.1.481.1
449       RTDoseStorage                                        1.2.840.10008.5.1.4.1.1.481.2
450       RTStructureSetStorage                                1.2.840.10008.5.1.4.1.1.481.3
451       RTBeamsTreatmentRecordStorage                        1.2.840.10008.5.1.4.1.1.481.4
452       RTPlanStorage                                        1.2.840.10008.5.1.4.1.1.481.5
453       RTBrachyTreatmentRecordStorage                       1.2.840.10008.5.1.4.1.1.481.6
454       RTTreatmentSummaryRecordStorage                      1.2.840.10008.5.1.4.1.1.481.7
455
456       The default  behavior  of  storescu  is  to  propose  two  presentation
457       contexts  for each supported SOP class (abstract syntax) - one with the
458       preferred transfer syntax and one with all other uncompressed  transfer
459       syntaxes.  The  default  preferred  transfer syntax is explicit VR with
460       byte ordering corresponding to the local byte ordering of  the  machine
461       on  which  storescu  is  running. This behavior can be changed with the
462       --propose, --combine and --required options, see  above.  Depending  on
463       these options, the following transfer syntaxes are supported:
464
465       LittleEndianImplicitTransferSyntax                   1.2.840.10008.1.2
466       LittleEndianExplicitTransferSyntax                   1.2.840.10008.1.2.1
467       DeflatedExplicitVRLittleEndianTransferSyntax         1.2.840.10008.1.2.1.99
468       BigEndianExplicitTransferSyntax                      1.2.840.10008.1.2.2
469       JPEGProcess1TransferSyntax                           1.2.840.10008.1.2.4.50
470       JPEGProcess2_4TransferSyntax                         1.2.840.10008.1.2.4.51
471       JPEGProcess14SV1TransferSyntax                       1.2.840.10008.1.2.4.70
472       JPEGLSLosslessTransferSyntax                         1.2.840.10008.1.2.4.80
473       JPEGLSLossyTransferSyntax                            1.2.840.10008.1.2.4.81
474       JPEG2000LosslessOnlyTransferSyntax                   1.2.840.10008.1.2.4.90
475       JPEG2000TransferSyntax                               1.2.840.10008.1.2.4.91
476       MPEG2MainProfileAtMainLevelTransferSyntax            1.2.840.10008.1.2.4.100
477       MPEG2MainProfileAtHighLevelTransferSyntax            1.2.840.10008.1.2.4.101
478       MPEG4HighProfileLevel4_1TransferSyntax               1.2.840.10008.1.2.4.102
479       MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax   1.2.840.10008.1.2.4.103
480       MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax    1.2.840.10008.1.2.4.104
481       MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax    1.2.840.10008.1.2.4.105
482       MPEG4StereoHighProfileLevel4_2TransferSyntax         1.2.840.10008.1.2.4.106
483       HEVCMainProfileLevel5_1TransferSyntax                1.2.840.10008.1.2.4.107
484       HEVCMain10ProfileLevel5_1TransferSyntax              1.2.840.10008.1.2.4.108
485       RLELosslessTransferSyntax                            1.2.840.10008.1.2.5
486
487       Additional  Storage  SOP Classes and Transfer Syntaxes can be used with
488       the so-called 'association negotiation profiles' (see below).
489
490       The storescu application  does  not  support  extended  negotiation  by
491       default.  However, using an appropriate association negotiation profile
492       (see below) the optional support for extended negotiation can be  added
493       to particular SOP classes.
494
495   Association Negotiation Profiles and Configuration Files
496       storescu supports a flexible mechanism for specifying the DICOM network
497       association  negotiation  behavior,  based  on  so-called  'association
498       negotiation  profiles' which may be read from a configuration file. The
499       format and semantics of  this  configuration  file  are  documented  in
500       asconfig.txt.
501

LOGGING

503       The  level  of  logging  output  of  the various command line tools and
504       underlying libraries can be specified by the  user.  By  default,  only
505       errors  and  warnings  are  written to the standard error stream. Using
506       option --verbose also informational messages  like  processing  details
507       are  reported.  Option  --debug  can be used to get more details on the
508       internal activity, e.g. for debugging purposes.  Other  logging  levels
509       can  be  selected  using option --log-level. In --quiet mode only fatal
510       errors are reported. In such very severe error events, the  application
511       will  usually  terminate.  For  more  details  on the different logging
512       levels, see documentation of module 'oflog'.
513
514       In case the logging output should be written to file  (optionally  with
515       logfile  rotation),  to syslog (Unix) or the event log (Windows) option
516       --log-config can be used.  This  configuration  file  also  allows  for
517       directing  only  certain messages to a particular output stream and for
518       filtering certain messages based on the  module  or  application  where
519       they  are  generated.  An  example  configuration  file  is provided in
520       <etcdir>/logger.cfg.
521

COMMAND LINE

523       All command line tools  use  the  following  notation  for  parameters:
524       square  brackets  enclose  optional  values  (0-1), three trailing dots
525       indicate that multiple values are allowed (1-n), a combination of  both
526       means 0 to n values.
527
528       Command line options are distinguished from parameters by a leading '+'
529       or '-' sign, respectively. Usually, order and position of command  line
530       options  are  arbitrary  (i.e.  they  can appear anywhere). However, if
531       options are mutually exclusive the rightmost appearance is  used.  This
532       behavior  conforms  to  the  standard  evaluation  rules of common Unix
533       shells.
534
535       In addition, one or more command files can be specified  using  an  '@'
536       sign  as  a  prefix to the filename (e.g. @command.txt). Such a command
537       argument is replaced by the content  of  the  corresponding  text  file
538       (multiple  whitespaces  are  treated  as a single separator unless they
539       appear between two quotation marks) prior to  any  further  evaluation.
540       Please  note  that  a command file cannot contain another command file.
541       This simple but effective  approach  allows  one  to  summarize  common
542       combinations  of  options/parameters  and  avoids longish and confusing
543       command lines (an example is provided in file <datadir>/dumppat.txt).
544

ENVIRONMENT

546       The storescu utility will  attempt  to  load  DICOM  data  dictionaries
547       specified  in the DCMDICTPATH environment variable. By default, i.e. if
548       the  DCMDICTPATH  environment   variable   is   not   set,   the   file
549       <datadir>/dicom.dic  will be loaded unless the dictionary is built into
550       the application (default for Windows).
551
552       The  default  behavior  should  be  preferred   and   the   DCMDICTPATH
553       environment  variable  only used when alternative data dictionaries are
554       required. The DCMDICTPATH environment variable has the same  format  as
555       the  Unix  shell PATH variable in that a colon (':') separates entries.
556       On Windows systems, a semicolon (';') is used as a separator. The  data
557       dictionary  code  will  attempt  to  load  each  file  specified in the
558       DCMDICTPATH environment variable. It is an error if no data  dictionary
559       can be loaded.
560

FILES

562       <docdir>/asconfig.txt - configuration file documentation
563       <etcdir>/storescu.cfg - example association negotiation profile
564

SEE ALSO

566       storescp(1)
567
569       Copyright  (C)  1996-2022  by OFFIS e.V., Escherweg 2, 26121 Oldenburg,
570       Germany.
571
572
573
574Version 3.6.7                   Fri Apr 22 2022                    storescu(1)
Impressum