DICOM conformance
Most of the DICOM standard describes optional features. This page states which features of the DICOM standard (2018c version) our plugin implements. This is not a fully conformance statement, but will help customers to write conformance statements for applications that use DeCaMino.
Supported roles
- Verification SCU and SCP
- Storage SCU and SCP
- Storage Commitment SCU and SCP
- File-Set Reader and Creator
- Query/Retrieve SCU and SCP
- Basic Worklist Management SCU and SCP
- Hanging Protocol Query/Retrieve SCU and SCP
As a Verification SCU, the plugin can send echo requests to remote application entities. When the application must accept remote associations for any other network service, the plugin answers echo requests as a Verification SCP.
As a Storage SCP, File Reader and Query/Retrieve SCU, the plugin can receive or read any storage SOP class instance. However, by default, as a Storage SCP or Query/Retrieve SCU, it only accepts to receive instances of one of the standard storage service classes for composite objects.
As a Storage SCU and a File Creator, the plugin may send or write any object. Fully conform instances of Multiframe Secondary Capture storage SOP classes can be automatically created by the plugin without requiring the user to provide all data elements.
As a Storage Commitment SCU/SCP, the plugin may send/receive storage commitment requests for any SOP Class. It may receive/send results in SCU or SCP-initiated associations, without limit on the time between the request and the result. Only the Push Model is supported. The retired Pull Model is not supported.
As a Query/Retrieve SCU, in addition to the storage SOP classes, the plugin supports the Find, Get and Move SOP classes for all three standard information models: patient root, study root and patient/study only.
As a Query/Retrieve SCP, the plugin supports any storage SOP classes. It may support the Find, Get and Move SOP classes for any information model. The application author must provide the implementation of the matching process for the needed information models.
As a Hanging Protocol Query/Retrieve SCU, the plugin supports the Hanging Protocol storage and the Find and Move SOP classes.
As a Hanging Procol Query/Retrieve SCP, the plugin supports the Hanging Protocol storage and the Find and Move SOP classes. The application author must provide the implementation of the matching process.
As a Basic Worklist Management SCU, the plugin supports the Find SOP classes for both standard information models: modality worklist and general purpose.
As a Basic Worklist Management SCP, the plugin may support the Find SOP classes for any information model. The application author must provide the implementation of the matching process for the needed information models.
Supported transfer syntaxes
The following table lists all transfer syntaxes DeCaMino knows about and thus can read, write or transfer. However, the ability to decode the pixel data to Java images or encode the pixel data from Java images is not available for all of these transfer syntaxes, as shown in the last 2 columns. The syntaxes with italicized names are retired from DICOM 2018c.
Transfer Syntax Name | Transfer Syntax UID | Decode | Encode |
---|---|---|---|
Implicit VR Little Endian | 1.2.840.10008.1.2 | ✔ | ✔ |
Explicit VR Little Endian | 1.2.840.10008.1.2.1 | ✔ | ✔ |
Deflated Explicit VR Little Endian | 1.2.840.10008.1.2.1.99 | ✔ | ✔ |
Explicit VR Big Endian | 1.2.840.10008.1.2.2 | ✔ | ✔ |
JPEG Baseline (Process 1) | 1.2.840.10008.1.2.4.50 | ✔ | ✔ |
JPEG Extended (Process 2 & 4) | 1.2.840.10008.1.2.4.51 | ✔ | ✔ |
JPEG Extended (Process 3 & 5) | 1.2.840.10008.1.2.4.52 | ||
JPEG Spectral Selection (Process 6 & 8) | 1.2.840.10008.1.2.4.53 | ||
JPEG Spectral Selection (Process 7 & 9) | 1.2.840.10008.1.2.4.54 | ||
JPEG Full Progression (Process 10 & 12) | 1.2.840.10008.1.2.4.55 | ||
JPEG Full Progression (Process 11 & 13) | 1.2.840.10008.1.2.4.56 | ||
JPEG Lossless (Process 14) | 1.2.840.10008.1.2.4.57 | ✔ | ✔ |
JPEG Lossless (Process 15) | 1.2.840.10008.1.2.4.58 | ||
JPEG Extended (Process 16 & 18) | 1.2.840.10008.1.2.4.59 | ||
JPEG Extended (Process 17 & 19) | 1.2.840.10008.1.2.4.60 | ||
JPEG Spectral Selection (Process 20 & 22) | 1.2.840.10008.1.2.4.61 | ||
JPEG Spectral Selection (Process 21 & 23) | 1.2.840.10008.1.2.4.62 | ||
JPEG Full Progression (Process 24 & 26) | 1.2.840.10008.1.2.4.63 | ||
JPEG Full Progression (Process 25 & 27) | 1.2.840.10008.1.2.4.64 | ||
JPEG Lossless (Process 28) | 1.2.840.10008.1.2.4.65 | ||
JPEG Lossless (Process 29) | 1.2.840.10008.1.2.4.66 | ||
JPEG Lossless (Process 14, Selection Value 1) | 1.2.840.10008.1.2.4.70 | ✔ | ✔ |
JPEG-LS Lossless | 1.2.840.10008.1.2.4.80 | ✔ | ✔ |
JPEG-LS Near-lossless | 1.2.840.10008.1.2.4.81 | ✔ | ✔ |
JPEG 2000 Lossless | 1.2.840.10008.1.2.4.90 | ✔ | ✔ |
JPEG 2000 | 1.2.840.10008.1.2.4.91 | ✔ | ✔ |
JPEG 2000 Part 2 Lossless | 1.2.840.10008.1.2.4.92 | ||
JPEG 2000 Part 2 | 1.2.840.10008.1.2.4.93 | ||
JPIP Referenced | 1.2.840.10008.1.2.4.94 | ||
JPIP Referenced Deflate | 1.2.840.10008.1.2.4.95 | ||
MPEG2 Main Profile @ Main Level | 1.2.840.10008.1.2.4.100 | ||
MPEG2 Main Profile @ High Level | 1.2.840.10008.1.2.4.101 | ||
MPEG-4 AVC/H.264 High Profile / Level 4.1 | 1.2.840.10008.1.2.4.102 | ||
MPEG-4 AVC/H.264 BD-Compatible High Profile / Level 4.1 | 1.2.840.10008.1.2.4.103 | ||
MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video | 1.2.840.10008.1.2.4.104 | ||
MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video | 1.2.840.10008.1.2.4.105 | ||
MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2 | 1.2.840.10008.1.2.4.106 | ||
RLE Lossless | 1.2.840.10008.1.2.5 | ✔ | |
Implicit VR Big Endian (General Electrics private) | 1.2.840.113619.5.2 | ✔ |
- When sending through a Storage SCU (C-STORE service) or Query/Retrieve SCP (C-GET service), the default list of proposed transfer syntaxes is conservative:
The transfer syntax the pixel data is currently encoded with, if any Explicit VR Little Endian 1.2.840.10008.1.2.1 Implicit VR Little Endian 1.2.840.10008.1.2 - When acting as a SCP or SCU for a SOP class which is not a storage SOP class, or is a storage SOP class whose instance cannot contain pixel data, DeCaMino supports the following transfer syntaxes, in decreasing order of preference:
Explicit VR Little Endian 1.2.840.10008.1.2.1 Implicit VR Little Endian 1.2.840.10008.1.2 Deflated Explicit VR Little Endian 1.2.840.10008.1.2.1.99 Explicit VR Big Endian 1.2.840.10008.1.2.2 - When acting as a storage SCP for a SOP class whose instance can contain pixel data, the following transfer syntaxes are accepted, in decreasing order of preference.
JPEG 2000 Lossless 1.2.840.10008.1.2.4.90 JPEG-LS Lossless 1.2.840.10008.1.2.4.80 JPEG Lossless (Process 14) 1.2.840.10008.1.2.4.57 JPEG Lossless (Process 14, Selection Value 1) 1.2.840.10008.1.2.4.70 RLE Lossless 1.2.840.10008.1.2.5 Explicit VR Little Endian 1.2.840.10008.1.2.1 Implicit VR Little Endian 1.2.840.10008.1.2 Explicit VR Big Endian 1.2.840.10008.1.2.2 Deflated Explicit VR Little Endian 1.2.840.10008.1.2.1.99 Implicit VR Big Endian (General Electrics private) 1.2.840.113619.5.2 JPEG-LS Near-lossless 1.2.840.10008.1.2.4.81 JPEG 2000 1.2.840.10008.1.2.4.91 JPEG Extended (Process 2 & 4) 1.2.840.10008.1.2.4.51 JPEG Baseline (Process 1) 1.2.840.10008.1.2.4.50 MPEG-4 AVC/H.264 High Profile / Level 4.1 1.2.840.10008.1.2.4.102 MPEG-4 AVC/H.264 BD-Compatible High Profile / Level 4.1 1.2.840.10008.1.2.4.103 MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video 1.2.840.10008.1.2.4.104 MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video 1.2.840.10008.1.2.4.105 MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2 1.2.840.10008.1.2.4.106 MPEG2 Main Profile @ Main Level 1.2.840.10008.1.2.4.100 MPEG2 Main Profile @ High Level 1.2.840.10008.1.2.4.101 JPEG 2000 Part 2 Lossless 1.2.840.10008.1.2.4.92 JPEG 2000 Part 2 1.2.840.10008.1.2.4.93 JPEG Extended (Process 3 & 5) 1.2.840.10008.1.2.4.52 JPEG Spectral Selection (Process 6 & 8) 1.2.840.10008.1.2.4.53 JPEG Spectral Selection (Process 7 & 9) 1.2.840.10008.1.2.4.54 JPEG Full Progression (Process 10 & 12) 1.2.840.10008.1.2.4.55 JPEG Full Progression (Process 11 & 13) 1.2.840.10008.1.2.4.56 JPEG Lossless (Process 15) 1.2.840.10008.1.2.4.58 JPEG Extended (Process 16 & 18) 1.2.840.10008.1.2.4.59 JPEG Extended (Process 17 & 19) 1.2.840.10008.1.2.4.60 JPEG Spectral Selection (Process 20 & 22) 1.2.840.10008.1.2.4.61 JPEG Spectral Selection (Process 21 & 23) 1.2.840.10008.1.2.4.62 JPEG Full Progression (Process 24 & 26) 1.2.840.10008.1.2.4.63 JPEG Full Progression (Process 25 & 27) 1.2.840.10008.1.2.4.64 JPEG Lossless (Process 28) 1.2.840.10008.1.2.4.65 JPEG Lossless (Process 29) 1.2.840.10008.1.2.4.66
Supported character sets
DICOM defined term | Java name |
---|---|
ISO_IR 100 | ISO-8859-1 |
ISO_IR 101 | ISO-8859-2(**) |
ISO_IR 109 | ISO-8859-3(**) |
ISO_IR 110 | ISO-8859-4(**) |
ISO_IR 144 | ISO-8859-5(**) |
ISO_IR 127 | ISO-8859-6(**) |
ISO_IR 126 | ISO-8859-7(**) |
ISO_IR 138 | ISO-8859-8(**) |
ISO_IR 148 | ISO-8859-9(**) |
ISO_IR 13 | JIS_X0201(**) |
ISO_IR 166 | ISO-8859-11(**) |
GB18030 | GB18030(**) |
ISO_IR 192 | UTF-8 |
Code extension techniques are not supported.(**) These character sets must be supported by the Java Runtime Environment in order to be available.
Security profiles
The use of SSL or TLS for secure transport is supported. All standard security profiles (basic TLS profile, AES TLS profile and the new BCP195 profiles introduced in DICOM 2018c) are supported.
Other parameters
- Communication mode for network operations: TCP/IP.
- Maximum PDU size offered: 65536.
- Maximum PDU size accepted: 32768.
- ARTIM timer: 30 seconds (configurable).
- Number of simultaneous associations: no limit.