什么是DICOM?医学影像的文件格式
DICOM是存储和交换医学影像的国际标准。如果您拿到了存有CT、MRI或X线影像的光盘,或者收到了这类影像的下载链接,其中的文件很可能就是DICOM文件。
FDG-PET-CT-Lesions (Gatidis, Kuestner), TCIA, CC BY 4.0
本页目录
放射学和心脏病学领域几乎所有的影像设备都使用DICOM。影像从扫描设备传到医院的存档系统、传到其他医疗机构,或刻录到患者的光盘上时,用的也是这种格式。本页介绍DICOM文件的内部结构,以及如何安全地打开、转换和分享这些文件。
关于DICOM标准
DICOM是Digital Imaging and Communications in Medicine(医学数字成像和通信)的缩写。它规定了医学影像的文件格式和网络协议,使不同厂商的设备和软件能够协同工作。
DICOM由美国放射学会(American College of Radiology,ACR)和美国国家电气制造商协会(National Electrical Manufacturers Association,NEMA)创建。如今它由DICOM标准委员会(DICOM Standards Committee)负责制定,NEMA担任秘书处。DICOM同时也是国际标准ISO 12052。
该标准约有20个部分,编号为PS3.1至PS3.22,每年更新数次。现行版本可在dicomstandard.org免费阅读。
DICOM的历史
1983年,ACR和NEMA成立了联合委员会,原因是当时扫描设备生成的图像离开厂商自己的设备就很难读取。
- 1985年:ACR-NEMA 300,用于通过专用的16位并行接口进行点对点传输。
- 1988年:ACR-NEMA 2.0,第二版。
- 1993年:DICOM 3.0,启用新名称,并支持计算机网络(TCP/IP)。
- 1995年:支持用CD交换检查,并增加了超声、X线血管造影和核医学的对象。
自1993年以来没有发布新的主版本,新功能通过增补(Supplement)陆续加入,例如模态工作列表(modality worklist,1996年)、结构化报告(2000年)、乳腺断层合成(2008年)、全切片成像(whole slide imaging,2010年)和DICOMweb(2013年)。
DICOM文件的内部结构
一个DICOM文件既包含图像,也包含有关患者、检查和设备的信息。其结构由PS3.10规定:
- 前导区:128字节,通常全为零。
- 前缀:四个字母
DICM,用来标识这是DICOM文件。 - 文件元信息(File Meta Information):组号为
0002,其中包括传输语法UID(Transfer Syntax UID)(0002,0010),它说明文件其余部分是如何编码的。 - 数据集:一系列数据元素。
- 像素数据(Pixel Data)
(7FE0,0010):图像本身,通常是最后一个、也是最大的元素。
0x0000前导区128字节,通常全为零0x0080DICM前缀字母DICM表明这是DICOM文件(gggg,eeee)数据集有关患者、检查、序列和图像的数据元素一个数据元素
PatientName- 标签
(0010,0010)10 00 10 00- 值表示(VR)
PN50 4E- 长度
808 00- 值
DOE^JANE44 4F 45 5E 4A 41 4E 45
(7FE0,0010)像素数据图像本身,未压缩或已压缩
每个数据元素都有一个标签(tag,即十六进制的组号和元素号,例如(0010,0010))、一个值表示(value representation,简称VR,是由两个字母表示的数据类型,如表示姓名的PN或表示日期的DA)、一个长度和一个值。组号为奇数的标签是私有标签,通常由厂商定义。
| 标签 | 名称 |
|---|---|
(0010,0010) | Patient's Name(患者姓名) |
(0010,0020) | Patient ID(患者编号) |
(0010,0030) | Patient's Birth Date(患者出生日期) |
(0008,0020) | Study Date(检查日期) |
(0008,0060) | Modality(模态) |
(0008,1030) | Study Description(检查描述) |
(0008,103E) | Series Description(序列描述) |
(0020,000D)、(0020,000E)、(0008,0018) | Study、Series和SOP Instance UID(检查、序列和SOP实例的UID) |
(0028,0010)、(0028,0011) | Rows和Columns(行数和列数,即图像的像素尺寸) |
(0028,0030) | Pixel Spacing(像素间距,即相邻像素中心之间的毫米数) |
(0018,0050) | Slice Thickness(层厚) |
(7FE0,0010) | Pixel Data(像素数据) |
一次检查是如何组织的
DICOM将图像组织为四个层级:
- 患者(Patient):接受检查的人。
- 检查(Study):一次检查,例如某个日期做的胸部CT。
- 序列(Series):一起采集或重建出来的图像,例如薄层图像或骨算法重建图像。
- 实例(Instance):一个对象,通常是一幅图像,存为一个文件。
患者
PatientID受检者本人:姓名、编号、出生日期
检查
StudyInstanceUID一次检查,例如某一天做的胸部CT
序列
SeriesInstanceUID一次扫描或一次重建得到的一组图像
实例
SOPInstanceUID一幅图像或一个对象,存为一个文件
每幅图像通常是一个单独的文件,一次检查可以有几个序列,每个序列有数百层图像,因此一次检查可能包含数千个文件。
每个检查、序列和实例都有一个唯一标识符(UID):由圆点分隔的数字,长度不超过64个字符,例如2.25.329800735698586629295641978511506172918。UID的设计目标是在全球范围内唯一,软件依靠UID而不是文件名来为图像分组和排序。
每个对象都属于某个SOP类(SOP Class),SOP类决定了对象的类型,例如CT Image Storage(CT图像存储,1.2.840.10008.5.1.4.1.1.2)。多帧对象(multi-frame)可以在一个文件中保存许多帧,例如一段超声视频。DICOM还可以存储其他类型的对象:结构化报告(SR)、封装的PDF文档、呈现状态(presentation state)、分割(SEG)和放射治疗计划。
压缩与传输语法
传输语法(transfer syntax)规定了字节顺序、文件中是否写入VR,以及像素数据是否压缩。如果查看器不支持某种传输语法,就可能无法打开本来有效的文件。
| 传输语法 | UID | 压缩方式 |
|---|---|---|
| Implicit VR Little Endian(默认) | 1.2.840.10008.1.2 | 无 |
| Explicit VR Little Endian | 1.2.840.10008.1.2.1 | 无 |
| Deflated Explicit VR Little Endian | 1.2.840.10008.1.2.1.99 | 无损,压缩整个数据集 |
| JPEG Baseline | 1.2.840.10008.1.2.4.50 | 有损 |
| JPEG Lossless | 1.2.840.10008.1.2.4.70 | 无损 |
| JPEG-LS | 1.2.840.10008.1.2.4.80、1.2.840.10008.1.2.4.81 | 无损或近无损 |
| JPEG 2000 | 1.2.840.10008.1.2.4.90、1.2.840.10008.1.2.4.91 | 无损或有损 |
| HTJ2K(2023年新增) | 1.2.840.10008.1.2.4.201至1.2.840.10008.1.2.4.203 | 无损或有损 |
| RLE Lossless | 1.2.840.10008.1.2.5 | 无损 |
| MPEG-2、H.264、H.265 | 1.2.840.10008.1.2.4.100等 | 有损视频 |
无损压缩精确保留每一个像素,通常能使文件缩小到原来的二分之一至三分之一。有损压缩可使文件缩小到原来的十分之一甚至更小,但会永久丢失细节。有损压缩常用于超声和视频,而CT、MRI和X线图像通常以未压缩或无损压缩的方式保存,因为丢失的细节可能影响诊断。如果Lossy Image Compression (0028,2110)(有损图像压缩)的值为01,说明该图像经过了有损压缩。
DICOM图像是如何传输的
在医院里,扫描设备把图像发送到PACS(Picture Archiving and Communication System,影像归档与通信系统),由PACS保存图像并分发到放射科医生的工作站。每个DICOM设备或程序都是一个应用实体(Application Entity,AE),具有AE标题、IP地址和端口,端口通常为104或11112。经典的DIMSE服务基于TCP/IP运行:
C-ECHO:检查连接是否正常。C-STORE:发送对象。C-FIND:查找检查、序列或图像。C-MOVE:请求服务器把对象发送到指定目的地。C-GET:通过同一连接获取对象。
借助模态工作列表(modality worklist),扫描设备可以收到已预约患者的清单,因此姓名和编号不必手工输入。DICOMweb(PS3.18)通过HTTP提供类似的服务:QIDO-RS用于查询,WADO-RS用于获取,STOW-RS用于存储。
患者通常会拿到CD、DVD、U盘或下载链接。按DICOM标准制作的光盘带有DICOMDIR索引文件,往往还附带一个查看器。
模态及其代码
模态代码保存在标签(0008,0060)中。
| 代码 | 含义 | 文章 |
|---|---|---|
CT | 计算机断层扫描 | CT检查 |
MR | 磁共振 | 磁共振成像(MRI) |
CR、DX | 计算机X线摄影、数字X线摄影 | X线摄影 |
US | 超声 | 超声检查 |
MG | 乳腺X线摄影 | 乳腺X线摄影 |
PT | 正电子发射断层成像 | PET与PET/CT |
NM | 核医学 | 核医学显像与SPECT |
XA、RF | X线血管造影、X线透视 | 血管造影与透视 |
IO、PX | 口内X线摄影、全景X线摄影 | 口腔X线片与锥形束CT |
BMD | 骨密度测定 | 骨密度检查 |
PET/CT检查同时包含PT和CT序列,口腔锥形束CT(CBCT)通常使用代码CT。其他代码还有OP和OPT(眼部成像)、SM(玻片显微成像)、ES(内镜)、ECG、SR、SEG,以及RTSTRUCT、RTPLAN、RTDOSE(放射治疗)。
如何打开DICOM文件
普通的看图软件打不开DICOM文件,需要使用DICOM查看器,例如:
- Weasis:免费开源,支持Windows、macOS和Linux。
- 3D Slicer:免费开源,具有高级三维工具,支持Windows、macOS和Linux。
- Horos:免费开源,适用于macOS。
- OHIF Viewer:免费开源,可在网页浏览器中运行。
- MicroDicom:非商业用途免费,适用于Windows。
- RadiAnt DICOM Viewer:商业软件,提供免费试用,适用于Windows。
软件的许可条款可能会变化,此列表不构成推荐。
要查看光盘,请先把光盘中的全部内容复制到电脑上,然后在查看器中打开DICOMDIR文件或复制出来的文件夹。光盘上自带的查看器并非必需,而且往往只能在Windows上运行。如果电脑没有光驱,可以向医疗机构索取下载链接。
把DICOM转换为JPEG、PNG或视频
查看器可以把图像导出为JPEG或PNG,把序列导出为视频,但得到的已不再是完整的医学影像:
- 元数据会丢失:患者、检查和设备的数据,以及图像的顺序。
- 灰度级别会减少。CT和MR图像通常每个像素有12至16位(数千级灰度),而常见的JPEG只有8位(256级灰度)。
- 窗宽和窗位被固定。医生无法再针对骨骼、肺或软组织调整显示的数值范围。
- 测量变得不可靠,也无法再进行三维重建。
如需寻求第二诊疗意见,请发送整个检查的原始DICOM文件,而不是截图或视频。
个人信息与去标识化
DICOM文件头通常包含个人信息:患者姓名、编号、出生日期和性别、检查日期,以及医院名称和医生姓名。文字还可能直接烧录在像素里(例如超声图像上),私有标签中也可能保存着能识别身份的数据。
去标识化会删除或替换这些信息。标准在PS3.15附录E(Attribute Confidentiality Profiles,属性保密配置文件)中对此作了说明。在公开分享图像或将其用于教学之前:
- 使用能同时删除私有标签的去标识化工具;
- 检查像素中是否有姓名和日期,并将其裁掉或遮盖;
- 请记住,头部CT或MRI的三维重建图像可能显示出面部;
- 为您的医生保留原始文件。
常见问题
为什么我的检查有这么多文件?
每幅图像通常是一个单独的文件,一次检查可能有数百甚至数千幅图像(参见一次检查是如何组织的)。这是正常现象。
什么是DICOMDIR?
DICOMDIR是光盘上的索引文件,列出了所有患者、检查、序列和图像,以及每个文件所在的位置。在查看器中打开它,即可加载整张光盘。
能在手机上打开DICOM文件吗?
可以,使用DICOM查看器应用或网页查看器即可。用于诊断时,医生使用的是更大、经过校准的显示器。
能把DICOM转换成JPG或PDF吗?
可以,但导出的图像会丢失信息,所以请保留原始文件(参见转换DICOM)。
DICOM可以免费使用吗?
标准本身可以免费阅读,许多免费的开源程序也支持它。NEMA不对产品进行认证,由厂商自行发布DICOM一致性声明(DICOM Conformance Statements)。
DICOM文件必须带.dcm扩展名吗?
不必。光盘上的文件常常使用IM000001这样的短名称,没有扩展名。程序是通过DICM前缀而不是文件名来识别DICOM文件的。









