Page tree
Skip to end of metadata
Go to start of metadata

DICOM is a popular radiology data storage and exchange standard.

Generally speaking, as a user you don't need to know the details about the service classes and their implementations. The basic information is, DICOM services can be configured in the Listener and Locations preferences, and their purpose is rather self-explanatory if you already know basic information about DICOM networks.

Technically speaking, SCU stands for Service Class User, while SCP stands for Service Class Provider. In less specialized words, software implementing a SCU uses that service class by accessing other nodes that implement the corresponding SCP. These other nodes are running software that provides that service class.

As a DICOM node, OnePacs Workstation for macOS provides the following services:

 SCUSCP
C‑STOREYesYes
CFINDYesYes
CMOVEYesYes
CGETYesYes
CECHOYesYes
CPRINT YesNo

Nodes

DICOM communication happens between DICOM nodes. A DICOM node is identified in the DICOM network by its address, port and AET, the Application Entity Title, basically a unique name, i.e. OPW1 or DR_ONEPACS_MD. The same software, on the same workstation, listening for requests on the same port, could provide different behaviors by supporting different AETs. Another software might disregard the AET it is accessed by, and handle incoming data in one unique way.

OnePacs Workstation for macOS does not differentiate its behavior by AET, but allows plugins to do so. Its role as a DICOM node can be configured in the Listener preferences. Other DICOM nodes in the network can be configured in the Locations preferences.

Transfer Syntaxes

The DICOM standard supports different data transfer and storage modes, and every DICOM node might support a different subset of these. Consequently, to ensure compatibility between two nodes, the DICOM communication protocol determines the communication syntax during every connection's initial phase, in order to use one that is implemented on both ends.

Without going into the details, transfer syntaxes determine the following parameters:

  • Data endianness: how bytes are combined together to build multi-byte blocks of information;
  • Data explicitness: whether a DICOM element explicitly states its type, or if this information shall be implicitly inferred from the element identifier;
  • Pixel data encoding: how the pixel data block should be interpreted, i.e. by using a specific compression algorithm like JPEG 2000, or as an uncompressed data block.

The app supports many transfer syntaxes, and gives you the following choices to enable and prioritize them:

  • Explicit Little Endian: Explicit VR Little Endian; Implicit VR Little Endian; JPEG 2000 Image Compression (Lossless Only); JPEG 2000 Image Compression; JPEG-LS Lossless Image Compression; JPEG-LS Lossy (Near- Lossless) Image Compression; JPEG Lossless, Nonhierarchical (Processes 14); JPEG Baseline (Process 1); JPEG Baseline (Processes 2 & 4); RLE Lossless; MPEG2 Main Profile Main Level; JPEG Baseline (Process 1);
  • JPEG 2000 Lossless & Lossy: JPEG 2000 Image Compression; JPEG 2000 Image Compression (Lossless Only); JPEG-LS Lossy (Near- Lossless) Image Compression; JPEG-LS Lossless Image Compression; Explicit VR Little Endian; Implicit VR Little Endian; JPEG Lossless, Nonhierarchical (Processes 14); JPEG Baseline (Processes 2 & 4); JPEG Baseline (Process 1); RLE Lossless; MPEG2 Main Profile Main Level; Explicit VR Big Endian;
  • JPEG LS Lossless & Lossy: JPEG-LS Lossy (Near- Lossless) Image Compression; JPEG-LS Lossless Image Compression; JPEG 2000 Image Compression; JPEG 2000 Image Compression (Lossless Only); Explicit VR Little Endian; Implicit VR Little Endian; JPEG Lossless, Nonhierarchical (Processes 14); JPEG Baseline (Processes 2 & 4); JPEG Baseline (Process 1); Explicit VR Big Endian;
  • JPEG Lossless: JPEG Lossless, Nonhierarchical (Processes 14); JPEG Baseline (Processes 2 & 4); JPEG Baseline (Process 1); JPEG 2000 Image Compression (Lossless Only); JPEG 2000 Image Compression; JPEG-LS Lossless Image Compression; JPEG-LS Lossy (Near- Lossless) Image Compression; Explicit VR Little Endian; Implicit VR Little Endian; RLE Lossless; MPEG2 Main Profile Main Level; Explicit VR Big Endian;
  • JPEG Baseline: JPEG Baseline (Process 1); JPEG Baseline (Processes 2 & 4); JPEG Lossless, Nonhierarchical (Processes 14); JPEG 2000 Image Compression (Lossless Only); JPEG 2000 Image Compression; JPEG-LS Lossless Image Compression; JPEG-LS Lossy (Near- Lossless) Image Compression; Explicit VR Little Endian; Implicit VR Little Endian; RLE Lossless; MPEG2 Main Profile Main Level; Explicit VR Big Endian;
  • JPEG Extended: JPEG Baseline (Processes 2 & 4); JPEG Lossless, Nonhierarchical (Processes 14); JPEG Baseline (Process 1); JPEG 2000 Image Compression (Lossless Only); JPEG 2000 Image Compression; JPEG-LS Lossless Image Compression; JPEG-LS Lossy (Near- Lossless) Image Compression; Explicit VR Little Endian; Implicit VR Little Endian; RLE Lossless; MPEG2 Main Profile Main Level; Explicit VR Big Endian;
  • RLE: RLE Lossless; Explicit VR Little Endian; Implicit VR Little Endian; JPEG 2000 Image Compression; JPEG Lossless, Nonhierarchical (Processes 14); JPEG Baseline (Processes 2 & 4); JPEG Baseline (Process 1); MPEG2 Main Profile Main Level; Explicit VR Big Endian;
  • Implicit Little Endian Only: Implicit VR Little Endian;
  • JPEG 2000 Lossless Only: JPEG 2000 Image Compression (Lossless Only); Explicit VR Little Endian; Implicit VR Little Endian; JPEG-LS Lossless Image Compression; Explicit VR Big Endian;
  • JPEG LS Lossless Only: JPEG-LS Lossless Image Compression; Explicit VR Little Endian; Implicit VR Little Endian; JPEG 2000 Image Compression (Lossless Only); Explicit VR Big Endian.

