1storescu(1) OFFIS DCMTK storescu(1)
2
3
4
6 storescu - DICOM storage (C-STORE) SCU
7
8
10 storescu [options] peer port dcmfile-in...
11
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
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
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
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
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
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
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
562 <docdir>/asconfig.txt - configuration file documentation
563 <etcdir>/storescu.cfg - example association negotiation profile
564
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)