一种基于浏览器的医学影像同步显示和诊断操作的方法与流程

文档序号:14216630阅读:270来源:国知局

本发明涉及一种医学影像的传输,同步显示及处理技术,特别是一种基于浏览器的医学影像同步显示和诊断操作的方法。



背景技术:

随着信息技术的发展,医疗技术和互联网技术的不断进步。医务人员通过浏览器即可实现远程办公。但在进行医学影像的远程会诊,病例讨论时,不同地域的参与者需要对病例影像的进行各种操作来阐述自己的发现。目前的解决方案是通过视频会议系统的屏幕共享功能来实现,主持者在获得控制权后,对影像进行各种操作,均以视频流的方式来传输到各与会方。这种方式存在诸多缺陷:首先各参与者使用的终端显示器分辨率不同,为保证显示效果,只能统一到同一种分辨率,从而避免因为图像拉伸导致的质量损失;其次目前视频流传输的大多采用720p的分辨率,很少用1080p。即便是1080p的分辨率也无法满足医学影像的分辨率要求,更无法使用专业的灰阶显示器;再次,视频流在互联网上的传输数据量大,延迟较多,导致操作不流畅,很难让参与者酣畅愉快的表达和演示。



技术实现要素:

本发明的目的是为了解决上述现有技术的不足而提供一种基于浏览器的医学影像同步显示和诊断操作的方法,其能够实现医学影像的显示、处理操作的跨浏览器同步。

为了实现上述目的,本发明所设计的一种基于浏览器的医学影像同步显示和诊断操作的方法,所述浏览器为web移动影像浏览器,同时该浏览器包括主持者和参与者两个入口;所述方法基于html5的websocket协议,通过node.js事件机制将所有对于影像的诊断操作获取,再以消息队列的形式通过websocket协议发送,并由服务端接收和处理,最终实现影像诊断操作在不同浏览器上的同步,具体包括以下步骤:

s1.建立服务端的webapi接口,所述服务端为websocket服务端,所述webapi接口可实现包括创建会议房间、进入会议房间、获取房间列表、获取房间用户列表、演示权利交换以及新消息接收;

s2.主持者使用浏览器创建用户id,通过该用户id创建会议房间,然后由服务端分配房间id,默认通知该用户id的浏览器拥有主持者权限;

s3.参与者使用浏览器创建用户id,通过该用户id进入选中的房间,然后由服务端通知该用户id的浏览器拥有参与者权限;

s4.主持者通过node.js事件机制将自己的浏览器上所有影像的操作动作收集、处理、整合成消息队列并实时发送给服务端;

s5.服务端验证、接收、处理消息队列后再次发送给参与者的浏览器;

s6.参与者负责接收、处理服务端发送的消息队列,并通过node.js事件机制将所有操作消息推送到自己的浏览器,保证浏览器能够以正确的顺序还原操作;

s7.当参与者需要演示时,则向服务端发送成为主持者的申请,服务端会将此申请发送给当前主持者的浏览器;

s8.主持者若不接受上述参与者的申请则演示权利交换失败,若接受则服务端会通知上述参与者的浏览器拥有主持者权限,同时相应原来的主持者转换为参与者,演示权利交换后,新的主持者在原有的影像操作的基础上继续进行演示操作;

s9.当演示结束,主持者发送关闭房间请求,服务端会将房间id和用户id资源进行收回,会议房间被关闭。

针对部分影像操作的消息处理过程中影像的窗宽窗位调整:主持者将房间id、用户id、事先定义好的操作类型及所操作影像当前的窗宽窗位数据存入消息中,消息进入消息队列发送给服务端,服务端处理后发送给参与者,参与者根据事先定义好的操作类型执行相应操作方法并向影像浏览器传入窗宽窗位数据。

针对部分影像操作的消息处理过程中对dom节点的操作:浏览器事先获取存在事件的dom节点并分类存储,当dom事件产生时主持者将房间id、用户id、事先定义好的操作类型、dom事件类型及需要发送的dom事件数据存入消息中,消息进入消息队列发送给服务端,服务端处理后发送给参与者,参与者根据事先定义好的操作类型和事件类型执行相应dom节点的事件并传入dom事件数据。在htmldom中,所有事物都是节点。dom是被视为节点树的html。

其中所述浏览器是web移动影像浏览器,其是一个基于浏览器的dicom医学影像显示程序,利用html5技术,将医学影像绘制在浏览器中,并提供一系列如:调窗、缩放、移动等辅助诊断操作。该浏览器程序会将这些诊断操作进行详细的定义,定义成一个操作对象,一系列连续的操作构成了操作队列,而本专利所描述的正是多个浏览器之间该操作队列的同步。

