DICOM Introduction
The original intention of the standard digital image transfer protocol is to call images and their ancillary information between Digital Image devices produced by different manufacturers. The original version of this standard is the so-called ACR (American radiology Society)-nginx (National Association of electrical equipment manufacturers) standard, which defines point-to-point connection protocols. However, with the rapid development of computer network technology and the development of PACS (image transmission and archiving systems), the Protocol was quickly stretched. As a result, future work goals were transformed into upgrading the ACR-NEMA standard to enable it to support information processing needs for complex network systems. DICOM (digital medical imaging and transmission) standards emerged. This standard has been widely used in the procurement and Evaluation of Digital Image Systems.
DICOM standards have strong adaptability. At the initial stage of the design, DICOM standards were fully taken into account for image support beyond radiation (for example, pathology, endoscopic and dental imaging ). Manufacturers of medical imaging equipment are often large multinational enterprises who pay attention to the DICOM standard and promote the Standard. The European Organization for Standardization (the COMIT â europâ en de Normalisation) is fully based and compatible with DICOM standards when developing medicom standards. In Japan, the Development Center of the Association for radiation equipment and medical information systems has adopted the DICOM standard part of the standard for the transfer of Erasable media images, and considered incorporating the diocm standard into its future medical imaging processing standards. Currently, DICOM standards have been widely recognized by organizations in different fields around the world.
DICOM standards have become the dominant standards in the medical imaging communication field. However, despite the fact that DICOM standards are readily available and widely used by manufacturers and rapidly expanding into new fields, including non-radiology images, many radiation experts still lack knowledge of DICOM. This is partly because DICOM's "learning curve is too steep". The existing DICOM introduction materials are not too technical for radiation experts, writing to senior management personnel is too superficial for radiation experts.
Why do we have to charge weekly stamps for such a seemingly simple item? The answer is that things are not as simple as they seem. Generally, radiation experts are familiar with film images, which can be viewed anywhere with a light source. When we transform traditional film images into digital images, we need to face a series of problems, such as transmission, display, and storage. At this time, the emergence of DICOM is necessary. In the film age, minor changes in exposure, processing procedures, and reading work have little impact on work. In the digital image era, the difference of several bytes is enough to interrupt the transmission of images between systems.
The DICOM standard consists of a set of documents. The current version includes 13 releases. Every DICOM document is identified by titles and standard codes and looks like this "PS 3. x-YYYY ", where 'x" is often said, "YYYY" is the year of release. For example, the title of the second part of DICOM standard is "compliance" document label is PS3.2-1996. In formal occasions, the year is often omitted.
The core of the DICOM standard is to set a unified and easy-to-understand digital image communication rule. In this article, "communication" refers to information exchange in the system. This action sounds simple. In fact, communication is part of our daily life. However, the reason why we can communicate well is that we have followed a set of good rules. This set of rules was mastered by us as children.
Electronic communication is usually divided into different layers to complete corresponding functions at each layer. This model of dividing communication standards into different levels is actually part of an international communication standard, which is a reference model for ISO-SOI (International Standards Organization for the Development of System Interconnection. This model can be analogous to the structure of a production plant. The highest level of this model is the user application interface (for example, on a computer terminal, users can access data through applications across the network ). This layer is equivalent to the decision makers of the factory who decide what kind of products the factory produces and what kind of goods it carries. At the lowest level of the model is the physical layer, which provides physical media (such as cables) for electronic communication ). This level is equivalent to a freight car in the transportation department. The "upper layer" and "lower layer" in the model do not represent the importance of different layers. In fact, the difference is that different layers are like a stack, the physical layer is at the bottom, and the application layer is at the top.
There are other layers between the top and bottom layers that are responsible for solving similar issues: What character sets are used to display information and what rules are used to establish connections on the physical layer; how to handle communication errors. These intermediate layers are similar to different functional departments in our hypothetical factory, each of which undertakes specific functions (such as Part selection, manufacturing and assembly, quality control, planning of transportation routes, etc ). Similar situations occur in electronic communication models and hypothetical factories. Each layer (department) obtains information from the previous layer (department) and works according to the predefined functions, output the result to the next level (downstream Department ).
The exchange between any two layers is always the same, because all communication (just like communication between goods in different companies) is two-way. In terms of communication, the flow of information between different levels is called a service provided at the level. However, communication means information exchange. Therefore, the other device must have a corresponding layer and physical media connection.
Our hypothetical factory processes and ships our own products to another company, where new products are assembled. The company will not send the product back to our hypothetical Company (unless they receive a poor product and want to return it), but they will send the payment back. The logistics departments of the two companies need to develop plans and rules for both sides (for example, do not ship fresh goods during long holidays ). Similarly, communication between two electrical devices also requires a preset rule or protocol so that the devices can be connected at the corresponding communication level. In electronic communication, the real data flow between two devices only exists in the physical layer. However, due to the establishment of an opportunity-level communication model, each layer can be seen as a direct communication layer corresponding to the other device based on the existing protocol. When providing services at this level, a layer adds some information to the received data and sends it to the downstream layer. The downstream layer also performs the same work after receiving the data. At the receiving end, when the data goes up through various layers, each layer extracts the required information from the data to implement the layer functions. In our hypothetical Company, the Quality Control Department will place a qualified label on the product packaging and then send it to the Logistics Department for delivery. In the receiving company, the product will start the package inspection after receiving the product, the company's quality control department will inspect the product's qualified labels and confirm that the product is not damaged by any transportation. Only after the product passes the inspection will it be sent to another department for further processing. Finally, the finance department will receive a receipt notice to arrange payment. The agreement in the above process ensures that the consignor has pasted correct quality control labels on the product, and the consignee can check the product quantity and quality according to the invoice. If a person violates the agreement (for example, the sender does not check the product or forgets to label it), the product will be rejected (the consignee rejects the receipt or suspends the goods until the problem is resolved ).
One of the advantages of the electronic communication layer model is that when a layer is replaced by a new layer, other layers are not affected. For example, if we can find a physical medium that is 10 times faster than the existing physical medium and can provide all the services provided by the existing physical layer, we can immediately replace the existing system with a new physical layer. Find a new logistics company in our hypothetical company. The new company doubles the shipping speed and uses the original container to provide the same cargo insurance as the existing company, then we can directly switch to the new logistics company without making any adjustments to other departments.
A set of different layers is usually called a stack or a protocol stack. The diocm standard uses a hierarchical communication structure. In fact, it does not create a standard communication stack but directly uses an existing standard. Some may ask, if DICOM only uses an existing communication standard, what is its significance? Why not directly use the existing communication protocol standards?
The significance of DICOM standards and the importance of their functions can be explained by transactions between hypothetical manufacturing plants.
Suppose you are the manager of the Product Development Department. Now you need some parts to assemble a prototype product. So you asked your purchasing manager, Betty, to buy some parts from the aikemei Parts Company. Betty knows that the quickest way is to call ekmey to order, but she also knows that the parts you need are very popular and may have been sold out. She picked up her phone call and heard a familiar voice: "Hello, this is ekmey. Which one do you want to contact ?" Betty replied, "Please switch to the sales department Bob Roberts ."
What Betty did just now is very similar to a device that uses DICOM protocol to communicate with another device. When she picked up the phone, she first asked for smooth lines. The dialing sound she heard tells her that the line is normal (if there is no dialing sound, it indicates that the line is faulty ). Likewise, DICOM standards communicate with another device on the network through service requests. The network protocol first detects whether the Network is available. If available, the DICOM protocol initiates a series of activities, resulting in a connection to another device.
Pick up the phone number to be connected and listen to the response. You have followed a series of communication protocols. First, you must follow certain rules for dialing. If you dial in the office, you may need to first dial an external number. If the other party is not in the local area, you need to dial the other party's area code. Then, when you hear the other party's bell, you know that the other party is not busy. Otherwise, your "agreement" will guide you to call the phone and call again later.
The first two words on the phone end make sense. It tells you two important things. First, you can understand the language that the other party speaks, and second, you have not dialed the wrong number. If you hear "moshi, Fujiyama Denki desu", you may immediately stop the phone or ask the other party if they are looking for someone. In this case, some negotiation occurs. You will ask the phone number of the other party, and the other party will change to a language that you can understand. Assume that the other party can understand what you say, and the response of the other Party determines what your next question is.
DICOM protocol is also used to initiate a certain negotiation to establish a connection. The main content of these negotiations is to determine what the device initiating the communication wants to do and what the device can do. In fact, in DICOM protocol, the software running on the device does not complete the negotiation. The diocm protocol is an application entity supported by devices because initiating communication is a function at the application layer (the most advanced layer in the communication stack.
Just as negotiation with you on the phone confirms the basic capabilities of both parties (for example, the language used and the identity of the other party), connection establishment in diocm also requires negotiation to determine the capabilities. The connection initiator of the application instance organizes the desired work into a list and sends it to the other party. The receiver responds to a list of tasks that can be completed. Subsequent communication is conducted within the intersection of the two lists. For example, the processing of digital pixel values greater than 8 bits varies with systems. Some computer systems first send the smallest valid byte, while some systems are the opposite. If the two systems transmit data in the opposite way, the error value is displayed. The solution is that the device can detect this problem and automatically convert the value. DICOM protocol supports both Representation Methods. Therefore, one of the items in the negotiation before information exchange is to check which method is used by the device.
The difference between an image device is a numerical representation. As will be detailed later, the DICOM standard splits the information to be sent into a series of data elements. For the values contained in the data element, different applications will not use the representation method. DICOM has a very clear definition of the supported data types, known as the numerical representation method (VR ). It includes unequal-length hybrid strings (text strings containing the starting, ending, and a series of sequential characters like a sentence), binary data, time and date data, and personnel name data. In earlier ACR-NEMA standards, these VR were defined in a set of standards called data dictionaries. If you need to write an application that can receive standard ACR-NEMA data, in order to explain the received data, you need to query the ACR-NEMA element tag in the data dictionary to understand what data elements contain and how they represent. DICOM standards need to expand new VR standards. Further expansion in the future will increase the size and complexity of data dictionaries. That's why the DICOM standard supports both ACR-NEMA methods and new methods for defining VR in data elements. The new DICOM method VR is defined in data elements, which can lead to possible confusion. For software designers, the new method reduces the burden of reading data dictionaries. The ACR-NEMA method that defines VR in the data dictionary is called internal VR; the method that DICOM uses defines VR in the data element is called external VR. DICOM supports both methods at the same time, which is important when talking about communication capabilities.
Both the VR method and the byte sequence are part of the negotiation information, which is crucial for the successful establishment of information exchange. The information is called as the transmission syntax and is defined in the DICOM standard. In the early stages of establishing a connection, what transmission syntax is used for information exchange is the main negotiating content.
Betty called Bob from the sales department of ekmey and asked her what help she needed. Betty said, "I need 15 parts ". Bob checked the inventory and replied, "Yes, we have inventory ." He went on to say, "You know, Betty, we just released the Mark 2 part, and its price has increased by 10% as quickly as mark 1 ." Betty asked: "How is the interface for new parts ?" "Mark 2 is forward compatible with Mark 1. Once we clear the inventory of Mark 1, we will stop selling old products ." Betty said, "it sounds good, so I have 15 parts of the Mark 2 model ."
This transaction is simple and efficient mainly because both parties are very familiar with the process. If Betty doesn't know Bob in the sales department, she will ask for the same thing as other people in the sales department.
What happens in the above scenarios also happens in our daily life. These transactions are so frequent that few people will notice their existence unless something goes wrong. In this example, both the definition of terms and the pattern of work are well known to you, Betty, and Bob. Communication in real life is like this: we use the terms and terms we know and the communication mode. Once a word or communication mode that we are not familiar with appears, we can either stop and clarify their accurate definitions or continue communication at risk of problems. In this example, you (Product Development Manager) asked to buy a dozen parts, but Betty (engineering Purchasing Manager) ordered 15 parts. Because Betty judges based on the historical experience data she has worked with you, you always forget to order several more parts for the security test. Because Betty has a certain understanding of the prototype device you designed, the interface consistency will be confirmed when you order the Mark 2 part. At the same time, she knows that improving the running speed of parts is good for your design and there is no reason not to order new parts. There are still high-level considerations in this scenario. Some projects may reserve opinions on the use of the new model, because the new model is generally not as stable as the old model that has been used for a long time. However, in this scenario, you and Betty both have confidence in the quality control system of ekmey and know that the reliability gap between new and old products is negligible.
The most important significance of the DICOM Standard is to define the terms and models involved in the image transmission process as clearly as possible. And ensure that users who receive this protocol can easily use these definitions. In high-level communication (such as communication between users), it is very important to recognize terms and vocabulary. Whether in the radiology department or in the communication between the radiology department and other disciplines, defining specific terms is a prerequisite for ensuring accurate communication. For example, inaccurate understanding of "center" and "side" can directly cause catastrophic consequences for a surgeon who diagnoses based on radiology reports. The American pathology Association has done some work on the SNOMED standard. The terminology, also known as controlled vocabulary, is applied based on anatomy and pathology. Pathology is now a member of the DICOM Standards Committee and is working on developing a new snomd chapter for image description. This chapter is also known as the SNOMED-DICOM vocabulary.
DICOM also adopts some other standard definitions, such as the personnel name format in HL7. The format definition describes the name format and prefix (for example, mr. Fr.) and suffix (for example, Jr. In the format definition, the name is divided into several parts, such as the last name, first name, and prefix. At the same time, each part may also be a single or multiple units to cope with some unusual name structures.
The definition scope of the diocm standard has exceeded the terms, measurements, and environment variables. It also defines the relational model between entities. For example, the relationship between a patient and a patient's exam. In this example, the relationship between the two can be described in a simple word "done". One patient performs a test. Similarly, an exam contains a series of images. Through the study of clinical activities, procedures can also be defined as standard models that define a set of entities (such as patients, examinations, images, reports) and the relationship between entities. This process is called an object link model (E-R ). It is worth noting that the object link model is usually a chart and does not describe the flow direction of specific data.
Each entity in the E-R model has its description or attributes. For example, the patient entity can be described using the following attributes: name, age, gender, medical record number, height, and weight. All of these attributes can be used to indicate or describe a specific patient. The DICOM standard not only defines the E-R model, but also defines the specific attributes of each entity in the model. In fact, the attribute used in DICOM is the data element in the ACR-NEMA standard.
It is important to define the procedural information analysis and modeling of the entity attributes in the E-R model and model. This analysis and modeling process is object-oriented analysis. This technology is closely related to modern computer science. Currently, it is almost impossible to use information science without object-oriented analysis methods. Part of the purpose of building the E-R model is to get an object-oriented result: the object is the object, and the attribute is used to describe the object.
The design logic of DICOM adopts the object-oriented method in the central part. Similar images and reports
Objects such as patients are called Information Objects in DICOM because their function lies in carrying information. The definition of information object is called the definition of information object in DICOM. The essence of information object definition is an attribute list. These attributes are divided into required attributes, optional attributes, and condition attributes (these attributes are required under certain conditions ). It is of great significance to describe the nuances of information objects. The information object definition is similar to a table containing many blank fields. Information fragments such as patient names and medical records can be considered as an attribute. Even a blank table represents a certain information structure. When the blank space in the table is filled and the attribute is assigned a value, the object has a specific practical significance. It may represent a patient, an image, or other object. This table filling process, that is, the process of assigning a value to the attribute, is called the process of creating an information object instance.
The first and second versions of ACR-NEMA standards do not use object-oriented analysis and design ideas. On the contrary, all attributes (called data elements) are grouped by purpose. For example, the elements that describe the patient identity are divided into one group, and the elements that describe the image acquisition method are divided into another group. Because these versions are not developed in accordance with the E-R model, these groups do not comply with the object-oriented definition principles. For example, the patient name is also included in the description of CT exam images in the second edition of ACR-NEMA. According to the E-R model, the patient name should be an attribute of the patient object, not an image object. In other words, even if the CT image uses the patient name as a marker, the patient name is not a necessary description of the CT image. These complex objects can be seen as a collection of multiple entities in the E-R model.
The reason for these problems is that DICOM standard developers (at that time, ACR and SCN) still want to maintain the compatibility of the new standard with the old version. Another reason is that the computer technicians thought that the object should have a specific value, rather than making the object contain some properties. First, calling complex objects from storage devices is more efficient, because if an object is split into smaller elements, You need to search for more and smaller elements in the storage when calling the object, it takes more time. Therefore, the DICOM standard inherits the so-called complex data and structure and is called a composite object. According to the object-oriented design principles, the new object defined in the DICOM standard E-R model does not contain any new property except the sub-object property. These DICOM defined new objects are called normalized objects. Image objects (such as CT, ultrasound, and MRI images) are composite objects, and the objects used for image and report management are normalized objects.
Now back to our hypothetical company, remember that you are the product development manager of the company. To establish an accurate and effective quality control process, you need to track every part assembled into the product. In this way, whether in your own lab or your customers, once you find that there is a problem with the product, you can track which part of the product has a defect in design or processing. To support this process, you need to first number the parts and models in the product. However, this alone is not enough for you to identify the source of defects in manufacturing. In other words, a model number can mark a unique part in a product line, but it cannot be found in multiple product batches. For example, the part model number that Betty ordered is 2011030-001. However, all the products you produce have these numbered parts. To locate a specific part, you also need a unique code (UID ). If you find that ekemi assigns a serial number to each produced part, you can use this number to describe specific parts in a specific product. Only one product may have parts with the model 2011030-001 serial number 97-2003 installed. It is much easier to provide after-sales service for all parts of the company.
Just as some industrial symbols have unique identification numbers, including images, reports, and other information transmitted from one imaging device to another requires a unique identification number. DICOM defines UID to play this role. The UID format complies with international standards. When used correctly, this identifier is unique in one organization and globally. Most uid numbers are generated by computer software. The result is that the numbers seem obscure. In DICOM standard, uid is used when an object points to another object at any time. For example, different transmission syntaxes mentioned above have different UIDs, so that devices can use UID to point to a specific syntax rule during communication. As part of the international labeling organization, the DICOM Committee applies for and obtains a specific numeric field to define the DICOM uid. This numeric field is called the organizational root field. The Field Obtained by the diocm organization is 1.2.840.10008. You can append a number to the root field as the flag. For example, uid 1.2.840.10008.1.2.1 indicates a specific syntax of the DICOM protocol. The root field of the Organization varies slightly depending on whether the UID is issued by the vendor or by the user. The symbols that appear between these numbers seem to have divided the numbers into several meaningful fields, but they do not actually make sense. UID only provides a unique identifier for a specific object and does not include any information about the object to be identified.
The information objects in DICOM are used to transmit images and related information between different hardware devices. However, this information alone is insufficient to ensure the normal operation of the operation process. When Betty called ekmey, she not only told the other party what they needed, but also triggered a series of activities. Betty said she needs to Order 15 parts. Placing this order will trigger the following actions: the company's warehouse will complete the sorting and send the goods to the transportation department. The transportation department will package and ship the goods. In this process, you need to fill in the corresponding paper or spreadsheet to track the process and record inventory changes. In terms of function, order information exchange leads to different services provided by different departments of ekmeil. Similarly, when these parts arrive at your company, they may lead to different services in different departments of the company. Therefore, in addition to information exchange (for example, "I will reserve 15 parts", "we have replaced Model 1 with Model 2 "), some information-related services are also required to meet the company's requirements.
The communication of medical imaging information is similar. While communicating with devices, you also need devices to provide services (for example, displays can display images, printers can print and archive devices can store ). The negotiation process we mentioned above is the method in which devices declare that they can provide services.
DICOM defines standardized service types for its defined information objects. These services are built based on a set of data element services. Because DICOM information objects include composite objects and canonicalized objects, the corresponding services are also divided into composite services and canonicalized services. All services are implemented through a set of data element services. In our example, the Order filling service is actually composed of a set of simple actions. First, the operator receives the call and transfers it to the sales department. The salesperson writes the order according to the call prompt and sends the copy to the payment department. Such a group of small activities constitute the order filling service. Similarly, diocm breaks down complicated services into small service elements, which are called DICOM message service elements (DIMSE. Five DIMSE (called DIMSE-C) types are defined for composite information objects, and six DIMSE (called DIMSE-N) types are defined for canonicalized information objects ). There are two types of DIMSE: operation (for example, "Storage" can write information to the storage device) and notification (for example, "event report" is used to notify the device of an event ). These simple DIMSE forms the services required in image archiving and communication systems. These services include "Archiving" (used to write information objects to archiving devices) and "query-Review" (used to provide information query and calling functions on storage devices ). Some services require DIMSE to appear in pairs for normal operation (for example, "sending storage" and "accepting storage", while other services require multiple DIMSE (for example, query-review ). In the query-View service, "find", "get", and "move" are used.
A service is usually called a service class due to the object-oriented feature of DICOM. This is partly because a service can be used by multiple (or multiple categories) information objects. It is important to know whether a device is a service provider or a service user. For example, the file system in the workstation can provide image storage services, while the ultrasonic machine uses the workstation storage service to store and ultimately display images. The DICOM standard uses service roles to describe the difference. A device can be a service provider, a service provider, or both. Without a doubt, if each device in a system can communicate normally, it is necessary to clarify its role. This need to be clarified in the negotiation process we mentioned earlier. In other words, in the function list, we should not only specify the types of services that can be supported, but also the roles of corresponding services.
Information Objects and services are the two most basic components in DICOM standards. Only after understanding these components can we understand the functions and usage of diocm. Information objects define the core content of medical images, and Service Classes define what these content can do.
Service Classes and information objects are combined into basic units in DICOM standards. This unit is called service-object pair (SOP. Since DICOM is an object-oriented standard, SOP is actually called sop class. The SOP class is the most basic unit of DICOM, and the implementation of any function in DICOM is based on the use of the SOP class.
The combination of services and information objects is simple and direct. For example, DICOM defines a series of storage SOP classes (such as CT Image Storage SOP class and MR image storage SOP class ). The CT Image Storage SOP class is composed of the CT information object definition and storage service class, and other storage SOP classes are also composed of similar methods. Because the SOP class is a method to describe DICOM functions, it also has its own uid. Once the attributes of the information object are assigned a value, the variable of the service class is determined. When SOP is instantiated, it has its own uid.
During DICOM communication, sop instances can be exchanged through DICOM message transmission. DICOM messages can be used to transmit versions of the SOP class. A message contains the provider or user commands of a specific service, and a dataset for creating corresponding information objects.
Compliance is a top priority for any criteria. Compliance with standards is mandatory by law in many areas involving good public security and health. However, some other standards, such as diocm, are also listed here and are only voluntary. The DICOM Standards Committee does not have any mandatory authority. But even so, there is a chapter on compliance in DICOM standards. Anyone who claims that their devices and software comply with the DICOM standards must provide a compliance document that details how their devices or software comply with the standards. A common problem with DICOM standards is: since this is a standard, why does it need to comply with the document? Is it okay to simply publish standards that meet the standards? As previously mentioned, the DICOM standard supports many different image formats, transmission syntaxes, and service roles. To support a variety of medical imaging applications, DICOM standards must be flexible, but at the same time the problem is that a special application must understand its specific processing details. Compliance instructions document is for this purpose.
Let's use an example to summarize the previous theory. Suppose now we want to send a CT exam image from the CT device to a workstation to see how this operation can be performed in DICOM. You or the radiology technician who operates the device needs to set up software on the CT device to prepare to select a specific exam for sending. The device will require you to specify which workstation to receive images. This operation is actually completed at the Medical Imaging Application layer, and basically does not involve DICOM. However, the device console needs to save its image in DICOM format, that is, the console generates a diocm CT information object for the image generated by the device. The process of generating information objects is a series of value assignment processes. Some values need to be input on the console (for example, patient name, doctor's order number), and some values are generated by devices (for example: check date, time, hospital name, device name, and so on ). Before sending the check, you also need to know the network address of the specific workstation name.
The physical connection between the CT devices of the workstation is handled through the communication protocol (usually the TCP/IP protocol. When the sending function is selected, the CT Console software starts to assemble a series of SOP instances, specifically the CT storage SOP instances. In this example, an instance is created for each image sent. Once the location information of the workstation is obtained, the DICOM software establishes a network connection and starts the communication process. The network communication protocol first establishes a communication channel to ensure subsequent operations. When establishing a connection, the CT device first declares its own communication syntax and tells the workstation that this is a device that supports the CT storage service class as a service user, the application of the other Party is required to support the CE storage service class as a service provider. The CT device also declares the default supported VR type. The workstation's response includes declaring that you can support the CT Image Service as a service provider or as a service user. At the same time, the workstation also declares that the communication syntax is consistent with the default syntax of the CT device. In this way, a notification about connection establishment and service capability validation is sent back to the corresponding device.
Reprinted: http://blog.csdn.net/jackmacro/archive/2010/02/27/5332641.aspx