OFFIS DCMTK  Version 3.6.0
storescu.man
1 /*!
2 
3 \if MANPAGES
4 \page storescu DICOM storage (C-STORE) SCU
5 \else
6 \page storescu storescu: DICOM storage (C-STORE) SCU
7 \endif
8 
9 \section synopsis SYNOPSIS
10 
11 \verbatim
12 storescu [options] peer port dcmfile-in...
13 \endverbatim
14 
15 \section description DESCRIPTION
16 
17 The \b storescu application implements a Service Class User (SCU) for the
18 Storage Service Class. For each DICOM file on the command line it sends
19 a C-STORE message to a Storage Service Class Provider (SCP) and waits for a
20 response. The application can be used to transmit DICOM images and other
21 DICOM composite objects.
22 
23 \section parameters PARAMETERS
24 
25 \verbatim
26 peer hostname of DICOM peer
27 
28 port tcp/ip port number of peer
29 
30 dcmfile-in DICOM file or directory to be transmitted
31 \endverbatim
32 
33 \section options OPTIONS
34 
35 \subsection general_options general options
36 \verbatim
37  -h --help
38  print this help text and exit
39 
40  --version
41  print version information and exit
42 
43  --arguments
44  print expanded command line arguments
45 
46  -q --quiet
47  quiet mode, print no warnings and errors
48 
49  -v --verbose
50  verbose mode, print processing details
51 
52  -d --debug
53  debug mode, print debug information
54 
55  -ll --log-level [l]evel: string constant
56  (fatal, error, warn, info, debug, trace)
57  use level l for the logger
58 
59  -lc --log-config [f]ilename: string
60  use config file f for the logger
61 
62  +v --verbose-pc
63  show presentation contexts in verbose mode
64 \endverbatim
65 
66 \subsection input_options input options
67 \verbatim
68 input file format:
69 
70  +f --read-file
71  read file format or data set (default)
72 
73  +fo --read-file-only
74  read file format only
75 
76  -f --read-dataset
77  read data set without file meta information
78 
79 input files:
80 
81  +sd --scan-directories
82  scan directories for input files (dcmfile-in)
83 
84  +sp --scan-pattern [p]attern: string (only with --scan-directories)
85  pattern for filename matching (wildcards)
86 
87  # possibly not available on all systems
88 
89  -r --no-recurse
90  do not recurse within directories (default)
91 
92  +r --recurse
93  recurse within specified directories
94 \endverbatim
95 
96 \subsection network_options network options
97 \verbatim
98 application entity titles:
99 
100  -aet --aetitle [a]etitle: string
101  set my calling AE title (default: STORESCU)
102 
103  -aec --call [a]etitle: string
104  set called AE title of peer (default: ANY-SCP)
105 
106 association negotiation profile from configuration file:
107 
108  -xf --config-file [f]ilename, [p]rofile: string
109  use profile p from config file f
110 
111 proposed transmission transfer syntaxes (not with --config-file):
112 
113  -x= --propose-uncompr
114  propose all uncompressed TS, explicit VR
115  with local byte ordering first (default)
116 
117  -xe --propose-little
118  propose all uncompressed TS, explicit VR little endian first
119 
120  -xb --propose-big
121  propose all uncompressed TS, explicit VR big endian first
122 
123  -xi --propose-implicit
124  propose implicit VR little endian TS only
125 
126  -xs --propose-lossless
127  propose default JPEG lossless TS
128  and all uncompressed transfer syntaxes
129 
130  -xy --propose-jpeg8
131  propose default JPEG lossy TS for 8 bit data
132  and all uncompressed transfer syntaxes
133 
134  -xx --propose-jpeg12
135  propose default JPEG lossy TS for 12 bit data
136  and all uncompressed transfer syntaxes
137 
138  -xv --propose-j2k-lossless
139  propose JPEG 2000 lossless TS
140  and all uncompressed transfer syntaxes
141 
142  -xw --propose-j2k-lossy
143  propose JPEG 2000 lossy TS
144  and all uncompressed transfer syntaxes
145 
146  -xt --propose-jls-lossless
147  propose JPEG-LS lossless TS
148  and all uncompressed transfer syntaxes
149 
150  -xu --propose-jls-lossy
151  propose JPEG-LS lossy TS
152  and all uncompressed transfer syntaxes
153 
154  -xm --propose-mpeg2
155  propose MPEG2 Main Profile @ Main Level TS only
156 
157  -xh --propose-mpeg2-high
158  propose MPEG2 Main Profile @ High Level TS only
159 
160  -xr --propose-rle
161  propose RLE lossless TS
162  and all uncompressed transfer syntaxes
163 
164  -R --required
165  propose only required presentation contexts
166  (default: propose all supported)
167 
168  +C --combine
169  combine proposed transfer syntaxes
170  (default: separate presentation context for each TS)
171 
172 post-1993 value representations:
173 
174  +u --enable-new-vr
175  enable support for new VRs (UN/UT) (default)
176 
177  -u --disable-new-vr
178  disable support for new VRs, convert to OB
179 
180 deflate compression level (only with --propose-deflated or --config-file):
181 
182  +cl --compression-level [l]evel: integer (default: 6)
183  0=uncompressed, 1=fastest, 9=best compression
184 
185 user identity negotiation:
186 
187  -usr --user [u]ser name: string
188  authenticate using user name u
189 
190  -pwd --password [p]assword: string (only with --user)
191  authenticate using password p
192 
193  -epw --empty-password
194  send empty password (only with --user)
195 
196  -kt --kerberos [f]ilename: string
197  read kerberos ticket from file f
198 
199  --saml [f]ilename: string
200  read SAML request from file f
201 
202  -rsp --pos-response
203  expect positive response
204 
205 other network options:
206 
207  -to --timeout [s]econds: integer (default: unlimited)
208  timeout for connection requests
209 
210  -ta --acse-timeout [s]econds: integer (default: 30)
211  timeout for ACSE messages
212 
213  -td --dimse-timeout [s]econds: integer (default: unlimited)
214  timeout for DIMSE messages
215 
216  -pdu --max-pdu [n]umber of bytes: integer (4096..131072)
217  set max receive pdu to n bytes (default: 16384)
218 
219  --max-send-pdu [n]umber of bytes: integer (4096..131072)
220  restrict max send pdu to n bytes
221 
222  --repeat [n]umber: integer
223  repeat n times
224 
225  --abort
226  abort association instead of releasing it
227 
228  -nh --no-halt
229  do not halt if unsuccessful store encountered
230  (default: do halt)
231 
232  -up --uid-padding
233  silently correct space-padded UIDs
234 
235  +II --invent-instance
236  invent a new SOP instance UID for every image sent
237 
238  +IR --invent-series [n]umber: integer (implies --invent-instance)
239  invent a new series UID after n images have been sent
240  (default: 100)
241 
242  +IS --invent-study [n]umber: integer (implies --invent-instance)
243  invent a new study UID after n series have been sent
244  (default: 50)
245 
246  +IP --invent-patient [n]umber: integer (implies --invent-instance)
247  invent a new patient ID and name after n studies have been sent
248  (default: 25)
249 \endverbatim
250 
251 \subsection tls_options transport layer security (TLS) options
252 \verbatim
253 transport protocol stack:
254 
255  -tls --disable-tls
256  use normal TCP/IP connection (default)
257 
258  +tls --enable-tls [p]rivate key file, [c]ertificate file: string
259  use authenticated secure TLS connection
260 
261  +tla --anonymous-tls
262  use secure TLS connection without certificate
263 
264 private key password (only with --enable-tls):
265 
266  +ps --std-passwd
267  prompt user to type password on stdin (default)
268 
269  +pw --use-passwd [p]assword: string
270  use specified password
271 
272  -pw --null-passwd
273  use empty string as password
274 
275 key and certificate file format:
276 
277  -pem --pem-keys
278  read keys and certificates as PEM file (default)
279 
280  -der --der-keys
281  read keys and certificates as DER file
282 
283 certification authority:
284 
285  +cf --add-cert-file [c]ertificate filename: string
286  add certificate file to list of certificates
287 
288  +cd --add-cert-dir [c]ertificate directory: string
289  add certificates in d to list of certificates
290 
291 ciphersuite:
292 
293  +cs --cipher [c]iphersuite name: string
294  add ciphersuite to list of negotiated suites
295 
296  +dp --dhparam [f]ilename: string
297  read DH parameters for DH/DSS ciphersuites
298 
299 pseudo random generator:
300 
301  +rs --seed [f]ilename: string
302  seed random generator with contents of f
303 
304  +ws --write-seed
305  write back modified seed (only with --seed)
306 
307  +wf --write-seed-file [f]ilename: string (only with --seed)
308  write modified seed to file f
309 
310 peer authentication:
311 
312  -rc --require-peer-cert
313  verify peer certificate, fail if absent (default)
314 
315  -vc --verify-peer-cert
316  verify peer certificate if present
317 
318  -ic --ignore-peer-cert
319  don't verify peer certificate
320 \endverbatim
321 
322 \section notes NOTES
323 
324 \subsection dicom_conformance DICOM Conformance
325 
326 The \b storescu application supports the following Storage SOP Classes as an
327 SCU:
328 
329 \verbatim
330 ComputedRadiographyImageStorage 1.2.840.10008.5.1.4.1.1.1
331 DigitalXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.1
332 DigitalXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.1.1
333 DigitalMammographyXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.2
334 DigitalMammographyXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.2.1
335 DigitalIntraOralXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.3
336 DigitalIntraOralXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.3.1
337 CTImageStorage 1.2.840.10008.5.1.4.1.1.2
338 EnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.1
339 UltrasoundMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.3.1
340 MRImageStorage 1.2.840.10008.5.1.4.1.1.4
341 EnhancedMRImageStorage 1.2.840.10008.5.1.4.1.1.4.1
342 MRSpectroscopyStorage 1.2.840.10008.5.1.4.1.1.4.2
343 UltrasoundImageStorage 1.2.840.10008.5.1.4.1.1.6.1
344 SecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7
345 MultiframeSingleBitSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.1
346 MultiframeGrayscaleByteSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.2
347 MultiframeGrayscaleWordSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.3
348 MultiframeTrueColorSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.4
349 TwelveLeadECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.1
350 GeneralECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.2
351 AmbulatoryECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.3
352 HemodynamicWaveformStorage 1.2.840.10008.5.1.4.1.1.9.2.1
353 CardiacElectrophysiologyWaveformStorage 1.2.840.10008.5.1.4.1.1.9.3.1
354 BasicVoiceAudioWaveformStorage 1.2.840.10008.5.1.4.1.1.9.4.1
355 GrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.1
356 ColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.2
357 PseudoColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.3
358 BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
359 XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
360 EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
361 XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
362 EnhancedXRFImageStorage 1.2.840.10008.5.1.4.1.1.12.2.1
363 NuclearMedicineImageStorage 1.2.840.10008.5.1.4.1.1.20
364 RawDataStorage 1.2.840.10008.5.1.4.1.1.66
365 SpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.1
366 SpatialFiducialsStorage 1.2.840.10008.5.1.4.1.1.66.2
367 RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67
368 VLEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1
369 VLMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2
370 VLSlideCoordinatesMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.3
371 VLPhotographicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.4
372 OphthalmicPhotography8BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.1
373 OphthalmicPhotography16BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.2
374 StereometricRelationshipStorage 1.2.840.10008.5.1.4.1.1.77.1.5.3
375 OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
376 BasicTextSRStorage 1.2.840.10008.5.1.4.1.1.88.11
377 EnhancedSRStorage 1.2.840.10008.5.1.4.1.1.88.22
378 ComprehensiveSRStorage 1.2.840.10008.5.1.4.1.1.88.33
379 ProcedureLogStorage 1.2.840.10008.5.1.4.1.1.88.40
380 MammographyCADSRStorage 1.2.840.10008.5.1.4.1.1.88.50
381 KeyObjectSelectionDocumentStorage 1.2.840.10008.5.1.4.1.1.88.59
382 ChestCADSRStorage 1.2.840.10008.5.1.4.1.1.88.65
383 XRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.67
384 ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69
385 EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
386 PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128
387 RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1
388 RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2
389 RTStructureSetStorage 1.2.840.10008.5.1.4.1.1.481.3
390 RTBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.4
391 RTPlanStorage 1.2.840.10008.5.1.4.1.1.481.5
392 RTBrachyTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.6
393 RTTreatmentSummaryRecordStorage 1.2.840.10008.5.1.4.1.1.481.7
394 \endverbatim
395 
396 The default behaviour of \b storescu is to propose two presentation contexts
397 for each supported SOP class (abstract syntax) - one with the preferred
398 transfer syntax and one with all other uncompressed transfer syntaxes. The
399 default preferred transfer syntax is explicit VR with byte ordering
400 corresponding to the local byte ordering of the machine on which \b storescu
401 is running. This behaviour can be changed with the \e --propose, \e --combine
402 and \e --required options, see above. Depending on these options, the
403 following transfer syntaxes are supported:
404 
405 \verbatim
406 LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
407 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
408 DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99
409 BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
410 JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50
411 JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51
412 JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70
413 JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80
414 JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81
415 JPEG2000LosslessOnlyTransferSyntax 1.2.840.10008.1.2.4.90
416 JPEG2000TransferSyntax 1.2.840.10008.1.2.4.91
417 MPEG2MainProfileAtMainLevelTransferSyntax 1.2.840.10008.1.2.4.100
418 MPEG2MainProfileAtHighLevelTransferSyntax 1.2.840.10008.1.2.4.101
419 RLELosslessTransferSyntax 1.2.840.10008.1.2.5
420 \endverbatim
421 
422 Additional Storage SOP Classes and Transfer Syntaxes can be used with the
423 so-called "association negotiation profiles" (see below).
424 
425 The \b storescu application does not support extended negotiation by default.
426 However, using an appropriate association negotiation profile (see below)
427 the optional support for extended negotiation can be added to particular SOP
428 classes.
429 
430 \subsection profiles Association Negotiation Profiles and Configuration Files
431 
432 \b storescu supports a flexible mechanism for specifying the DICOM network
433 association negotiation behaviour, based on so-called "association
434 negotiation profiles" which may be read from a configuration file.
435 The format and semantics of this configuration file are documented in
436 \e asconfig.txt.
437 
438 \section logging LOGGING
439 
440 The level of logging output of the various command line tools and underlying
441 libraries can be specified by the user. By default, only errors and warnings
442 are written to the standard error stream. Using option \e --verbose also
443 informational messages like processing details are reported. Option
444 \e --debug can be used to get more details on the internal activity, e.g. for
445 debugging purposes. Other logging levels can be selected using option
446 \e --log-level. In \e --quiet mode only fatal errors are reported. In such
447 very severe error events, the application will usually terminate. For more
448 details on the different logging levels, see documentation of module "oflog".
449 
450 In case the logging output should be written to file (optionally with logfile
451 rotation), to syslog (Unix) or the event log (Windows) option \e --log-config
452 can be used. This configuration file also allows for directing only certain
453 messages to a particular output stream and for filtering certain messages
454 based on the module or application where they are generated. An example
455 configuration file is provided in <em><etcdir>/logger.cfg</em>).
456 
457 \section command_line COMMAND LINE
458 
459 All command line tools use the following notation for parameters: square
460 brackets enclose optional values (0-1), three trailing dots indicate that
461 multiple values are allowed (1-n), a combination of both means 0 to n values.
462 
463 Command line options are distinguished from parameters by a leading '+' or '-'
464 sign, respectively. Usually, order and position of command line options are
465 arbitrary (i.e. they can appear anywhere). However, if options are mutually
466 exclusive the rightmost appearance is used. This behaviour conforms to the
467 standard evaluation rules of common Unix shells.
468 
469 In addition, one or more command files can be specified using an '@' sign as a
470 prefix to the filename (e.g. <em>\@command.txt</em>). Such a command argument
471 is replaced by the content of the corresponding text file (multiple
472 whitespaces are treated as a single separator unless they appear between two
473 quotation marks) prior to any further evaluation. Please note that a command
474 file cannot contain another command file. This simple but effective approach
475 allows to summarize common combinations of options/parameters and avoids
476 longish and confusing command lines (an example is provided in file
477 <em><datadir>/dumppat.txt</em>).
478 
479 \section environment ENVIRONMENT
480 
481 The \b storescu utility will attempt to load DICOM data dictionaries specified
482 in the \e DCMDICTPATH environment variable. By default, i.e. if the
483 \e DCMDICTPATH environment variable is not set, the file
484 <em><datadir>/dicom.dic</em> will be loaded unless the dictionary is built
485 into the application (default for Windows).
486 
487 The default behaviour should be preferred and the \e DCMDICTPATH environment
488 variable only used when alternative data dictionaries are required. The
489 \e DCMDICTPATH environment variable has the same format as the Unix shell
490 \e PATH variable in that a colon (":") separates entries. On Windows systems,
491 a semicolon (";") is used as a separator. The data dictionary code will
492 attempt to load each file specified in the \e DCMDICTPATH environment variable.
493 It is an error if no data dictionary can be loaded.
494 
495 \section files FILES
496 
497 <em><docdir>/asconfig.txt</em> - configuration file documentation
498 \n<em><etcdir>/storescu.cfg</em> - example association negotiation profile
499 
500 \section see_also SEE ALSO
501 
502 <b>storescp</b>(1)
503 
504 \section copyright COPYRIGHT
505 
506 Copyright (C) 1996-2010 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
507 
508 */


Generated on Wed Dec 14 2016 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.11