$dcmtk: storescp v3.7.1 2026-10-15 $
storescp: DICOM storage (C-STORE) SCP
usage: storescp [options] [port]
parameters:
port tcp/ip port number to listen on
general options:
-h --help print this help text and exit
--version print version information and exit
--arguments print expanded command line arguments
-q --quiet quiet mode, print no warnings and errors
-v --verbose verbose mode, print processing details
-d --debug debug mode, print debug information
-ll --log-level [l]evel: string constant
(fatal, error, warn, info, debug, trace)
use level l for the logger
-lc --log-config [f]ilename: string
use config file f for the logger
+v --verbose-pc show presentation contexts in verbose mode
multi-process options:
--single-process single process mode (default)
--fork fork child process for each association
--max-associations [m]ax: integer (default: unlimited)
limit number of parallel associations to m
network options:
IP protocol version:
-i4 --ipv4 use IPv4 only (default)
-i6 --ipv6 use IPv6 only
-i0 --ip-auto use IPv6/IPv4 dual stack
association negotiation profile from configuration file:
-xf --config-file [f]ilename, [p]rofile: string
use profile p from config file f
preferred network transfer syntaxes (not with --config-file):
+x= --prefer-uncompr prefer explicit VR local byte order (default)
+xe --prefer-little prefer explicit VR little endian TS
+xb --prefer-big prefer explicit VR big endian TS
+xs --prefer-lossless prefer default JPEG lossless TS
+xy --prefer-jpeg8 prefer default JPEG lossy TS for 8 bit data
+xx --prefer-jpeg12 prefer default JPEG lossy TS for 12 bit data
+xv --prefer-j2k-lossless prefer JPEG 2000 lossless TS
+xw --prefer-j2k-lossy prefer JPEG 2000 lossy TS
+xt --prefer-jls-lossless prefer JPEG-LS lossless TS
+xu --prefer-jls-lossy prefer JPEG-LS lossy TS
+xm --prefer-mpeg2 prefer MPEG2 Main Profile @ Main Level TS
+xh --prefer-mpeg2-high prefer MPEG2 Main Profile @ High Level TS
+xn --prefer-mpeg4 prefer MPEG4 AVC/H.264 HP / Level 4.1 TS
+xl --prefer-mpeg4-bd prefer MPEG4 AVC/H.264 BD-compatible TS
+x2 --prefer-mpeg4-2-2d prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (2D)
+x3 --prefer-mpeg4-2-3d prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)
+xo --prefer-mpeg4-2-st prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS
+x4 --prefer-hevc prefer HEVC/H.265 Main Profile / Level 5.1 TS
+x5 --prefer-hevc10 prefer HEVC/H.265 Main 10 Profile / L5.1 TS
+xr --prefer-rle prefer RLE lossless TS
+xd --prefer-deflated prefer deflated expl. VR little endian TS
+xi --implicit accept implicit VR little endian TS only
+xa --accept-all accept all supported transfer syntaxes
other network options:
-id --inetd run from inetd super server (not with --fork)
-ts --socket-timeout [s]econds: integer (default: 60)
timeout for network socket (0 for none)
-ta --acse-timeout [s]econds: integer (default: 30)
timeout for ACSE messages
-td --dimse-timeout [s]econds: integer (default: unlimited)
timeout for DIMSE messages
-aet --aetitle [a]etitle: string
set my AE title (default: STORESCP)
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)
set max receive pdu to n bytes (default: 16384)
-dhl --disable-host-lookup disable hostname lookup
--refuse refuse association
--reject reject association if no implement. class UID
--ignore ignore store data, receive but do not store
--sleep-after [s]econds: integer
sleep s seconds after store (default: 0)
--sleep-during [s]econds: integer
sleep s seconds during store (default: 0)
--abort-after abort association after receipt of C-STORE-RQ
(but before sending response)
--abort-during abort association during receipt of C-STORE-RQ
-pm --promiscuous promiscuous mode, accept unknown SOP classes
(not with --config-file)
-up --uid-padding silently correct space-padded UIDs
transport layer security (TLS) options:
transport protocol stack:
-tls --disable-tls use normal TCP/IP connection (default)
+tls --enable-tls [p]rivate key file, [c]ertificate file: string
use authenticated secure TLS connection
private key password (only with --enable-tls):
+ps --std-passwd prompt user to type password on stdin (default)
+pw --use-passwd [p]assword: string
use specified password
-pw --null-passwd use empty string as password
key and certificate file format:
-pem --pem-keys read keys and certs as PEM file (default)
-der --der-keys read keys and certificates as DER file
certification authority:
+cf --add-cert-file [f]ilename: string
add certificate file to list of certificates
+cd --add-cert-dir [d]irectory: string
add certificates in d to list of certificates
+crl --add-crl-file [f]ilename: string
add certificate revocation list file
(implies --enable-crl-vfy)
+crv --enable-crl-vfy enable leaf CRL verification
+cra --enable-crl-all enable full chain CRL verification
security profile:
+ph --list-profiles list supported TLS profiles and exit
+pg --profile-8996 BCP 195 RFC 8996 TLS Profile (default)
+pm --profile-8996-mod Modified BCP 195 RFC 8996 TLS Profile
+py --profile-bcp195-nd Non-downgrading BCP 195 TLS Profile (retired)
+px --profile-bcp195 BCP 195 TLS Profile (retired)
+pz --profile-bcp195-ex Extended BCP 195 TLS Profile (retired)
+pa --profile-aes AES TLS Secure Transport Connection Profile
(retired)
ciphersuite:
+cc --list-ciphers list supported TLS ciphersuites and exit
+cs --cipher [c]iphersuite name: string
add ciphersuite to list of negotiated suites
(not with --profile-bcp195-ex)
+dp --dhparam [f]ilename: string
read DH parameters for DH/DSS ciphersuites
server name indication:
--no-sni do not use SNI (default)
--expect-sni [s]erver name: string
expect requests for server name s
pseudo random generator:
+rs --seed [f]ilename: string
seed random generator with contents of f
+ws --write-seed write back modified seed (only with --seed)
+wf --write-seed-file [f]ilename: string (only with --seed)
write modified seed to file f
peer authentication:
-rc --require-peer-cert verify peer cert, fail if absent (default)
-vc --verify-peer-cert verify peer certificate if present
-ic --ignore-peer-cert don't verify peer certificate
output options:
general:
-od --output-directory [d]irectory: string (default: ".")
write received objects to existing directory d
bit preserving mode:
-B --normal allow implicit format conversions (default)
+B --bit-preserving write data exactly as read
output file format:
+F --write-file write file format (default)
-F --write-dataset write data set without file meta information
output transfer syntax (not with --bit-preserving or compressed transmission):
+t= --write-xfer-same write with same TS as input (default)
+te --write-xfer-little write with explicit VR little endian TS
+tb --write-xfer-big write with explicit VR big endian TS
+ti --write-xfer-implicit write with implicit VR little endian TS
+td --write-xfer-deflated write with deflated expl. VR little endian TS
post-1993 value representations (not with --bit-preserving):
+u --enable-new-vr enable support for new VRs (UN/UT) (default)
-u --disable-new-vr disable support for new VRs, convert to OB
group length encoding (not with --bit-preserving):
+g= --group-length-recalc recalculate group lengths if present (default)
+g --group-length-create always write with group length elements
-g --group-length-remove always write without group length elements
length encoding in sequences and items (not with --bit-preserving):
+e --length-explicit write with explicit lengths (default)
-e --length-undefined write with undefined lengths
data set trailing padding (not with --write-dataset or --bit-preserving):
-p --padding-off no padding (default)
+p --padding-create [f]ile-pad [i]tem-pad: integer
align file on multiple of f bytes and items
on multiple of i bytes
handling of defined length UN elements:
-uc --retain-un retain elements as UN (default)
+uc --convert-un convert to real VR if known
deflate compression level (only with --write-xfer-deflated/same):
+cl --compression-level [l]evel: integer (default: 6)
0=uncompressed, 1=fastest, 9=best compression
sorting into subdirectories (not with --bit-preserving):
-ss --sort-conc-studies [p]refix: string
sort studies using prefix p and a timestamp
-su --sort-on-study-uid [p]refix: string
sort studies using prefix p and the Study
Instance UID
-sp --sort-on-patientname sort studies using the Patient's Name and
a timestamp
filename generation:
-uf --default-filenames generate filename from instance UID (default)
+uf --unique-filenames generate unique filenames
-tn --timenames generate filename from creation time
-fe --filename-extension [e]xtension: string
append e to all filenames
event options:
-xcr --exec-on-reception [c]ommand: string
execute command c after having received and
processed one C-STORE-RQ message
-xcs --exec-on-eostudy [c]ommand: string
execute command c after having received and
processed all C-STORE-RQ messages that belong
to one study
-rns --rename-on-eostudy having received and processed all C-STORE-RQ
messages that belong to one study, rename
output files according to certain pattern
-tos --eostudy-timeout [t]imeout: integer
specifies a timeout of t seconds for
end-of-study determination
-xs --exec-sync execute command synchronously in foreground
Options (59)
| Option | Description | Source |
|---|---|---|
-h | --help print this help text and exit | help |
--version | print version information and exit | help |
--arguments | print expanded command line arguments | help |
-q | --quiet quiet mode, print no warnings and errors | help |
-v | --verbose verbose mode, print processing details | help |
-d | --debug debug mode, print debug information | help |
-ll | --log-level [l]evel: string constant (fatal, error, warn, info, debug, trace) use level l for the logger | help |
-lc | --log-config [f]ilename: string use config file f for the logger | help |
--single-process | single process mode (default) | help |
--fork | fork child process for each association | help |
--max-associations | [m]ax: integer (default: unlimited) limit number of parallel associations to m | help |
-i4 | --ipv4 use IPv4 only (default) | help |
-i6 | --ipv6 use IPv6 only | help |
-i0 | --ip-auto use IPv6/IPv4 dual stack | help |
-xf | --config-file [f]ilename, [p]rofile: string use profile p from config file f | help |
-id | --inetd run from inetd super server (not with --fork) | help |
-ts | --socket-timeout [s]econds: integer (default: 60) timeout for network socket (0 for none) | help |
-ta | --acse-timeout [s]econds: integer (default: 30) timeout for ACSE messages | help |
-td | --dimse-timeout [s]econds: integer (default: unlimited) timeout for DIMSE messages | help |
-aet | --aetitle [a]etitle: string set my AE title (default: STORESCP) | help |
-pdu | --max-pdu [n]umber of bytes: integer (4096..131072) set max receive pdu to n bytes (default: 16384) | help |
-dhl | --disable-host-lookup disable hostname lookup | help |
--refuse | refuse association | help |
--reject | reject association if no implement. | help |
--ignore | ignore store data, receive but do not store | help |
--sleep-after | [s]econds: integer sleep s seconds after store (default: 0) | help |
--sleep-during | [s]econds: integer sleep s seconds during store (default: 0) | help |
--abort-after | abort association after receipt of C-STORE-RQ (but before sending response) | help |
--abort-during | abort association during receipt of C-STORE-RQ | help |
-pm | --promiscuous promiscuous mode, accept unknown SOP classes (not with --config-file) | help |
-up | --uid-padding silently correct space-padded UIDs | help |
-tls | --disable-tls use normal TCP/IP connection (default) | help |
-pw | --null-passwd use empty string as password | help |
-pem | --pem-keys read keys and certs as PEM file (default) | help |
-der | --der-keys read keys and certificates as DER file | help |
--no-sni | do not use SNI (default) | help |
--expect-sni | [s]erver name: string expect requests for server name s | help |
-rc | --require-peer-cert verify peer cert, fail if absent (default) | help |
-vc | --verify-peer-cert verify peer certificate if present | help |
-ic | --ignore-peer-cert don't verify peer certificate | help |
-od | --output-directory [d]irectory: string (default: ".") write received objects to existing directory d | help |
-B | --normal allow implicit format conversions (default) | help |
-F | --write-dataset write data set without file meta information | help |
-u | --disable-new-vr disable support for new VRs, convert to OB | help |
-g | --group-length-remove always write without group length elements | help |
-e | --length-undefined write with undefined lengths | help |
-p | --padding-off no padding (default) | help |
-uc | --retain-un retain elements as UN (default) | help |
-ss | --sort-conc-studies [p]refix: string sort studies using prefix p and a timestamp | help |
-su | --sort-on-study-uid [p]refix: string sort studies using prefix p and the Study Instance UID | help |
-sp | --sort-on-patientname sort studies using the Patient's Name and a timestamp | help |
-uf | --default-filenames generate filename from instance UID (default) | help |
-tn | --timenames generate filename from creation time | help |
-fe | --filename-extension [e]xtension: string append e to all filenames | help |
-xcr | --exec-on-reception [c]ommand: string execute command c after having received and processed one C-STORE-RQ message | help |
-xcs | --exec-on-eostudy [c]ommand: string execute command c after having received and processed all C-STORE-RQ messages that belong to one study | help |
-rns | --rename-on-eostudy having received and processed all C-STORE-RQ messages that belong to one study, rename output files according to certain pattern | help |
-tos | --eostudy-timeout [t]imeout: integer specifies a timeout of t seconds for end-of-study determination | help |
-xs | --exec-sync execute command synchronously in foreground | help |