websocket协议是基于tcp的一种新的网络协议。它实现了浏览器与服务端全双工(full-duplex)通信—-允许服务端主动发送信息给浏览器。

node.js是一个基于chromejavascript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。node.js使用事件驱动,非阻塞i/o模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。node.js的事件机制是基于v8引擎实现的事件驱动io,它是把工作添加到事件队列中,然后有一个单独的线程运行一个事件循环把这个工作提取出来。事件循环抓取事件队列中最上面的条目,执行它,然后抓取下一个条目,直到事件循环结束。

本发明得到的一种基于浏览器的医学影像同步显示和诊断操作的方法,基于websocket协议,通过node.js事件机制将所有对于影像的诊断操作获取,再以消息队列的形式发送和接收来实现影像诊断操作在不同浏览器上同步,可以有效的解决以上存在的问题。整个过程都是浏览器的操作动作在进行同步,传输的数据量极少,显示操作流畅;参与者可以使用任意分辨率的专业和普通显示器,不会因此而导致影像失真;同时支持演示权交换并能够保留整个操作路径,参与者中途参与,也能快速获得与主持者一致的显示状态。

附图说明

图1是实施例1的基于浏览器的医学影像同步显示和诊断操作的方法操作示意图;

图2是实施例1的主持者创建用户流程图;

图3是实施例1的主持者创建房间流程图;

图4是实施例1的参与者加入房间流程图;

图5是实施例1的主持者发送消息流程图;

图6是实施例1的参与者接收消息流程图;

图7是实施例1的主持者与参与者的演示权利交换流程图。

具体实施方式

下面结合附图和实施例对本发明进一步说明。

实施例1:

如图1-图7所示,本实施例提供的一种基于浏览器的医学影像同步显示和诊断操作的方法,所述浏览器为web移动影像浏览器,同时该浏览器包括主持者和参与者两个入口;所述方法基于html5的websocket协议,通过node.js事件机制将所有对于影像的诊断操作获取,再以消息队列的形式通过websocket协议发送,并由服务端接收和处理,最终实现影像诊断操作在不同浏览器上的同步,具体包括以下步骤:

s1.建立服务端的webapi接口,所述服务端为websocket服务端,所述webapi接口可实现包括创建会议房间、进入会议房间、获取房间列表、获取房间用户列表、演示权利交换以及新消息接收;

s2.主持者使用浏览器创建用户id,通过该用户id创建会议房间,然后由服务端分配房间id,默认通知该用户id的浏览器拥有主持者权限;

s3.参与者使用浏览器创建用户id,通过该用户id进入选中的房间,然后由服务端通知该用户id的浏览器拥有参与者权限;

s4.主持者通过node.js事件机制将自己的浏览器上所有影像的操作动作收集、处理、整合成消息队列并实时发送给服务端;

s5.服务端验证、接收、处理消息队列后再次发送给参与者的浏览器;

s6.参与者负责接收、处理服务端发送的消息队列,并通过node.js事件机制将所有操作消息推送到自己的浏览器,保证浏览器能够以正确的顺序还原操作;

s7.当参与者需要演示时,则向服务端发送成为主持者的申请,服务端会将此申请发送给当前主持者的浏览器;

s8.主持者若不接受上述参与者的申请则演示权利交换失败,若接受则服务端会通知上述参与者的浏览器拥有主持者权限,同时相应原来的主持者转换为参与者,演示权利交换后,新的主持者在原有的影像操作的基础上继续进行演示操作;

s9.当演示结束,主持者发送关闭房间请求,服务端会将房间id和用户id资源进行收回,会议房间被关闭。

实施例2:

本实施例提供的一种基于浏览器的医学影像同步显示和诊断操作的方法,其具体步骤与实施例1相同,主要区别在于针对部分影像操作的消息处理过程中影像的窗宽窗位调整:主持者将房间id、用户id、事先定义好的操作类型及所操作影像当前的窗宽窗位数据存入消息中,消息进入消息队列发送给服务端,服务端处理后发送给参与者,参与者根据事先定义好的操作类型执行相应操作方法并向影像浏览器传入窗宽窗位数据。

实施例3:

本实施例提供的一种基于浏览器的医学影像同步显示和诊断操作的方法,其具体步骤与实施例1相同,主要区别在于针对部分影像操作的消息处理过程中对dom节点的操作:浏览器事先获取存在事件的dom节点并分类存储,当dom事件产生时主持者将房间id、用户id、事先定义好的操作类型、dom事件类型及需要发送的dom事件数据存入消息中,消息进入消息队列发送给服务端,服务端处理后发送给参与者,参与者根据事先定义好的操作类型和事件类型执行相应dom节点的事件并传入dom事件数据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1