DICOMDIR
定义
DICOMDIR是 DICOM 标准中为介质交换场景定义的一种文件,其文件标识符只由一个分量组成,名称固定为 DICOMDIR[1]。它承载的是介质存储目录 SOP 类(Media Storage Directory SOP Class),内容是整个文件集的通用信息和一份可供检索的目录[1]。
在 DICOM 的抽象文件服务里,文件集是容纳若干 DICOM 文件的"容器",DICOMDIR 就是这个容器在逻辑层面的目录入口;一份文件集只能有一个这样的文件,它也不能引用所属文件集之外的文件[1]。
原理
DICOMDIR 以基础目录信息对象定义(Basic Directory IOD)为模型,该定义不是操作系统意义上的文件目录,而是一套基于医学摘要信息的层级结构[3]。目录项称为目录记录(Directory Record),记录按层级归入目录实体(Directory Entity),常见层级从 PATIENT 到 STUDY、SERIES,再到 IMAGE 或放射治疗类的记录[2]。
记录之间靠 3 种引用机制连接:同一目录实体内部的记录用"下一条记录偏移"串成链;上级记录用"被引用下级目录实体偏移"指向子实体;指向具体影像文件的记录则给出文件标识符[4]。由于链接依赖文件内部的字节偏移量,向文件末尾追加记录即可扩展目录,无须整体重写[3]。
DICOMDIR 本身也是 DICOM 文件,遵循第 10 部分规定的文件格式,其文件元信息中的 SOP 类 UID 指向介质存储目录 SOP 类,SOP 实例 UID 则填入由创建方分配的 File-set UID[1]。目录信息模块中还可包含 64×64 像素的图标图像,用于在检索界面上预览序列或图像记录[5]。在可移动介质上,DICOMDIR 必须位于根目录,其内容具有明显的层级性,每条目录记录只能归属于一个目录实体,同一底层实体也只能被一条上级记录引用[4]。
发展历程
DICOM 的前身由 美国放射学会 与美国国家电气制造商协会(NEMA)于 1983 年前后组建的联合委员会推动制定,1985 年发布第 1 版,1988 年发布第 2 版,当时只支持点对点传输,并未涉及存储介质上的目录问题[6]。1993 年,以 DICOM 3.0 名义发布的新标准引入了面向对象的设计和网络支持,并逐步通过补充件扩展出离线介质存储能力[7]。
1995 年 2 月发布的第 1 号补充件正式增设第 10 部分《介质存储与介质交换文件格式》,其中定义了文件集、DICOM 文件格式,以及要求每个文件集都必须具备的 DICOMDIR 文件,同时为第 11 部分应用配置和第 12 部分介质格式奠定基础[8]。该补充件还给出了 DICOMDIR 文件内容的示例,用以说明目录在实际文件中的组织方式[8]。此后 DICOM 标准持续扩充,陆续出现面向 CD-R、DVD 及 DVD-RAM 等介质的应用配置,DICOMDIR 始终是这些配置的必备组成[9]。
应用
DICOMDIR 的主要用途是让设备在读取介质内容时无须穷举全部文件,只要解析目录就能获知文件集中有哪些患者、检查、序列和图像[2]。在通用 CD-R 交换配置等场景中,一份文件集通常只放一位患者的数据,DICOMDIR 就位于光盘根目录,与之并列的文件夹存放影像文件[2]。
标准为这类操作定义了 3 类角色:文件集创建者(File-set Creator)负责生成 DICOMDIR 和若干 DICOM 文件;文件集读取者(File-set Reader)通过目录定位并读取文件;文件集更新者在增删文件后还要相应修改 DICOMDIR[10]。超声、CT、磁共振等影像设备、显示工作站与归档系统都可以按各自应用配置承担其中一种或多种角色,例如超声设备把新患者记录写入可重写介质时即充当文件集更新者[11]。
在临床数据交换实践中,DICOMDIR 也用于光盘、DVD 等可移动介质在机构之间传递影像,并支持将同一份检查刻录成多张介质时分属多个独立文件集[5]。一些面向患者的介质分发实现还会要求 DICOMDIR 引用介质上全部 DICOM 实例,以配合网页浏览或查看软件读取[12]。
局限
DICOMDIR 的目录结构依赖记录中的字节偏移量,一旦记录长度发生变化而偏移值没有同步更新,整条链就会错位;实际工作中确实存在偏移与实际位置不符、需要读取软件容错才能打开的 DICOMDIR 文件[13]。部分工具为此提供了忽略偏移错误的读取选项,但由于层级关系本身建立在偏移之上,强行读取得到的目录未必完整[14]。
与普通 DICOM 文件不同,DICOMDIR 的写入需要自行维护偏移链,因此部分开源工具对生成和修改 DICOMDIR 的支持相对滞后[15]。此外,介质上的实际错误多数出现在目录环节:文件标识符过长或含禁止字符、缺少必须的属性、属性类型不符合规定,都会造成导入失败,其中 DICOMDIR 相关错误尤为常见[16]。标准层面也难以解决患者标识不统一带来的识别问题,各机构自成体系的患者编号与命名习惯可能在导入时造成记录匹配困难[16]。
参见
参考资料
- part10 [引用日期2026-10-14]
- 10-Part10FileSets-Bosch(PDF) [引用日期2026-10-14]
- F Basic Directory Information Object Definition (Normative) [引用日期2026-10-14]
- b [引用日期2026-10-14]
- part11_changes(PDF) [引用日期2026-10-14]
- Table 2 [引用日期2026-10-14]
- Japanese Society of Radiological Technology [引用日期2026-10-14]
- sup01_ft(PDF) [引用日期2026-10-14]
- sup40(PDF) [引用日期2026-10-14]
- sect_3.8 [引用日期2026-10-14]
- C.2 Clinical Context [引用日期2026-10-14]
- (Interchange Media)により、媒体閲覧役(media reading actors)に情報を送ります [引用日期2026-10-14]
- github.com 上的网页 [引用日期2026-10-14]
- TolerateBadOffsets Property [引用日期2026-10-14]
- github.com 上的网页 [引用日期2026-10-14]
- Primary Use Case [引用日期2026-10-14]