DICOM文件解读
- 格式:pdf
- 大小:267.01 KB
- 文档页数:7
DICOM的名词解释DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信,是一种用于医学图像和相关信息的国际标准。
DICOM被广泛应用于医学影像设备、医疗信息系统和图像处理软件等领域。
本文将介绍DICOM标准中一些常用的名词和概念。
1. DICOM图像DICOM图像是医学成像设备生成的二维或三维图像,如CT扫描、X射线片、核磁共振图像等。
DICOM图像文件通常以.dcm为扩展名,并包含了图像本身的像素数据以及与图像相关的患者信息、设备信息等。
DICOM图像具有跨平台、互操作性强的特点,可以在不同的医疗设备和软件中进行传输、显示和分析。
2. DICOM文件格式DICOM文件格式定义了图像和相关信息在存储和传输中的组织方式。
DICOM文件由一系列的数据元素(Data Element)组成,每个数据元素包含了一个标签、一个值和一些描述信息。
标签用于唯一标识每个数据元素,而值则存储了具体的信息。
DICOM文件采用二进制格式存储,可以通过解析文件头部的元数据来获取图像本身的像素数据。
3. DICOM标准DICOM标准由美国医学影像与生物工程学会(ACR-NEMA)和国际电工委员会(IEC)共同制定,旨在促进医学图像设备和信息系统之间的互操作性。
DICOM 标准规定了医学图像的格式、传输协议、数据元素的定义等内容,确保了不同厂商的设备和软件能够正确读取和解析DICOM图像。
DICOM标准的持续更新和演进,使其成为了医学影像行业的重要基础。
4. DICOM服务DICOM服务定义了医学影像设备和信息系统之间的通信方式和协议。
常见的DICOM服务包括图像查询检索服务(C-FIND)、图像存储服务(C-STORE)、图像传输服务(C-MOVE)等。
这些服务通过网络协议(如TCP/IP)实现,允许不同设备之间的图像传输、共享和查询。
DICOM服务的实现,使得医学影像数据能够在不同地点和时间进行远程交流和访问。
pydicom和SimpleITK分别解析医学影像中dicom⽂件⾸先,⽆论是pydicom还是SimpleITK都是需要事先导⼊到python中的库,如果使⽤的是pycharm IDE,可以先创建python3的虚拟环境,然后在虚拟环境下通过file-setting-Project interpreter ,在添加模块⾥⾯直接搜上述两个库的名称,点击安装即可。
pydicom提取单张dicom图像1import pydicom2from matplotlib import pyplot34 ds = pydicom.read_file('C:/Users/****/Desktop/CT000000.dcm')# DICOM⽂件的位置5print(ds.dir()) # 打印所有 DICOM TAG 名6print(ds.dir('Pixe')) # 打印包含 'pat' 的 DICOM TAG7print(ds.PatientName, ds.PatientSex, ds.PatientID, ds.PatientBirthDate, ds.PatientAge) # 打印 DICOM TAG 相应的属性值8print(ds.data_element('PatientName')) # 打印⼀个完整的数据元素,包括 DICOMTAG编码值(Group, Element), VR, Value9print(ds.data_element('PatientID').VR, ds.data_element('PatientID').value)10 pixel_bytes = ds.PixelData # 原始⼆进制⽂件1112 pix = ds.pixel_array # 像素值矩阵13print(pix.shape) # 打印矩阵维度14 pyplot.imshow(pix, cmap=pylab.cm.bone)15 pyplot.show() # cmap 表⽰ colormap,可以是设置成不同值获得不同显⽰效果,打印dicom图⽚注意,此时可能会报错,报错的地⽅是ds.pixel_array,原因是某些格式的dicom⽂件不能⽤pydicom提取,。
DICOM医学影像⽂件格式解析DICOM医学影像⽂件格式解析dicom协议中⽂⽂档可去csdn下载1.DICOMDICOM(DigitalImaging andCommunications inMedicine)是指医疗数字影像传输协定,是⽤于医学影像处理、储存、打印、传输的⼀组通⽤的标准协定。
它包含了⽂件格式的定义以及⽹络通信协议。
DICOM是以TCP/IP为基础的应⽤协定,并以TCP/IP联系各个系统。
两个能接受DICOM格式的医疗仪器间,可通过DICOM格式的⽂件,来接收与交换影像及病⼈资料。
⽬前,DICOM被⼴泛应⽤于放射医疗,⼼⾎管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和⽛科等其它医学领域得到越来越深⼊⼴泛的应⽤。
⽬前采⽤的标准是DICOM3.0,每⼀张图像中都携带着⼤量的信息,这些信息具体可以分为以下四类:(a)Patient(b)Study(c)Series(d)Image每⼀个DICOM Tag都是由两个⼗六进制数的组合来确定的,分别为Group和Element。
如(0010,0010)这个Tag表⽰的是Patient’s Name,它存储着这张DICOM图像的患者姓名。
2.DICOM存储格式DICOM⽂件的整体结构如下表所⽰,先是128字节的导⾔部分(没有实际信息),接着是四个字节组成的"DICM"字符串,然后是若⼲DataElement元素依次排列直⾄⽂件结束。
导⾔"DICM"DataElement DataElement...DataElement128 Byte 4 Byte n Byte n Byte n Byte2.1 DataElement的三种结构DataElement是存储⽂件信息的主体,DataElement的总体结构如下表所⽰:Tag VR(值表⽰法)Len(数据长度)数据值(内容)4 Byte 2 Byte 2 Byte Len ByteTag由2 Byte的组号(group)和2 Byte的元素号(element)组成,VR是DICOM特有的值表⽰法,关于值表⽰法的解释见下⽂按照VR的类型以及是否显⽰VR,DataElement⼜分为三种具体的结构。
DICOM简要说明一、概述 (2)二、DICOM基本介绍 (3)DICOM解释 (3)DICOM资料的结构 (3)DICOM的服务功能对(SOP) (4)SCU/SCP(ServiceClass User/Provider) (5)DICOM的工作过程 (5)三、常用测试工具介绍 (6)四、实际DVT测试 (7)模拟器配置介绍 (7)Print SCP模拟器 (11)Storage SCU模拟器 (17)Worklist SCP模拟器 (18)DICOM Network Analyzer (19)五、EFILM功能介绍 (24)Storage SCP测试 (26)Storage SCU测试 (27)Query/Retrieve测试 (29)一、概述文档编写目的是为了大家对DICOM有一些基本的了解与一些DICOM测试工具的简单使用方法。
二、DICOM基本介绍引用:DICOM解释DICOM(digital imaging communications in medicine)。
从字面上解释,第一,应用对象是数字化的图像;第二,DICOM规范的核心是“通信”。
综上所述,DICOM可以解释为“医学数字化图像通信/交流的共同规格”,既“医学数字成像和通信”。
DICOM资料的结构一个患者到医院就诊,为了判断他的病灶,医生需要指定不同的检查(例如: CT,MR,超声),每一项检查都需要由相对应的仪器完成,但仪器产生的是一系列的影像(例如CT产生一组10张,MR产生10张和20张各一组影像),这些影像和病人如何产生关联呢?在DICOM规格中,使用了相对应的资料结构来描述: 定义出Patient,Study,Series,Image四个层次来存储上述例子。
Patient中包含了该病人的所有基本资料(姓名,性别,年龄等)和医生指定的检查Study;Study中包含了检查种类(CT,MR,B超)和指定检查的Series;Series中包含检查的技术条件(毫安,FOV,层厚等)和图像Image。
DICOM文件可以大致分为两部分:一部分:与图像相关的元信息,包括患者信息,检查信息,序列信息,图像信息等等。
另一部分:图像的像素数据。
在解析DICOM文件中的像素数据的时候,我们先需要读取以下图像相关信息:以下是某个CT影像中的图像信息示例:(0028,0002) Samples per Pixel VR: US Length:2 Value: 1(0028,0004) Photometric Interpretation VR: CS Length:12 Value: MONOCHROME2(0028,0010) Rows VR: US Length:2 Value: 512(0028,0011) Columns VR: US Length:2 Value: 512(0028,0030) Pixel Spacing VR: DS Length:22 Value: 0.48828125\0.48828125(0028,0100) Bits Allocated VR: US Length:2 Value: 16(0028,0101) Bits Stored VR: US Length:2 Value: 12(0028,0102) High Bit VR: US Length:2 Value: 11(0028,0103) Pixel Representation VR: US Length:2 Value: 0(0028,1050) Window Center VR: DS Length:12 Value: 00100\00100(0028,1051) Window Width VR: DS Length:12 Value: 00500\00500(0028,1052) Rescale Intercept VR: DS Length:6 Value: -1000(0028,1053) Rescale Slope VR: DS Length:2 Value: 1(0028,2110) Lossy Image Compression VR: CS Length:2 Value: 01(0028,2112) Lossy Image Compression Ratio VR: DS Length: 8 Value: 6.2289181.(0028,0002) Samples per Pixel每一个像素的取样数,一般来说,CT,MR,DR等灰度图像都是1,而彩超等彩**图像都是3,分别表示R, G, B三个颜色通道。
DICOM医学图像文件格式解析与应用研究综述摘要:由于生产医学影像设备的国内外厂商众多,其产品遵守DICOM3.0标准的程度也各不相同,而DICOM3.0是一个不断扩充和扩展的标准,因此,在进行医学影像处理应一用开发时,一般只能针对特定厂商的设备进行数据采集和处理,不大可能开发出一个能读取和显示所有医学影像设备中的DICOM格式图像的工具软件,除非国内外所有生产医学影像设备的制造商都严格遵守DICOM3.0标准的规定。
论文主要探讨了DICOM3.0标准的产生经过及DICOM医学图像文件格式的大致组成。
通过对DICOM图像文件的剖析,基本解决了医学影像应用开发的数据接31问题,为进一步针对医学影像处理应用的研究和开发提供了数据准备。
关键词:DICOM3.0标准PACS系统医学图像文件格式The Overview of research on the File format Analysis and Application of DICOMDanni Huang (school of Tianjin Medical University,07class 2,NO.2007093107)Abstract:Becouse threre are many the production of domestic and foreign manufacturers of medical imaging equipment companies,their products for adherence to standards of the degree DICOM3.0 are different. but DICOM3.0 is expanding and the expansion of a standard. the article is mainly to discusses the generation after DICOM3.0 standard DICOM medical image file format and the general composition. Through analysis of DICOM image files, basically solved the medical imaging application development, data access 31 problem, for further processing applications for medical imaging research and development provides the data preparation.Keywords: DICOM3.0 standardization;PACS system;format of Medical image file一.引言从20世纪90年代初开始,随着计算机技术、通信技术以及网络技术的发展,图像分析和处理以及PACS(PictureArchivingandCommunicationSystem)在临床诊断、远程医疗以及医学教学中发挥着越来越重要的作用。
接着昨天,对文件格式的分析:0100h-0119h:这里的02001000将其进行字节转换后为00020010,这里标签的含义是UID,5549即为UI,值域长度为1200,将其字节转换后为0012即为18,表示后面18个字节都是值的内容即1.2.840.10008.1.2。
011ah-0135h:这里的02001200将其进行字节转换后为00020012,值描述还是UI,值域长度为14 00即为20个字节,值的内容为1.2.40.0.12.0.9812.0。
0136h-0147h:这里的02001300将其进行字节转换后为00020013,其值描述为5348即为SH(可见标准第五部分short string),0A00即值域长度为10,其值的内容为0.1B/WIN32。
0148h-015fh:这里的02001600将其进行字节转换后为00020016,其值描述为4145即为AE,值域长度为1000字节顺序转换为0010即为16个字节长度,其值的内容为IRIS后跟12个字节的空格(20)。
0160h-0171h:这里的08000500将其进行字节转换后为00080005,查找标准第六部分得知其为特定字符集(Specific Character Set),0A00字节转换后000A知字节长度为10,后跟两个字节的保留字,从0168h开始为ISO_IR100,表示ISO组织的一个记录号。
0172h-018fh:这里的08000800将其进行字节转换后为00080008,查找标准第六部分得知其为图像类型(Image Type),同上一个数据元一样这个地方也没有表示值,1600字节转换后0016得知字节长度为22,后跟两个字节的保留字,从017ah开始为ORIGINAL\PRIMARY\AXIAL,表示该图像的类型。
0190h-01b1h:这里的08001600将其进行字节转换后为00080016,查找标准第六部分得知其为SOP服务类的UID(SOP Class UID),为什么这里就不需要判断VR而有标签直接得出是属于UI呢?是隐形显示吗隐形显示与显性显示的区别如何从图像中看出来!1A00转换字节为001A即长度为26,后跟两个字节的保留字,从0198h开始为1.2.840.10008.5.1.4.1.1.2,与下面的00080018一起指得是与DICOM文件的传输识别有关的识别码。
01b2h-01f1h:这里的08001800将其进行字节转换后为00080018,查找标准第六部分得知其为SOP实例的UID(SOP Instance UID),3800进行字节转换为0038则为56个字节,后跟两个保留字,从01bah开始为1.2.840.1136.19.2.81.290.23014.32126.1.2.20081217.250500。
01f2h-0201h:这里的08002000将其进行字节转换后为00080020,查找标准第六部分得知其为研究日期(Study Date),0800转换后为0008即八个字节的长度,后跟两个字节的保留字,从01fah开始其值内容为20081217。
0202h-0211h:这里的08002100将其进行字节的转换后为00080021,查找标准第六部分得知其为系列日期(Series Date),0800即八个字节,后跟两个字节的保留字,从020ah开始其内容20081217。
0212h-0221h:这里的08002200将其进行字节的转换后为00080022,查找标准第六部分得知其为Acquisition Date,同上一样在021ah开始其值内容为20081217。
0222h-0231h:这里的08002300将其进行字节的转换后为00080023为图像日期(Image Date),同上一样在022ah开始其值内容为20081217。
0232h-023fh:这里的08003000将其进行字节的转换后为00080030为研究时间(Study Time),这里的值域长度为六个字节,后跟两个保留字,在023ah开始150437。
0240h-024dh:这里的08003100将其进行字节转换后为00080031为Series Time,同上一样在0248h开始为150437。
024eh-0263h:这里的08003200将其进行字节转换后为00080032为Acquisition Time,0E00得知其值域长度为14个字节,后面有两个保留字,从0256h开始值域内容为150453.564159。
0264h-0271h:这里的08003300将其进行字节转换后为00080033为Image Time,0600得知其值域长度为6个字节,后跟两个保留字,从026ch开始值域内容为150500。
0272h-0279h:这里的08005000将其进行字节转换后为00080050为Accession Number,后跟四个保留字。
027ah-0283h:这里的08006000将其进行转换为00080060为Modality,0200其字节长度为两个字节,后跟两个字节的保留字,4354即为CT在其中的P是如何得来的吗?0284h-029dh:这里的08007000将其进行转换为00080070为制造商(Manufacturer),1200其字节长度为18个字节,后跟两个保留字,从028ch开始为值的内容即GE MEDICAL SYSTEMS。
029eh-02c1h:这里的08008000将其进行转换后为00080080为机构名称(Institution Name),1C00其字节长度为28个字节,后跟两个保留字,从02a6h开始为值的内容即People HSP of Dangshan Anhui。
02c2h-02c8h:这里的08009000将其进行转换后为00080090为Referring Physician’Name,(相关医师的名字)后面为四个字节的保留字。
02c9h-02d3h:这里的08001010将其进行转换后为00081010为Station Name,0200的长度为二个字节,后面为两个字节,其值域的内容为4354即CT。
02d4h-02ddh:这里的08003010将其进行转换后为00081030为研究描述(Study Description),其值域长度为0200即两个字节,后面跟两个保留字,值域为H(还有一个空格)。
02deh-02f1h:这里的08009010将其进行转换后为00081090为厂商的模块名称(Manufacturer’Model Name),其值域长度为0C00即12个字节,后面跟两个保留字,其值的内容为ProSpeed FII。
02f2h-02fdh:这里的10000000将其进行转换后为00100000为组长(Group Length),0400表示值域长度为四个字节,后面跟两个字节的保留字,值域为>。
02feh-030fh:这里的10001000将其进行转换后为00100010为病人的姓名(Patient’Name),0A00表示值域长度为10,后跟两个字节的保留字,值的内容为HENG NAO。
0310h-031dh:这里的10002000将其进行转换后为00100020为病人的ID号(Patient ID),0600表示值域的长度为6个字节,后跟两个字节的保留字,值的内容为98392,这是医生给病人的一个编号。
031eh-0325h:这里的10003000将其进行转换后为00100030为病人的出生日期(Patient's Birth Date),后面为四个字节的保留字。
0326h-032fh:这里的10004000将其进行转换后为00100040为病人的性别(Patient's Sex),值域长度为0200即两个字节,后面跟两个字节的保留字,值的内容为4D即M。
0330h-033bh:这里的10001010将其进行转换后为00101010为病人的年纪(Patient's Age),0400表示值域长度为4个字节,后跟两个字节的保留字,值的内容为019Y。
033ch-0347h:这里的18000000将其进行转换后为00180000为组长(Group Length),0400表示值域长度为4个字节,后跟两个字节的保留字,值域为0。
0348h-0353h:这里的18001500将其转换后为00180015为自身检查(Body Part Examined),0400表示值域为4个字节,后跟两个字节的保留字,值的内容为HEAD。
0354h-035fh:这里的18005000将其转换为00180050为Slice Thickness,0400表示值域为4个字节,后跟两个字节的保留字,值的内容为10.0。
0360h-036bh:这里的18006000将其转换为00180060为KVP,0400表示值域为4个字节,后跟两个字节的保留字,值的内容为120。
036ch-0379h:这里的18009000将其转换为00180090为Data Collection Diameter,0600表示值域为6个字节,后跟两个字节的保留字,值的内容为250.0。
037ah-0391h:这里的18000010将其转换为00181000为Device Serial Number,1000表示值域为16个字节,后跟两个字节的保留字,值的内容为0000290.0023014。
0392h-039fh:这里的18002010将其转换为00181020为软件版本(Software Version(s))06 00表示值域为6个字节,后跟两个字节的保留字,值的内容为2.04C。
03a0h-03bbh:这里的18003010将其进行转换后为00181030为协议名称(Protocol Name),1400表示值域为20个字节,后跟两个字节的保留字,值的内容为1.10Head5/2i+10/2i。
03bch-03cdh:这里的18005010将其转换为00181050为Spatial Resolution,0A00表示值域为10个字节,后跟两个字节的保留字,值的内容为0.4200000。
03ceh-03e1h:这里的18000011将其转换为00181100为Reconstruction Diameter,0C00表示值域为12个字节,后跟两个字节的保留字,值的内容为250.0000000。
03e2h-03f5h:这里的18001011将其转换为00181110为Distance Source to Detector,0C00表示值域为12个字节,后跟两个字节的保留字,值的内容为949.0750000。