# DCM 文件怎么打开，以及里面有什么

医院给的光盘是一个装着没有后缀的文件的文件夹，外加一个给 Windows XP 写的阅片器。那些文件是 DICOM，而它们一点也不神秘。一份影像就是一个装满字段的头信息，加上一堆像素。下面说怎么看它，那些操作是什么意思，以及这个文件除了图像之外还带着什么。

[打开DICOM 阅片器](https://abox.tools/zh/dicom-viewer/): CT、MR、X 光和超声，连窗宽窗位、头信息和测量一起。

最后更新 2026年9月19日

## 先说结论

打开 [DICOM 阅片器](https://abox.tools/zh/dicom-viewer/)，把 `.dcm` 文件拖进去，或者把整个装着这些文件的文件夹拖进去。它们会在你自己的机器上读出来，各自归回原来的序列，并按设备拍摄的顺序叠好。什么都不会上传，也不会往你的文件里写回任何东西。

要是你拿到一张光盘，正犹豫该开哪个文件：全部，一次性。一次 CT 或者 MR 不是一个文件，是一层一个文件，一次胸部检查就是三百来个。

## DCM 文件是什么，用什么打开

以 `.dcm` 结尾的文件就是 DICOM 文件，也就是每一台医学影像设备写出来的格式，这三个字母只是它通常用的后缀。在一台从没装过医学阅片软件的电脑上双击它，系统会问你用什么程序打开，因为机器自带的东西里没有一个登记过要开它。看图软件不行。里面的像素不是换了名字的 JPEG，它们有十二位或十六位深，而且得先读头信息，才知道这幅图有多宽。

所以大家搜的「DCM 文件打开工具」，其实就是 DICOM 阅片器，一共三种。光盘上带的那个程序，如果它还跑得起来。一个要安装的桌面阅片器，对每周都看影像的人来说是正解，对手里只有一张光盘的人来说太折腾。还有网页，而网页又分两类，看上去一模一样：一类把你的文件传到服务器，再发一张图回来；一类就在浏览器里读。分辨的办法是先把页面加载好，断开网络，再打开文件。只有第二类这时还能用。

## 医院给的光盘里都有什么

通常是四样，而只有一样要紧。

- **一个装着影像的文件夹**，名字常常是 `DICOM`、`IMAGES` 或者 `ST0001`，里面的文件叫 `IM000001`、`I0000001`，或者一长串带点的数字。很多时候压根没有后缀。这就是影像。
- **一个叫 `DICOMDIR` 的文件**，是其余部分的索引，写出来是为了让阅片器不必逐个打开就能列出光盘上的检查。你用不着它。
- **一个阅片器**，可能是 Windows 的可执行文件、一条自动运行项，偶尔是个 Java 小程序。它是照着刻盘那会儿的环境编译的，所以那么多都已经跑不起来了。
- **一个带医院标志的 HTML 页面或者 PDF**，讲怎么启动那个阅片器。

影像并不需要那个阅片器。这个格式是公开的标准，文件自己就读得了；光盘上那个可执行文件只是能读它们的一个程序，不是唯一的一个。

## 文件为什么没有后缀

因为 DICOM 不需要。每个文件都自带标记：128 个字节的空白，然后是 `DICM` 这四个字母，再然后是一小块字段，说明这个文件其余部分是怎么写的。读的一方查的是那四个字母，不是以 `.dcm` 结尾的名字。

这也是为什么把文件名改成 `.dcm` 什么也改变不了，以及为什么一个非要后缀的阅片器是在没必要地较劲。直接从医院网络里写出来的文件，连那 128 个字节和那个标记都没有，就是前面什么都不加的裸数据，读的一方得从它的第一个元素推断出编码方式。那是正常文件，不是坏文件。

## 窗宽窗位，这才是要紧的那个操作

这是让一张医学影像不同于一张照片的唯一一件事，也是图像编辑软件不适合看它的原因。

一层 CT 里大约有四千个不同的数值，你的屏幕只能显示两百五十六级灰。总得有什么来决定这四千里哪一些落到那两百五十六里，这个决定就是**窗**。比它低的全黑，比它高的全白，中间那一段铺满灰阶。

挪一下窗，同一个文件看着就像另一次检查。这不是渲染出了毛病，这正是关键。肺和骨都在同一层里，却没法同时看清：一个能看出充气肺纹理的窗，会把所有骨头变成纯白；一个能看清肋骨骨小梁的窗，会把整个肺变成纯黑。

CT 上的数值是**亨氏单位**，是绝对定义的，不是每台机器各算各的：水是 0，空气是 −1000，全世界每一台 CT 都如此。所以阅片器才能给出带名字的窗，肺窗、骨窗、脑窗、软组织窗，而且它们在你的文件上跟在那台出报告的工作站上是同一个意思。常用的几个是：

- **软组织窗** | 窗位 40，窗宽 400。
- **肺窗** | 窗位 −600，窗宽 1500。
- **骨窗** | 窗位 300，窗宽 1500。
- **脑窗** | 窗位 40，窗宽 80。这个窗很窄，因为灰质和白质只差几个单位。

MR 上没有这样的标度。数值取决于序列、线圈和机器，所以没有什么可以拿来给预设起名字，一开始用的窗就是文件自己要求的那个。每一份影像都带着一个建议。

![查看器：一张灰度断层图，旁边是窗宽窗位控件、常见组织范围的预设，四角还有检查信息。](https://abox.tools/screens/open-a-dicom-file/viewer.webp)

真正起作用的两个控件是窗宽和窗位。一次扫描携带的层次比屏幕能显示的多，你看的是其中哪一段，由它们决定。

## 为什么有时候翻层的方向是反的

阅片器得决定把这些文件按什么顺序排，而文件里有两样东西可以用。

**Instance Number** 是一个计数。这是最顺手的选择，可它是由写这些文件的东西分配的，没有理由按病人躺着的方向去编号。一次从脚往上重建、却从头往下编号的检查，翻起来就是倒的；而由两次重建拼起来的一套序列，编号甚至可能直接重复。

**Image Position (Patient)** 说的是这一层实际在什么位置，单位是毫米，而且用的坐标系是钉在病人身上的，不是钉在机器上的。不管编号做了什么，按它排都是对的，而且还有个有用的副产品：一旦层按物理位置排好了，层与层之间的距离就量得出来，于是阅片器可以告诉你层间距是 5 mm，也能发现少了一层，而这件事文件本身从来不说。

## 量点什么

影像是量出来的数据，所以在它上面量出的长度是真实长度，前提是文件写了像素之间隔多远。写这个的只有一个字段，Pixel Spacing，单位毫米，几乎每一次 CT 和 MR 都有。

超声图像、扫描件，还有存成 DICOM 的屏幕截图，常常没有这一项。没有的时候，毫米这个答案就不存在诚实的版本，而一个照样给出毫米的阅片器是自己编了一个比例。像素数是对一个文件回答不了的问题给出的正确答案。

也要留意不是正方形的像素，这在 CT 之外很常见。按像素量再乘一个间距，只有在两个方向相等时才对，每个方向都得用自己的那个数。

## 一份影像除了图像还带着什么

这是人们弄错的地方，也是对这类文件要小心的理由。

DICOM 文件不是加了元数据的图片，是装着图片的病历。头信息是一串字段，在一次寻常的临床影像上，里面装着：

- 病人的姓名、住院号、出生日期和性别；
- 检查号，也就是在医院系统里回到那张申请单的钥匙；
- 开单医生、拍片技师、出报告的放射科医生；
- 机构、机构地址和科室；
- 设备的厂商、型号和序列号；
- 精确到秒的检查日期和时间；
- 以及检查、序列、实例的那几个唯一标识符，它们是回到出片档案库的完美钥匙。

你拿到的任何一个文件都带着这全部，而且文件走到哪里它们就跟到哪里。删掉姓名是不够的：一个出生日期、一个邮编大小范围内的机构，加上一个检查时间，认出一个人的本事跟姓名差不多；而检查的 UID，对任何能进那个档案库的人来说，指认得分毫不差。

有些设备还会把病人姓名的第二份副本放进一个私有字段。那种字段的含义没有在任何地方公开过，而多数匿名化工具根本不动它，因为它们无从知道里面装着什么。

![一张卡片，列出文件里能指认患者的东西：姓名、编号、出生日期和检查描述。](https://abox.tools/screens/open-a-dicom-file/identity.webp)

除了那张图，扫描还随身带着这些。为什么不该把它用邮件发出去，正是这张卡片在说明。

## 别为了看一眼就把影像传上去

这件事通常是这么解决的：搜一下「dicom viewer online」，然后找到一个上传框。而那一刻刚刚发生的事情是，一个陌生人手里有了一份病历的副本：像素、姓名、出生日期、住院号，以及回到档案库的那把钥匙。

根本没有这个必要。读一个 DICOM 文件就是解析一段头信息、再把一些整数拆出来，浏览器干这个干得很好。所以[这里的阅片器](https://abox.tools/zh/dicom-viewer/)压根没有联网功能：没有 `fetch`，没有 `XMLHttpRequest`，就算有什么想送，也没有东西送得出去。把页面加载一次，断网，它照样打开影像。

[把文件传到在线转换网站安全吗？](https://abox.tools/zh/guides/is-it-safe-to-upload-files/)讲了怎么在本站或者任何别的站上核实这个说法。而这一类文件，正是最值得核实的那一类。

## 浏览器做不到什么

两件事，而且两件都值得说明白。

**它不是诊断用的阅片器。**你的屏幕没有校准，浏览器不是经过验证的渲染链路，也没有哪个网页通过过监管评估。为了做临床判断去读一份影像，那是它出报告的那台工作站的活。看看光盘里有什么、取一层放进课件或者论文、读头信息、弄清另一个程序为什么拒收这个文件，这些都是在浏览器里打开它的好理由。

**有些压缩过的影像解不开。**DICOM 允许好几种压缩方案，浏览器实现了其中一种。未压缩的文件、run-length 编码的文件、baseline JPEG，还有医院导出时大多用的 JPEG Lossless，都打得开。JPEG 2000、JPEG-LS 和视频用的那几种格式，需要好几兆字节的编译库。图像解不开的时候，头信息照样完整可读，而那通常本来就是你要来看的那一半。
