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

NOTES

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

LOGGING

484       The  level  of  logging  output  of  the various command line tools and
485       underlying libraries can be specified by the  user.  By  default,  only
486       errors  and  warnings  are  written to the standard error stream. Using
487       option --verbose also informational messages  like  processing  details
488       are  reported.  Option  --debug  can be used to get more details on the
489       internal activity, e.g. for debugging purposes.  Other  logging  levels
490       can  be  selected  using option --log-level. In --quiet mode only fatal
491       errors are reported. In such very severe error events, the  application
492       will  usually  terminate.  For  more  details  on the different logging
493       levels, see documentation of module 'oflog'.
494
495       In case the logging output should be written to file  (optionally  with
496       logfile  rotation),  to syslog (Unix) or the event log (Windows) option
497       --log-config can be used.  This  configuration  file  also  allows  for
498       directing  only  certain messages to a particular output stream and for
499       filtering certain messages based on the  module  or  application  where
500       they  are  generated.  An  example  configuration  file  is provided in
501       <etcdir>/logger.cfg.
502

COMMAND LINE

504       All command line tools  use  the  following  notation  for  parameters:
505       square  brackets  enclose  optional  values  (0-1), three trailing dots
506       indicate that multiple values are allowed (1-n), a combination of  both
507       means 0 to n values.
508
509       Command line options are distinguished from parameters by a leading '+'
510       or '-' sign, respectively. Usually, order and position of command  line
511       options  are  arbitrary  (i.e.  they  can appear anywhere). However, if
512       options are mutually exclusive the rightmost appearance is  used.  This
513       behavior  conforms  to  the  standard  evaluation  rules of common Unix
514       shells.
515
516       In addition, one or more command files can be specified  using  an  '@'
517       sign  as  a  prefix to the filename (e.g. @command.txt). Such a command
518       argument is replaced by the content  of  the  corresponding  text  file
519       (multiple  whitespaces  are  treated  as a single separator unless they
520       appear between two quotation marks) prior to  any  further  evaluation.
521       Please  note  that  a command file cannot contain another command file.
522       This simple but effective  approach  allows  one  to  summarize  common
523       combinations  of  options/parameters  and  avoids longish and confusing
524       command lines (an example is provided in file <datadir>/dumppat.txt).
525

ENVIRONMENT

527       The storescu utility will  attempt  to  load  DICOM  data  dictionaries
528       specified  in the DCMDICTPATH environment variable. By default, i.e. if
529       the  DCMDICTPATH  environment   variable   is   not   set,   the   file
530       <datadir>/dicom.dic  will be loaded unless the dictionary is built into
531       the application (default for Windows).
532
533       The  default  behavior  should  be  preferred   and   the   DCMDICTPATH
534       environment  variable  only used when alternative data dictionaries are
535       required. The DCMDICTPATH environment variable has the same  format  as
536       the  Unix  shell PATH variable in that a colon (':') separates entries.
537       On Windows systems, a semicolon (';') is used as a separator. The  data
538       dictionary  code  will  attempt  to  load  each  file  specified in the
539       DCMDICTPATH environment variable. It is an error if no data  dictionary
540       can be loaded.
541

FILES

543       <docdir>/asconfig.txt - configuration file documentation
544       <etcdir>/storescu.cfg - example association negotiation profile
545

SEE ALSO

547       storescp(1)
548
550       Copyright  (C)  1996-2018  by OFFIS e.V., Escherweg 2, 26121 Oldenburg,
551       Germany.
552
553
554
555Version 3.6.4                   Thu Nov 29 2018                    storescu(1)
Impressum