Services

This section describes how DICOM services are implemented and usable in OnePacs Workstation for macOS. Generally speaking, SCP services run in background and rely on the configured DICOM port availability. If the specified port is already being used by another process, the app will complain with an alert message.

C-STORE

C-STORE services are dedicated to dataset transfer. The SCU sends a dataset; the SCP will store the dataset for further usage, i.e. storage or review.

In the app, C-STORE SCP runs in background and can be configured in the Listener preferences, while C-STORE SCU is initiated by incoming C-MOVE requests or by user actions in the Send interface or by dragging datasets in the database window.

C-FIND

C-FIND services are dedicated to dataset searching. The SCU sends a set of values to match against; the SCP responds with the matching dataset information.

In the app, C-STORE SCP runs in background and can be configured in the Listener preferences, while C-STORE SCU is initiated by user actions in the Query/Retrieve interface or by On-Demand usage.

C-MOVE

C-MOVE services are dedicated to to dataset transfer initiation. The SCU sends a dataset identifier and a target AET; the SCP sends the corresponding dataset to the target AET by acting as a C-STORE SCU, and responds to the requesting SCU with the C-STORE status. The target AET might be the requesting SCU or another node.

In the app, C-MOVE SCP runs in background and can be configured in the listener preferences, while C-MOVE SCU is initiated by user actions in the Query/Retrieve interface or by On-Demand usage.

C-GET

C-GET services are dedicated to dataset transfer. The SCU sends a dataset identifier; the SCP responds with the corresponding dataset.

In the app, C-GET SCP runs in background and can be configured in the listener preferences, while C-GET SCU is initiated by user actions in the the Query/Retrieve interface or by On-Demand usage.

C-ECHO

C-ECHO services are dedicated to connection checks. The SCU sends a message, the SCP responds.

In the app, C-ECHO SCP runs in background, while C-ECHO SCU is used to test the configuration and availability of DICOM nodes.

C-PRINT

C-PRINT services are dedicated to dataset printing. The SCU sends a dataset and configuration set, the SCP prints this set and responds with the resulting status.

In the app, C-ECHO SCU is initiaited by user actions in the DICOM printing interface. DICOM printers can be configured in the DICOM Print preferences.

Logging

OnePacs Workstation for macOS allows you to log DICOM communications. In the Listener preferences you can enable this function, and choose for how long logs are kept.

 

  • No labels