Client or Daemon
Can quit after a single-use, or remain operational, providing uninterrupted DICOM services.

DMT Explained

DMT is a multi-purposed DICOM engine. It was originally written to provide functionality for specific medical devices, but has been authored in such a way that it can be used in a variety of contexts, including Query, Store, Move, and Worklist in both SCU and SCP roles.

The following is a largely technical discussion of the DMT use model. We understand that this kind of reading is not for the faint of heart, so we suggest that you either have a PACS person handy, are one yourself, or contact us so we can field any questions directly.

Interface Design

DMT provides both a server and client application. Although these are separate, with significantly different use-case models, they share the same governor for user interface task communication.

Communication between users and DMT is conducted using the following messages:

Requests, which are created by a user and sent, using one several available channels, to DMT instances,

Console Communication Channel

A typical way of passing on messages between a user and DMT. The former employs STDIN to send requests and the latter replies using STDOUT.

Please note that this mode of message transmission should only be used when running single instances of DMT. Although it is enabled for the Server as well, as a consequence of its service-based character, it can be used there only during testing.

Network Communication Channel

A TCP/IP based channel. Allows for connecting multiple clients to one instance of DMT. Implemented similarly to a passive FTP session. Communication can be depicted using the following schema (assuming command line parameters: -request-port 3000 -response-ports-range [4000,4010]):

TCP/IP port on which a tool should be listening for incoming requests (Server only).

-response-ports-range

unsigned short interval

A set of TCP/IP port numbers, given by the endpoints in ISO notation, from which a tool will randomly choose a value and use it to send responses when using the Network Communication Channel (Server only).

-communication-channel

string

Label of the communication channel to use, either NETWORK or CONSOLE (Server only).

NETWORK

-exec

Executes a Server like a normal, standalone application, not a service.

-install

Installs Server as a Windows service.

-uninstall

Uninstalls Server from Windows service list.

Messages Structure

Message structure must follow the following general schema for both requests and responses. The sample Query request above can be used as a reference for how this schema is implemented in practise.