Nix, Oliver and Riesmeier, Jörg and Onken, Michael and Thieke, Christian
The DICOM (Digital Imaging and Communications in Medicine) standard has become a widely accepted standard for medical imaging data. Since its publication in 1993, many supplements have been added to extend the standard in different areas. Supplement 11 and 29 specify information objects relevant to radiotherapy. Most modern radiotherapy devices and planning systems implement and support these DICOM RT (radiotherapy) extensions. However, there is a lack of free open source software tools to access and manipulate these objects for research purposes. The DICOM toolkit DCMTK provided by the OFFIS – Institute for Information Technology is a set of open source libraries and applications written in C++. DCMTK implements a large portion of the DICOM standard but, besides its general purpose DICOM parsing capabilities, does not offer dedicated support for handling DICOM RT objects. We present an add-on library which fully implements the DICOM RT extensions and fully integrates into DCMTK.DICOM objects (e.g. a CT image or an RT treatment plan) are organized in the standard text as so called Information Object Definitions (IODs). An IOD usually consists of several information entities (IE). An IE again consists of one or multiple modules each of them being either mandatory or conditional or user optional. Modules are used in the standard text to group a set of attributes that logically belong together. Each attribute is identified by a unique tag, consisting of a group and an element number. Some attributes have to be present and must be filled with meaningful values while others can be left empty if the value is unknown at creation time. Some attributes can be omitted at all or only have to be included depending on a certain condition. Besides its tag, each attribute is associated with a name and a data type. A specific data type (“Sequence of Items”) also allows for using nested attribute structures. The selected list of attributes, respecting all rules described above, makes up the complete DICOM object, e.g. a plan for radiotherapy. The DICOM RT objects belong to the most complex data structures in the standard since they usually contain a large number of deeply nested structures. Thus, a pure tag based approach for accessing the content is not appropriate. This makes programming with those objects very cumbersome and requires sound knowledge of the standard. In 1997, Supplement 11 introduced four radiotherapy IODs: RT Image, RT Dose, RT Structure Set and RT Plan. Two years later, Supplement 29 added three treatment record IODs, intended for documenting planned versus actually applied radiotherapy treatments during the course of treatment.The presented DCMTK add-on consists of a C++ library and an application to show the content of DICOM RT objects in textual format. The library provides two layers of abstraction. The low-level API reflects all main RT objects and is based on 125 C++ classes aligned to the RT object’s structure described in the standard. On top of that, the mid-level API adds access methods to frequently used information content while hiding the complex internal object structures. Besides functions to access and modify an object’s attribute, the classes offer methods for loading and storing objects. On IOD-level, additional features are available, e.g. for validating objects in terms of missing or invalid attributes and their corresponding values. The mid-level API adds features for accessing key information from the various RT object more easily. For example, it offers extended input/output functions in order to read all objects from a given directory and to register them at a central data manager. As a quick start, a sample application is provided which allows for dumping the content of DICOM RT objects on a higher level of abstraction than the typical DICOM dump tools.This is one of the first freely available C++ libraries that implement the DICOM radiotherapy objects and aims at propagating and facilitating research in the field of radiotherapy.
10 / 2010
Deutsche Gesellschaft für Medizinische Physik (DGMP)