storescu¶
storescu [options] addr port dcmfile
Description¶
The storescu application implements a Service Class User (SCU) for
the Storage Service Class [1]. It requests an association with a peer
Application Entity on IP address addr and port and, once an
Association is established, requests the transfer of the Storage SOP Instance
in dcmfile.
The following simple example shows what happens when it is succesfully run on a Storage SCP:
user@host: storescu 127.0.0.1 11112 path/to/file
user@host:
When attempting to use the Storage Service for a unsupported SOP Class:
user@host: storescu 127.0.0.1 11112 path/to/file
E: No Acceptable Presentation Contexts
user@host:
More information is available with the -d flag:
user@host: storescu 127.0.0.1 11112 path/to/file -d
D: $storescu.py v0.1.3
D:
D: Checking input file
I: Requesting Association
D: Request Parameters:
D: ====================== BEGIN A-ASSOCIATE-RQ =====================
...
D: ======================= END A-ASSOCIATE-AC ======================
I: Association Accepted
I: Sending file: CTImageStorage.dcm
I: Sending Store Request: MsgID 1, (CT)
D: ===================== OUTGOING DIMSE MESSAGE ====================
D: Message Type : C-STORE RQ
D: Message ID : 1
D: Affected SOP Class UID : 1.2.840.10008.5.1.4.1.1.2
D: Affected SOP Instance UID : 1.2.3.4.5.6
D: Data Set : Present
D: Priority : Low
D: ======================= END DIMSE MESSAGE =======================
D: pydicom.read_dataset() TransferSyntax="Little Endian Implicit"
I: Received Store Reponse
D: ===================== INCOMING DIMSE MESSAGE ====================
D: Message Type : C-STORE RSP
D: Presentation Context ID : 15
D: Message ID Being Responded To : 1
D: Affected SOP Class UID : 1.2.840.10008.5.1.4.1.1.2
D: Affected SOP Instance UID : 1.2.3.4.5.6
D: Data Set : None
D: DIMSE Status : 0x0000 - Success
D: ======================= END DIMSE MESSAGE =======================
I: Releasing Association
user@host:
Options¶
Logging¶
-q --quiet- quiet mode, prints no warnings or errors
-v --verbose- verbose mode, prints processing details
-d --debug- debug mode, prints debugging information
-ll --log-level [l]evel (str)- One of [‘critical’, ‘error’, ‘warning’, ‘info’, ‘debug’], prints logging messages with corresponding level or higher
-lc --log-config [f]ilename (str)- use python logging config [2] file f for the logger
Application Entity Titles¶
-aet --calling-aet [a]etitle (str)- set the local AE title (default: ECHOSCU)
-aec --called-aet [a]etitle (str)- set the called AE title for the peer AE (default: ANY-SCP)
Association Negotiation Debugging¶
-pts --propose-ts [n]umber (int)- propose n transfer syntaxes (1-3)
Miscellaneous DICOM¶
-to --timeout [s]econds (int)- timeout for connection requests (default: unlimited)
-ta --acse-timeout [s]econds (int)- timeout for ACSE messages (default: 30)
-td --dimse-timeout [s]econds (int)- timeout for DIMSE messages (default: unlimited)
-pdu --max-pdu [n]umber of bytes (int)- set maximum receive PDU bytes to n bytes (default: 16384)
--repeat [n]umber (int)- repeat echo n times
--abort- abort association instead of releasing it
DICOM Conformance¶
The storescu application supports the following SOP Class as an SCU:
| UID | SOP Class |
|---|---|
| 1.2.840.10008.1.1 | Verification SOP Class |
Unless the --propose-ts option is used, the storescu application will only
propose the Little Endian Implicit VR Transfer Syntax (UID 1.2.840.10008.1.2).
The supported Transfer Syntaxes [3] are:
| UID | Transfer Syntax |
|---|---|
| 1.2.840.10008.1.2 | Little Endian Implicit VR |
| 1.2.840.10008.1.2.1 | Little Endian Explicit VR |
| 1.2.840.10008.1.2.2 | Big Endian Explicit VR |
Footnotes
| [1] | DICOM Standard, Part 6, Table A-1 |
| [2] | DICOM Standard, Part 7, Sections 9.1.5 and 9.3.5 |
| [3] | DICOM Standard, Part 8, Sections 7.1.1.13 and 9.3.2.2 |