单位文秘网 2021-10-06 08:13:14 点击: 次
摘要:DICOM 网关是医学图像存档与通信系统(PACS) 的关键部分,用于接收、存储、转发DICOM 医学图像。本文实践了DICOM 网关的详细设计过程以及在Windows2k/XP系统下利用DCMTK工具包实现DICOM 网关的具体方法,并进行了对比测试和结果分析。
关键词: PACS;DICOM;网关
1. DICOM 网关总体设计
1. 1 图像存储方案
PACS 图像有两个特点: ①数据量大;②访问频率高。由于关系数据库支持海量图像数据的高频率访问能力差, 直接在关系数据库中存储DICOM 图像,无法满足 以上两点要求。本文采用如下图像存储方案:将DICOM 图像相关信息存储在关系数据库,将图像主体数据以文件的形式存储在图像存档服务器( Picture Archiving Server ,简称PAS) 中,通过DICOM 图像所包含的病人、检查等信息为数据库和PAS 建立对应关系。
1. 2 图像传输流程
PACS 中DICOM 图像流程如下:
①在数据库中建立电子病历®②病人信息登记到医疗设备中并检查®③DICOM 网关从设备获取图像®④DICO网关将图像转发到PAS ®⑤DICOM 网关将图像在PAS 的存储目录写入电子病历® ⑥诊断工作站访问电子病历,获取DICOM 图像在PAS 中的存储位置® ⑦诊断工作站根据存储位置以FTP 方式获取PAS 上的图像。
1. 3 DICOM 网关工作流程
根据PACS 中图像传输流程,自行设计的DICOM网关用于实现图像采集和图像存储功能。DICOM 网关负责完成前述③④⑤步工作,需要实现的功能包括: ①与医疗设备实现DICOM 通讯并存储DICOM 图像; ②转发DICOM 图像到PAS ; ③访问数据库。
2 DICOM 网关详细设计
2. 1 图像采集机制设计
连接的双方通过应用实体(Application Entity ,简称AE) 进行通讯, AE必须拥有物理网络中唯一的网络地址,即表示层地址。由于DICOM 采用TCP/ IP 作为底层协议,AE映射到表示层地址就是IP 地址和TCP 端口号。在进行实际的DICOM 设备连接时,必须设置AETitle、IP 和端口号这三个参数,才能接收DICOM图像。
2. 2 图像存储机制设计
DICOM 网关按照分级目录进行图像存储。
各级目录的命名由对应的DICOM 图像中与病人、医疗设备相关的信息确定。这些信息包括检查号( ExamNo) 、设备类型(Modality) 、检查日期(StudyDate) 、病人ID ( Patient ID) 、病人姓名拼音(PatientName) 、检查序列号(Series Number) 、传输语法( Transfer Syntax UID) 等。
目录结构需要便于查找、备份、导出等日常文件操作。为了保证文件操作的效率,目录结构设计为四级: ①图像类型; ②采集时间; ③病人信息;④图像序列号。其中第一级目录命名为图像中Modality 的属性值; 第二级目录命名为图像中StudyDate 的属性值; 第三级目录命名为图像中Patient ID 属性值和PatientName 属性值的组合,从而保证病人信息的唯一性;第四级目录命名为图像中SeriesNumber 的属性值。
2. 3 图像转发机制设计
DICOM网关负责转发DICOM图像到PAS 上。首先网关将接收到的图像按照四级目录结构存储在本地,然后再转发到PAS ,并按照相同的四级目录结构存储。
另外,在三甲医院中,还需要在不同的科室建立多个科室PAS 作为中央PAS 在科室的备份。科室内部的诊断工作站可以直接访问科室PAS 中的图像而不必直接访问中央PAS ,从而减少主干网络访问量,提高检索速率。因此DICOM 网关还必须能够同时向多个PAS 发送图像,即实现“预分配”机制。
2. 4 数据库访问机制设计
首先DICOM 图像中含有的检查号信息访问数据库,然后把从DICOM 图像中获得的设备类型、检查日期、图像序列号三项信息填写到该检查号对应的数据库记录中。诊断工作站在访问数据库后,可以根据这些信息构成对应的图像在PAS上的存储目录。
3 DICOM 网关实现
网关由三个模块组成:接收模块;发送模块; 数据库模块。
接收模块实现图像采集和图像存储机制,采用DICOM 协议与医疗设备进行通讯,接收DICOM 图像,并在网关本地按照四级目录结构存储。发送模块实现图像转发机制并支持“预分配”机制,采用FTP协议转发DICOM 图像并存储在PAS。数据库模块实现数据库访问机制,把从DICOM 图像中获得的信息填入数据库记录中相应字段。
3. 1 接收模块实现
根据DICOM 标准和PACS 设计要求,医疗设备对应为C-STORE 存储服务类的服务类使用者(Service Class Provider ,简称SCU) ,DICOM 网关接收模块对应为C-STORE 存储服务类的服务类提供者(Service Class Provider ,简称SCP) 。医疗设备与网关接收模块之间的通讯过程如图3 所示:其中第①步到第④步是连接协商过程,其目的为了确定传输数据的数据类型和编码方式。第⑤步到第⑥步是数据传输过程,协商数据类型和编码方式成后,SCU 将DICOM 命令和DICOM数据封装成协议数据单元( Protocol Date Unit ,简称PDU) ,然后以协商好的连接方式发送给SCP。第⑦到第⑧步是释放连接过程,数据传输完毕或者传输出现错误都需要释放连接。
由于DCMTK是开放源代码工具包,不能够满足具体的应用需求, 因此对DCMTK进行了二次开发。
接收模块的具体实现函数流程如下:
①initializeNetwork:初始化网络连接;②setParameter:设置网络连接参数;
③acceptAssociation:接收连接;④selectSyntax :确定传输语法;
⑤acknowledgeAssociation :确认协商后连接成功;
⑥receiveCommand,用于接收传输命令;
⑦storeSCP,用于实现C-STORE SCP 服务,传输、存储数据;
⑧dropSCPAssociation :关闭SCP 连接;⑨dest royAssociation :释放连接;
⑩dropNetwork ,释放网络连接。
在DCMTK中C-STORE SCP 服务需要指定相应的传输语法才能工作。在selectSynatax 函数中修改了这一限制,从而能够支持8 种传输语法。
另外, DCMTK 中按照DICOM 图像中的StudyInstanceUID 信息和DateTime 信息构成存储目录,不能满足网关需要。接收模块按照存储机制设计要求修改了存储目录。网关获取图像之后,首先根据图像的格式,提取出文件中的检查号、设备类型、研究日期、病人ID、病人姓名拼音、检查序列号六项信息,并按照“Modality \ StudyDate \ Patient ID PatientName \ SeriesNumber”四级目录结构将图像存储在本地硬盘。
3. 2 发送模块实现
网关获取DICOM 图像后,按照设定IP 地址、端口号、用户名、密码、存储目录等,将DICOM 图像采用FTP 方式转发到PAS。采用FTP 方式传输文件效率高、便于管理,因此网关作为FTP 客户端,将采集到的DICOM 图像以FTP 方式上传到任意一个PAS。发送模块以动态链接库的形式供网关程序调用。
发送模块传输文件的步骤是: 创建并初始化一个网络会话;建立与服务器的连接;连接时查询或设置网络参数;对FTP 服务器进行操作,实现按照4级目录结构上传文件功能;关闭FTP 连接。另外,为了实现“预分配”机制,发送模块提供了INI 文件(配置文件) 接口,只要在INI 文件中设置目的PAS 的IP 地址、端口号、用户名、密码、目录等,就可以将DICOM 图像转发到指定的PAS并按照四级目录结构存储。
3. 3 数据库模块实现
数据库模块操作数据库的步骤是:注册和连接数据库;根据检查号打开数据库记录集;操作该检查号对应的数据记录集,在设备类型、研究日期、检查序列号这些字段中填入信息;关闭与数据库的连接。
4. 结论
DICOM网关是PACS 的重要组成部分,自行设计的DICOM网关经过实际测试,实现了:正确接收和存储PACS图像;正确地将PACS图像发送到指定的一个或多个服务器;正确修改数据库记录中的相应字段。目前,DICOM 网关已经用于PACS 测试版本中,正在进行进一步的测评。
参考文献:
【1】Gerritsen, M.G.J.M.; van der Putten, N.; Dijk, W.A.; et al. General DICOM PACS server for echocardiography images[J].
【2】贾克斌,沈波. 实现医学影像存档和传输系统中的若干关键技术[J].中国图像图形学报
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-132-94300-1.html
上一篇:大学校名,一字之差藏乾坤
下一篇:光纤通信发展动态概述
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用