Sample Applications

The Merge DICOM Toolkit provides several sample applications. These sample applications provide examples of developing specific classes of DICOM applications( Storage media, Query/Retrieve ) and manipulating popular DICOM elements( DICOMDIR, Structured Report, P10 file).

Service Class Provider(SCP) for the Storage Service Class - StorageSCP
This application registers its DICOM Application Entity Title (AE Title) as MERGE_STORE_SCP. It sets up a listener and, saves each received instance in a DICOM Part 10 file in the current directory. If no program argument is specified the instances are not saved.

Service Class User(SCU) for the Storage Service Class - StorageSCU
This application registers its DICOM Application Entity Title (AE Title) as MERGE_STORE_SCU. It sends the DICOM instances loaded from a list of DICOM Part 10 files to MERGE_STORE_SCP. The list of files can be passed in as separate arguments or, if the argument is a single text file, in the text file. To start this application successfully, there must be a DICOM application with the title MERGE_STORE_SCP running normally.

Query/Retrieve Service Class Provider(SCP) supporting C-FIND operation - QRSCP
This application registers its DICOM Application Entity Title (AE Title) as MERGE_QR_SCP. It sets up a listener and handles C_FIND_RQ and C_CANCEL_RQ requests from other applications and simulates responses.

Query/Retrieve Service Class User(SCU) supporting C-FIND operation - QRSCU
This application registers its DICOM Application Entity Title (AE Title) as MERGE_QR_SCU. It sends a C_FIND_RQ request message to MERGE_QR_SCP and sends a cancel request it if the number of response messages that it receives exceeds the limit. To start this application successfully, there must be a DICOM application with the title MERGE_QR_SCP running normally.

Query/Retrieve Service Class Provider(SCP) supporting C-GET operation - QRCgetSCP
This application registers its DICOM Application Entity Title (AE Title) as MERGE_QR_GET_SCP for C-GET service. This class implements a DICOM Storage SCP for receiving DICOM C-STORE-RQ messages. It maintains a simple database structure internally of all the DICOM SOP Instances that it has received. All instances received are stored in files named based on the SOP Instance UID attribute, in a directory on disk.
The Query/Retrieve Service Class implementation within this sample application will respond to Query and Get requests with information based on the SOP instances that it has received or read from the storage directory. It supports the Patient Root, Study Root, Patient Study Only, Composite Instance Root and Composite Instance with No Bulk query models.

Query/Retrieve Service Class User(SCU) supporting C-GET operation - QRCgetSCU
This application registers its DICOM Application Entity Title (AE Title) as MERGE_QR_GET_SCU. It sends C_FIND_RQ and C_GET_RQ request messages to MERGE_QR_GET_SCP. To start this application successfully, there must be a DICOM application with the title MERGE_QR_GET_SCP running normally.

List a DICOM P10 file - P10FileList
This sample lists the content of a DICOM Part 10 file and to the console in a readable format. The name of the file to list is passed as the argument.

DICOMDIR manipulation - DicomDIRSample
This application demonstrates various operations on a DICOMDIR object. It creates a DICOMDIR and exemplifies how to navigate, add, delete and search records in the DICOMDIR.

Structured Report - KeyObjectDoc
This application demonstrates how to create a KEY OBJECT DOCUMENT, write to an attribute set and then read it back. The Key Object Selection document is constrained by a single template and identified as 2010. The following template is taken from the DICOM Part 16.

TID 2010
KEY OBJECT SELECTION
Type: Non-Extensible