Skip to content

Latest commit

 

History

History
272 lines (271 loc) · 17.4 KB

File metadata and controls

272 lines (271 loc) · 17.4 KB
usage: modality [options] [--kos-title <code> -o <file>] [--dc --dc-reason
                <code>] -b [<aet>[@<ip>]:]<port> -c <aet>@<host>:<port>
                <file|directory>..

The modality application provides a configurable work-flow tool
integrating Key Objects, MPPS, C-STORE, and Storage Commitment.
The tool can:
* Create a DICOM Key Object Selection Document (KOS) with specified
Document Title -title <code> flagging DICOM Composite objects in specified
<file>.. and <directory>.. and store it into DICOM file -o <file>.
* Send a MPPS N-CREATE and MPPS N-SET message referencing the SOP
Instances in the scanned files to a Service Class Provider (SCP) of the
MPPS SOP Class.
* Send a C-STORE message to a Storage Service Class Provider (SCP) for
each DICOM file on the command line and wait for a response.
* Send a Storage Commitment Requests (N-ACTION RQ) for the SOP Instances
in the scanned files to a Service Class Provider (SCP) of the Storage
Commitment Push Model SOP Class.
-
Options:
    --accept-timeout <ms>                 timeout in ms for receiving
                                          A-ASSOCIATE-AC, no timeout by
                                          default
 -b,--bind <aet[@ip][:port]>              specify AE Title, local address
                                          of the Application Entity
                                          provided by this application;
                                          use IOCMTEST and pick up any
                                          valid local address to bind the
                                          socket by default. If also a
                                          port is specified, the
                                          Application Entity will
                                          listening for incoming
                                          association requests on it.
    --big-endian                          propose all uncompressed TS,
                                          explicit VR big endian first
                                          (default: implicit VR little
                                          endian first)
 -c,--connect <aet@host:port>             specify AE Title, remote address
                                          and port of the remote
                                          Application Entity.
    --code-config <file>                  file path or URL of list of
                                          configured Discontinuation
                                          Reasons Codes to be used instead
                                          of
                                          etc/modality/koscode.properties
    --connect-timeout <ms>                timeout in ms for TCP connect,
                                          no timeout by default
    --dc                                  send MPPS N-SET RQ with status
                                          DISCONTINUED instead of
                                          COMPLETED
    --dc-reason <code-value>              include Discontinuation Reason
                                          Code in MPPS N-SET RQ with
                                          status DISCONTINUED - must be
                                          one of the values specified by
                                          etc/modality/mppscode.properties
                                          or --code-config
    --explicit-vr                         propose all uncompressed TS,
                                          explicit VR little endian first
                                          (default: implicit VR little
                                          endian first)
 -h,--help                                display this help and exit
    --idle-timeout <ms>                   timeout in ms for aborting idle
                                          Associations, no timeout by
                                          default
    --implicit-vr                         propose only implicit VR little
                                          endian (default: all
                                          uncompressed TS)
    --key-pass <password>                 password for accessing the key
                                          in the key store, key store
                                          password by default
    --key-store <file|url>                file path or URL of key store
                                          containing the private key,
                                          resource:key.p12 by default
    --key-store-pass <password>           password for key store
                                          containing the private key,
                                          'secret' by default
    --key-store-type <storetype>          type of key store containing the
                                          private key, PKCS12 by default
    --kos-title <code-value>              Document Title of created KOS -
                                          must be one of the values
                                          specified by
                                          etc/modality/koscode.properties
                                          or --code-config
    --max-ops-invoked <no>                maximum number of operations
                                          this AE may invoke
                                          asynchronously, unlimited by
                                          default
    --max-ops-performed <no>              maximum number of operations
                                          this AE may perform
                                          asynchronously, unlimited by
                                          default
    --max-pdulen-rcv <length>             specifies maximal length of
                                          received P-DATA TF PDUs
                                          communicated during association
                                          establishment. 0 indicates that
                                          no maximum length is specified.
                                          16378 by default
    --max-pdulen-snd <length>             specifies maximal length of sent
                                          P-DATA-TF PDUs by this AE. The
                                          actual maximum length of sent
                                          P-DATA-TF PDUs is also limited
                                          by the maximal length of
                                          received P-DATA-TF PDUs of the
                                          peer AE communicated during
                                          association establishment. 16378
                                          by default
    --mpps                                send MPPS before sending objects
    --mpps-late                           send MPPS after sending objects
    --not-async                           do not use asynchronous mode;
                                          equivalent to
                                          --max-ops-invoked=1 and
                                          --max-ops-performed=1
    --not-pack-pdv                        send only one PDV in one
                                          P-Data-TF PDU; pack command and
                                          data PDV in one P-DATA-TF PDU by
                                          default
 -o <file>                                created DICOM file
    --proxy <[user:password@]host:port>   specify host and port of the
                                          HTTP Proxy to tunnel the DICOM
                                          connection.
    --release-timeout <ms>                timeout in ms for receiving
                                          A-RELEASE-RP, no timeout by
                                          default
    --response-timeout <ms>               timeout in ms for receiving
                                          other outstanding DIMSE RSPs
                                          than C-MOVE or C-GET RSPs, no
                                          timeout by default
 -s <[seq.]attr=value>                    specify attributes added to the
                                          sent object(s). attr can be
                                          specified by keyword or tag
                                          value (in hex), e.g. PatientName
                                          or 00100010. Attributes in
                                          nested Datasets can be specified
                                          by including the keyword/tag
                                          value of the sequence attribute,
                                          e.g. 00400275.00400009 for
                                          Scheduled Procedure Step ID in
                                          the Request Attributes Sequence.
    --send-timeout <ms>                   timeout in ms for sending other
                                          DIMSE RQs than C-STORE RQs, no
                                          timeout by default
    --soclose-delay <ms>                  delay in ms after sending
                                          A-ASSOCATE-RJ, A-RELEASE-RQ or
                                          A-ABORT before the socket is
                                          closed; 50ms by default
    --sorcv-buffer <length>               set SO_RCVBUF socket option to
                                          specified value
    --sosnd-buffer <length>               set SO_SNDBUF socket option to
                                          specified value
    --ssl2Hello                           send/accept SSLv3/TLS
                                          ClientHellos encapsulated in a
                                          SSLv2 ClientHello packet;
                                          equivalent to --tls-protocol
                                          SSLv2Hello --tls-protocol SSLv3
                                          --tls-protocol TLSv1
                                          --tls-protocol TLSv1.1
                                          --tls-protocol TLSv1.2
    --ssl3                                enable only TLS/SSL protocol
                                          SSLv3; equivalent to
                                          --tls-protocol SSLv3
    --stgcmt                              send storage commitment after
                                          sending objects
    --store-timeout <ms>                  timeout in ms for sending
                                          C-STORE sRQ, no timeout by
                                          default
    --tcp-delay                           set TCP_NODELAY socket option to
                                          false, true by default
    --tls                                 enable TLS connection without
                                          encryption or with AES or 3DES
                                          encryption; equivalent to
                                          --tls-cipher
                                          SSL_RSA_WITH_NULL_SHA
                                          --tls-cipher
                                          TLS_RSA_WITH_AES_128_CBC_SHA
                                          --tls-cipher
                                          SSL_RSA_WITH_3DES_EDE_CBC_SHA
    --tls-3des                            enable TLS connection with 3DES
                                          encryption; equivalent to
                                          --tls-cipher
                                          SSL_RSA_WITH_3DES_EDE_CBC_SHA
    --tls-aes                             enable TLS connection with AES
                                          or 3DES encryption; equivalent
                                          to --tls-cipher
                                          TLS_RSA_WITH_AES_128_CBC_SHA
                                          --tls-cipher
                                          SSL_RSA_WITH_3DES_EDE_CBC_SHA
    --tls-cipher <cipher>                 enable TLS connection with
                                          specified Cipher Suite. Multiple
                                          Cipher Suites may be enabled by
                                          multiple --tls-cipher options
    --tls-eia-https                       enable server endpoint
                                          identification according RFC
                                          2818: HTTP Over TLS
    --tls-eia-ldaps                       enable server endpoint
                                          identification according RFC
                                          2830: LDAP Extension for TLS
    --tls-noauth                          disable client authentification
                                          for TLS
    --tls-null                            enable TLS connection without
                                          encryption; equivalent to
                                          --tls-cipher
                                          SSL_RSA_WITH_NULL_SHA
    --tls-protocol <protocol>             TLS/SSL protocol to use.
                                          Multiple TLS/SSL protocols may
                                          be enabled by multiple
                                          --tls-protocol options.
                                          Supported values by Java 11:
                                          TLSv1, TLSv1.1, TLSv1.2,
                                          TLSv1.3, SSLv3, SSLv2Hello. By
                                          default, only TLSv1.2 is
                                          enabled.
    --tls1                                enable only TLS/SSL protocol
                                          TLSv1; equivalent to
                                          --tls-protocol TLSv1
    --tls11                               enable only TLS/SSL protocol
                                          TLSv1.1; equivalent to
                                          --tls-protocol TLSv1.1
    --tls12                               enable only TLS/SSL protocol
                                          TLSv1.2; equivalent to
                                          --tls-protocol TLSv1.2
    --tls13                               enable only TLS/SSL protocol
                                          TLSv1.3; equivalent to
                                          --tls-protocol TLSv1.3
    --tmp-file-dir <directory>            directory were temporary file
                                          with File Meta Information from
                                          scanned files is stored; if not
                                          specified, the file is stored
                                          into the default temporary-file
                                          directory
    --tmp-file-prefix <prefix>            prefix for generated file name
                                          for temporary file; 'storescu-'
                                          by default
    --tmp-file-suffix <suffix>            suffix for generated file name
                                          for temporary file; '.tmp' by
                                          default
    --trust-store <file|url>              file path of key store
                                          containing trusted certificates,
                                          resource:cacerts.p12 by default
    --trust-store-pass <password>         password for key store with
                                          trusted certificates, 'secret'
                                          by default
    --trust-store-type <storetype>        type of key store with trusted
                                          certificates, PKCS12 by default
    --uid-suffix <suffix>                 specify suffix to be appended to
                                          the Study, Series and SOP
                                          Instance UID of the sent
                                          object(s).
    --user <name>                         negotiate user identity with
                                          specified user name
    --user-jwt <token>                    negotiate user identity with
                                          specified JSON Web Token
    --user-pass <password>                negotiate user identity with
                                          specified password
    --user-rsp                            negotiate user identity with
                                          positive response requested
    --user-saml <assertion>               negotiate user identity with
                                          specified SAML Assertion
 -V,--version                             output version information and
                                          exit
-
Example: modality --stgcmt -b MODALITY:11114 -c DCM4CHEE@localhost:11112
path/to/study
=> i) Start server listening on port 11114, accepting association requests
with MODALITY as called AE title (for receiving Storage Commitment
Results). ii) Scan images in directory  path/to/study and send a MPPS
N-CREATE RQ and MPPS N-SET RQ referencing the images to DCM4CHEE,
listening on local port 11112 (to send MPPS N-SET RQ after sending the
DICOM objects use option --mpps-late). iii) Send DICOM objects to
DCM4CHEE@localhost:11112. iv) Send a Storage Commitment Request for SOP
Instances in directory path/to/study to DCM4CHEE@localhost:11112.