From: http://www.ynradiology.net/Article_Show.asp? ArticleID = 652
Objective To achieve digital medical image communication standard (DICOM ).
Method Analysis implements DICOM standards.
Results The DICOM standard is implemented using C ++.
Conclusion The interface standardization of medical image equipment is a key factor for the success or failure of medical image equipment in the future. The development and research of DICOM standards in China will contribute to the standardization of medical image equipment in China.
1 Introduction
With the development of medical imaging technology, more and more manufacturers are making medical imaging diagnostic devices and PACS, while the related image formats and transmission methods are very different, this makes it very difficult to exchange images and related information between PACS and various devices. To this end, the American College of radiology; ACR and the National Electrical Manufacturers Association; SCN have jointly established a standard in 1985, this facilitates the exchange of standardized images and related information. After several years of updates, this standard became the medical digital image communication standard 1993 (Digital Imaging and communications in medicine 3.0, dicom3.0) in 3.0 ).
DICOMBased on the detailed information model (entity-relational model), the object definition (iods) of the data structure in DICOM standard is presented ), and the operation on these information objects-DICOM message service elements; DIMSE); also defines messages (including medical images or related information and their operations) supports switched networks and point-to-point communication. Using this standard digital image medical device and PACS, you only need to perform some simple parameter settings to exchange medical images and related information.. For more information about the DICOM standard, see the document.
2 DICOM implementation strategy
The implementation of DICOM standards is often based on the actual needs, to implement certain functions defined by DICOM, rather than the complete set. For example, DICOM defines the support for DICOM message exchange for both network transmission and point-to-point communication. In practice, only one communication mode is selected. Therefore, the specific implementation of each DICOM is different. However, there are still some rules for implementing DICOM.
2.1 hierarchical DICOM standards are still being updated. Currently, 14 levels and many additional sections are available. Figure 1 (Omitted) shows the components of the DICOM standard. In general, the implementation of DICOM is divided into three layers.
(1) Network support layer for DICOM message exchange (DICOM 8th part ). This part is the lowest level and serves as the basis for other layers. This part mainly defines the network transmission protocol for medical images and related information. It corresponds to Open Systems Interconnection (OSI) the Session Layer, presentation layer, and Connection Control Service Units in network transmission are defined. Figure 2 shows the DICOM standard network hierarchy. Due to space limitations, we will not discuss point-to-point communication and media exchange here.
(2) DICOM message service (DICOM 4, 5, and 7 ). These sections detail DIMSE and its operations on medical images and related information, including the query, storage, and printing of medical images and related information. They are operations on information objects.
(3) DICOM Information Objects (Part 3 and Part 6 of DICOM ). These two parts use object-oriented technology to define information object definitions and data dictionaries. They are the highest level to achieve DICOM.
2.2 object-oriented is a major feature of DICOM standards. The entire DICOM standard is defined using object-oriented technology, which is typically embodied in the definition of iods. There are two types of iods: Common and compound. The common information object class only contains the inherent attributes of its corresponding real-world entities. The composite information object class can include additional attributes that are not inherent in its corresponding real-world entities. The composite information object class provides a structured framework to express the needs of image communication.
The wide application of object-oriented technology in DICOM standards makes it a matter of course to use object-oriented programming languages to implement DICOM standards. Implementing DICOM standards using object-oriented languages such as C ++, smalltalk, and Java will facilitate the smooth development of work.
2.3 easy to expand DICOM is an open and evolving standard. It has evolved from nine parts to fourteen parts since 1993, and each part has been corrected and supplemented, especially the increasing number of iods, making DICOM standards not only applicable to the radiology field, in addition, it has been extended to other medical informatics fields, and its application scope is constantly expanding. Hierarchical implementation is conducive to the expansion of DICOM implementation.
2.4 code platform independent DICOM is mainly used to exchange medical images and related information between different medical devices, so it often runs on various operating platforms. Therefore, the Code platform independence is required to implement common DICOM standards.
3. Use C ++ to implement DICOM
We have made many work on DICOM independently based on some foreign experience in implementing DICOM and have achieved initial results. One of them is to use C ++ to implement the platform's independent TCP/IP-based DICOM standard.
3.1 The DICOM message exchange network supports the implementation of DICOM message exchange network in two layers (3 ). First, we need to implement the standard Berkeley socket (BSD socket), a platform-independent TCP/IP interface. Second, we need to encapsulate the message passing mechanism defined in DICOM. In the preceding figure, the encapsulated TCP/IP socket is called by the DICOM message transmission mechanism on the upper layer for information exchange over the network.
(1) DICOM Standard Part 8 defines the standard for transmitting DICOM objects through TCP/IP. It corresponds to the Session Layer, presentation layer, and Connection Control service units in the OSI-defined network transmission. This part of the underlying information exchange uses the common TCP/IP interface BSD socket. Because BSD sockets have different interfaces on different platforms, the object-oriented technology is used to encapsulate BSD Sockets for code platform independence.
(2) The eighth part of DICOM Standard defines the message mechanism for establishing and ending network connections and transmitting DICOM objects.
Here, all messages defined in Part 8 are encapsulated as C ++ objects corresponding to their names, 3.
3.2 after the DIMSE Service supports DICOM message exchange network, a higher level of DICOM support should be completed. This is the DIMSE service. DIMSE services include DIMSE-C services and DIMSE-N services. The DIMSE-C service allows one DICOM application entity to require another DICOM application entity to operate on composite information objects. The DIMSE-N service is only used for one DICOM application entity to notify another DICOM entity of the occurrence of a certain event. Due to space limitations, only the DIMSE-C service is discussed here.
Sop classes are combined with information object definitions, but they are operated through the DIMSE service. Operations are defined by the fourth part of DICOM, while information object is defined by the third part of DICOM. The key to implementing the DIMSE service is to implement the separation of operation and information object definitions based on the DICOM hierarchy. This is implemented by implementing abstract classes, including abstractstorage, abstractquery, and abstractretrieve. These abstract classes can be inherited to generate specific SOP classes. This reduces code duplication, reduces errors, and increases the new IOD to extend the applicability. Abstract SOP class is defined by DICOM defined DIMSE-C service class abstract definition.
3.3 complete information object definition DICOM information object definition is composed of modules, each module is a data structure composed of a series of attributes. In this way, defining information objects facilitates the expansion of DICOM application scope. For example, to add information object definitions for dental purposes in DICOM, there is no need to redefine the patient object, study object, and series object ), only attributes that are not defined in DICOM are defined. According to the definition of DICOM information objects, each component module is defined as a base class. Information objects can be formed by inheriting the corresponding base classes.
We use the object-oriented method to achieve the DICOM standard in three layers. These three layers are closely linked. The previous level must inherit the class of the next level or call the function of the next level, and the next level returns data to the previous level. In the implementation process, various methods are used to ensure the independence of the Code platform, such as encapsulating BSD sockets and some operating system sensitive functions. The hierarchical implementation method makes the system easier to expand. you can build your own high-level applications at each layer.
4. Problems to be paid attention to when implementing DICOM
As DICOM is emerging and evolving, many problems are encountered in the process of implementing DICOM. Here we only discuss two common mistakes in understanding DICOM concepts.
4.1 Application name: the common mistake is that the same DICOM application uses the same application name when running on two different nodes on the network. The application name is considered as part of the program. This is obviously incorrect. The DICOM Standard defines the application name as follows: the DICOM Application name uniquely identifies a service or application on the network. Moreover, a parameter of the C-MOVE service is the name of the app that moves the destination. If there are two application names on a network, the C-MOVE does not know where to move the information object.
4.2 The DICOM standard of the Query format defines a hierarchical query method based on three information models. If a SCU needs to query at a certain level, it must provide unique keywords for all levels above this level. That is, if SCU is to be queried at the series layer, it must provide the unique keywords at the study layer and the patient layer. It is incorrect to only give the unique keyword of the previous layer. In addition, you can only query attributes at a certain level, but not attributes at a lower level.
5 conclusion
DICOM standards have become industry-recognized industrial standards, and the use of DICOM standards in the field of medical image transmission has become a trend. To adapt to this trend, we have studied DICOM. In order to prove the results of our work, we have connected some DICOM public servers outside China and successfully passed the information. In addition, tests with the central test node; CTN software of Mir have also achieved satisfactory results.
Currently, DICOM has become a common standard in the world, that is, most Medical Image devices and PACS systems use DICOM as their interconnection standard. At present, the domestic work in this area is not enough. Most of the Medical Image equipment and PACS systems produced in China are non-standardized (or non-DICOM) interfaces. Based on this understanding, we have developed and applied DICOM.