This article describes dicom standard and dicom communication methods. Dicom stands for medical digital image and communication. In fact, there are two aspects: "Storage" and "communication ". File data organization: Network Data Organization. The file data organization method is to parse static dicom files which have been described in the article dicom format file parser. In short, network data is organized by various protocol commands to control data serialization. We will talk about it in this chapter, but the actual operations will be detailed in the following chapters.
Dicom standard Introduction
Dicom related word sorting
Association
Acquire Image Acquisition
Window level
RSNA North American radiology Society
Vendor supplier
The tag data dictionary is usually used as the unit of data elements.
IOD information object definition, for example, the patient and system are both IOD, but IOD is only their definition, not a specific instance.
Dicom uses UID to identify various IOD objects in the Network Environment
1.2.840.10008.5.1.4.1.1.2 this specific UID actually represents CT Image Storage
Service class store query print c-echo
What kind of processing is required for the Data Object transmitted by the SOP service object in combination with the service class?
VR: Value Representation optional field: the Value type dependent on the transfer syntax
Modality imager)
LUT look up table
PDU Protocol Data Unit
Modality imaging equipment
Diverse VM values
SCU/SCP (Service Class User/Service Class Provide) Service User and Service provider
The ratio of HU radiation to water attenuation coefficient is called HU (hounsfield unit)
Dicom is a global communication standard
He developed it with the following major joint efforts:
ACR (American College of radiology)
American Electrical Manufacturers Association)
ESC (European Heart Disease Society)
ACC (American College of Heart Disease)
SFR (France xingye French radiology department)
DSC (DeutschenR öntgengesellschaft)
AAO (American Eye Society)
AAD (American Society of skin diseases)
CAP (American pathology Institute)
JIRA (aneese radiology Supplier Association)
COCIR (European Association of radiation suppliers)
...
Dicom was approved on January 1, October.
Dicom document updated every year
DICOM 2003, compatible with DICOM2001
+ 27 changes
+ 3 additional descriptions
Global Engineering documents:
Http://global.ihs.com
Or
Free URL: http://medical.nema.org/dicom.html
DICOM 3.0, DICOM 96, DICOM 98, DICOM 99, DICOM 2000,
DICOM 2001, DICOM 2003
Only the document release name.
This has no direct impact on existing product consistency.
Dicom includes:
Image Management dicom network image transmission dicom network printing
Network support, for example. TCP/IP protocol
And... Multimedia exchange/archiving
Four main functions of dicom:
Image Management (actually worklist) image query and retrieval image storage hard copy
What material can we do with dicom today?
. Dicom can be used across platforms in most medical imaging systems
. Build a simple and easy-to-Implement Network
. Improve Production Efficiency
. Necessary steps for Building PACS in the future
Dicom encoding: It is encoded as a continuous dataElement.
Message = data set
Sender-> DataElement-> Receiver
The structure of each element is as follows:
Tag VR Value | Length | Value | Field
Tag: Unique tag definition in dicom data dictionary
VR: Value Representation optional field: the Value type dependent on the transfer syntax
Dicom standard consists of 14 parts
1 introduction and overview
2. Consistency statement: This is a plain text description made public by the vendor.
3. Information object definition (IOD): simple compound
4. service class specifications: describes the structure of the service class, and describes the commands and results of these interfaces.
5. How to Construct and encode information object classes and services
6 data dictionary the so-called data dictionary is a key-value pair, that is, the attribute a IOD is composed of multiple attributes, that is, the data dictionary.
7. MessageExchange defines the services and protocols used for communication. A typical dicom message consists of a command and a data stream following it (optional) it defines the messages sent and received by various service classes and describes the following rules:
Establish and terminate association Rules
Rules for controlling the request and response of network commands
The encoding rules used to construct command stream data and messages are actually how to organize the network stream for specific functions.
The command and IOD data of the service class must be encoded into a data stream of the specified structure to form a message. Do you understand? When the client requests printing, it will say that I want to print these things: then, Data Service commands and IOD are packaged into socket data streams.
8. network communication support for message exchange is about the underlying content of message exchange.
9 point-to-point communication for message exchange is supported to ensure compatibility with nema2.0, that is, dicom2.0.
10. Data media storage and file format. This describes the file organization methods suffixed with. dcm.
11 media storage policies are not required
12 data exchange storage functions and media formats are not required
13 print management supported by point-to-point communication
14. The grayscale display function grayscaleStandardDisplayFunction specifies the Standard Display Mode of the grayscale display device.
2 ~ Part 9 is the key content
A device or diagnostic system is an application entity.
If the manufacturer's devices claim to support dicom, there should be a statement of consistency, that is, how do you support it.
Consistency statement includes:
1. dicom Information Objects supported by the system
2. Different vendors of services supported by this entity can support different services. This demonstrates that dicom is an extensible object-oriented standard.
3 supported protocols
4. Supported context information
5. system configuration information of the object
By comparing the consistency statements of two different implementations, the user or system designer can determine whether the two systems can perform interoperability and communication.
---------------------------------------------------------------------------
The complexity is mainly due to soket's dimse communication, while dimse belongs to the application layer, just like the http ftp protocol. It is the data flow on the socket, but this specific data organization method is called dimse. That is to say, You need to implement a protocol similar to http on your own.
Dimse is composed of a command set and a dataset.
The command set instructs the target on how to operate something. The dataset refers to the "stuff to be operated", which is actually the "material" for the cook to cook ". Not all must have datasets. For example, if "I want to get the status of your machine", the requester does not need a dataset. Some require datasets. For example, if you want to store an image, you need a dataset. A command set can be understood as a service that is completed together with various commands. The dataset is interpreted as the instantiation of IOD, for example, the patient name, patient age, and other tags constitute a patient instance. Dicom is the correct "communication intention" between two application entities through the combination of the service class and IOD ". Therefore, interoperability between two devices is the core idea of communication and interoperability between dicom devices.
However, one thing that needs to be done before this is to express context negotiation.
What is context
Express imagine the communication between people. What we need is to correctly convey the intent to convey the content. The same is true for computers, but they must first determine a consistent approach. I have never heard that I have to negotiate with my friends to express the context. We may never realize the existence of our communication in the real world because we have been living in this environment for too long and have no language barriers to take for granted. There are two main elements in the expression context: absSyntax and transferSyntax. absSyntax determine what to do and transferSyntax determine the encoding rules. It can be seen that the context is to determine two things so that the target computer can correctly "understand" the data sent by the local host. The two entities in the negotiation reach a consensus on the same application context.
In the dicom negotiation process, the expression of what is being negotiated allows both Parties to understand the terms and semantics. tag is the so-called word, tag represents the command, and tag represents the patient's name. The data organization method is semantics. Through such negotiation, both parties can perform normal dicom communication.
After reaching a consensus, we need to establish a connection.
As mentioned above, the basic data units of dimse are data-element and pdu.
All data is encapsulated in the TCp Data Unit (PDU) transport layer is responsible for the establishment and release of TCP connections and the transfer and receipt of PDU over TCP for Dicom upper layer protocol to provide TCP connection services DICOM upper layer services include A-ASSOCLATE A-RELEASE A-ABORT P-DATA A-P-ABORT five services. These upper-layer services allow peer-to-peer dicom applications to establish connections to transmit data interrupted connections DICOM application entities use these upper-layer services to complete message transmission and information exchange.
PDU is a data structure. dataElement is a data structure.
There are 7 pdu structures in total, of which 6 are used for Connection Control.
A-Associate-RQ PDU
Connection Request protocol data units used to associate requests.
A-Associate.AC PDU
Implementation of medical image communication process based on DICOM Standard
Connect the receiver protocol data unit,
A. Associate-RJ PDU
Connection denial protocol data unit,
A-Release-RQ PDU
Used to respond to associated requests.
Used to reject Association requests.
Connection and release request protocol data units,
A-Release.RSP PDU
Connect and release the response protocol data unit,
A. Abort PDU
Only one type of PDUS for transmitted content is P. DATA. TF pdu,
When the communication parties establish a connection, you can use the transmission service provided by the P.DATA-TF to achieve different communication functions. A total of 11 communication services are listed in the latest DICOM3.0 standard. Five operations for the combination of IOD, including C. STORE, C. GET, C-MOVE, C. FIND and C-ECHO; AET uniquely identifies a service or application on a specific system in the Network
Therefore, the entire communication process should be either the application layer or the program segment. What do I need to do? For example, store a CT image, and then determine the dimse Service specification based on various parameters and IOD, determine dimse based on various parameters. Then, these things are serialized into PDUS and transmitted over tcp.
Five layers: TCP Socket layer, DICOM upper layer protocol layer, Message layer, DIMSE (DICOM Message Exchange) layer, and SCU/SCP layer.
TCP ensures reliable data transmission.
Dicom upper-layer protocol ul upLayer (ULP)
Actually, it refers to the associate-rq rj which is used to establish the association and release the connection.
The implementation of the DICOM upper layer protocol layer is mainly based on the TCP Socket, receiving from the TCP network
The data streams are connected according to the data of A. Associate. RQ/AC in the DICOM protocol unit.
Analyze the data stream, and then return the data of the corresponding structure based on the analysis results. Its core is dynamic connection.
Collect data, analyze the data in real time, parse various parameters in A. Associate-RQ, and make
A. Associate. AC responds and completes the association process. Once the association process is completed, SCU and SCP can
To perform other service operations specified in DICOM.
Then there is the dimse layer (the Information Exchange Unit after the connection is established), and the C-Find which belong to dimse is represented as P. DATA. tf pdu.
The process for communication between dicom application entities is: receive commands-> confirm roles-> constitute SOP-> code (generate message data) -> load the message data into the PDU-> send the PDU through socket. The encoding part is the main work of the message layer. The generated message is composed of a command set and a data set. Does the dimse layer mainly encode SOP? SOP is composed of the service class and IOD. For example, using c-store to store an image seems to be the c-get c-move c-find n-get stuff? There are two types of operations: operation and notification dicom3.0. Only n-event-report is specified in the dimse service and all others are operation.
What is the service class of scu/scp Layer? For example, if I want to implement a network print, I want to implement a graphic storage.
What is the primitive?
C-STORE C-FIND which is belonging to DIMSE he includes all sorts of messy service primitives?
Which of the following statements about establishing association associate to release connections?
The socket layer is responsible for sending P-DATA PDU data? What is the underlying code of DICOM?
The main function of the DIMSE message service layer is to convert the communication requirements of the SCU/SCP layer into various message service primitives specified in DICOM, and then pass the message service primitives to the next layer.
The underlying architecture of dicom networks is to exchange PDUS in the form of PDUS. A total of 7 types of PDUS are available.
Among them, there are 6 types of connections dedicated for the establishment and release of only one is for information and data exchange
In the next few articles, we will analyze the communication process of a dicom network printing and implement dicomPrint_SCP.