零空间占用医学图像查看的系统和方法

文档序号:6520040阅读:233来源:国知局
零空间占用医学图像查看的系统和方法
【专利摘要】本发明提供用于零空间占用医学图像查看的系统和方法。所述系统包括包含显示管线的零空间占用查看器,显示管线用于渲染图像内容和向客户端设备提供图像内容而无客户端设备的特定配置以经由客户端浏览器显示图像内容和促进经由客户端浏览器操纵图像内容。所述系统还包括中间层服务器,以用于从存储装置检索图像内容并且将该图像内容从存储格式转换成浏览器方便格式。示例零空间占用查看器包括用于从中间层服务器收集图像内容的第一数据管理器,并且该中间层服务器包括用于检索图像内容并且从存储格式向浏览器方便格式将图像内容格式化的第二数据管理器,第二数据管理器与第一数据管理器通信以促进传送用于显示的图像内容。
【专利说明】零空间占用医学图像查看的系统和方法
【技术领域】
[0001]本发明涉及用于零空间占用(zero footprint)医学图像查看的系统和方法。
【背景技术】
[0002]在数字成像迅速开始之前,向胶片“打印”患者图像。胶片被“悬挂”并且由放射员查看,这些放射员然后将口授报告。报告由范围从管理员到医学转录员的个人进行转录并且经由邮件或者传真向主治医师发送。通过电话或者寻呼机递送关键结果,并且经由纸件报告和电子表格管理业务统计。
[0003]随着用于放射学的信息系统面市,最初商用解决方案解决放射员和放射科的需要。这些包括放射信息系统(RIS)和口授转录系统。RIS系统在放射源仍然在从胶片读取之时管理主治、调度、患者和管理报告过程。
[0004]随着医疗器械开始支持图像在连接到获取设备的工作站上的数字显示,图片存档和通信系统(PACS)面市。这些集中地存储图像并且向放射员提供用于在联网的计算机监视器上读取专题(study)的工具从而取代胶片和医疗器械工作站二者。
[0005]市场的要求随时间已经从支持专门化的放射员工作流程演变成支持企业和团体的开放和动态需要。销售商团体已经添加系统,这些系统用于管理对用于更佳诊断的高级技术的需要;在提供商与组织之间共享图像;支持在放射员、医师和为患者提供护理的团队之间的协作;闭合对报告关键结果的循环以及管理增长的存储要求。这些经常是可以进行或者不进行互操作的相异、有单项优势(best of breed)的系统从而增加成本并且减少生产率。

【发明内容】

[0006]某些示例提供用于医学图像数据的零空间占用查看的系统和方法。
[0007]某些示例提供一种系统,该系统包括:零空间占用医学图像查看器,所述零空间占用医学图像查看器包括显示管线(pipeline),以用于渲染(render)和向客户端设备(其无客户端设备的特定配置)提供图像内容,以经由客户端浏览器显示图像内容和促进经由客户端浏览器操纵图像内容。示例系统也包括:中间层服务器,用于从存储装置检索图像内容并且将图像内容从存储格式转换成浏览器方便(browser-convenient)格式。示例零空间占用医学图像查看器包括用于从中间层服务器收集图像内容的第一数据管理器,并且示例中间层服务器包括用于检索图像内容并且从存储格式向浏览器方便格式将图像内容格式化的第二数据管理器,第二数据管理器用于与第一数据管理器通信以促进传送用于显示的图像内容。
[0008]进一步的,所述零空间占用医学图像查看器包括促进经由所述客户端浏览器进行图像查看的、基于HTML5的查看器。
[0009]进一步的,所述第一数据管理器和所述第二数据管理器利用WebSocket连接以在所述中间层服务器与所述零空间占用查看器之间传送数据,而如果所述WebSocket连接不可用则Web服务连接可用作传送的后退。
[0010]进一步的,所述第一数据管理器用于与所述第二数据管理器一起工作以确定客户端设备兼容性。
[0011]进一步的,所述的系统还包括用于从档案向所述中间层服务器提供所述图像内容的流发送图像递送系统。
[0012]进一步的,所述第一数据管理器和所述第二数据管理器用于促进基于在所述客户端设备的可用存储器而用所述中间层服务器将数据来回翻页。
[0013]进一步的,所述第一数据管理器和所述第二数据管理器还促进传输、格式化和在所述客户端浏览器显示除了 DICOM图像内容之外的、元信息和非图像对象中的至少一者。
[0014]某些示例提供一种包括计算机程序代码的有形计算机可读存储介质,计算机程序代码将由处理器执行,计算机程序代码在执行时用于实施零空间占用查看系统。零空间占用查看系统包括:包括显示管线的零空间占用医学图像查看器,显示管线用于渲染和向客户端设备(其无客户端设备的特定配置)提供图像内容,以经由客户端浏览器显示图像内容和促进经由客户端浏览器操纵图像内容。示例系统也包括:中间层服务器,用于从存储装置检索图像内容并且将图像内容从存储格式转换成浏览器方便格式。示例零空间占用医学图像查看器包括用于从中间层服务器收集图像内容的第一数据管理器,并且示例中间层服务器包括用于检索图像内容并且从存储格式向浏览器方便格式将图像内容格式化的第二数据管理器,第二数据管理器用于与第一数据管理器通信以促进传送用于显示的图像内容。
[0015]进一步的,所述零空间占用医学图像查看器包括促进经由所述客户端浏览器进行图像查看的、基于HTML5的查看器。
[0016]进一步的,所述第一数据管理器和所述第二数据管理器利用WebSocket连接以在所述中间层服务器与所述零空间占用查看器之间传送数据,而如果所述WebSocket连接不可用则Web服务连接可用作传送的后退。
[0017]进一步的,所述第一数据管理器用于与所述第二数据管理器一起工作以确定客户端设备兼容性。
[0018]进一步的,所述计算机可读存储介质还包括用于从档案向所述中间层服务器提供所述图像内容的流发送图像递送系统。
[0019]进一步的,所述第一数据管理器和所述第二数据管理器基于在所述客户端设备的可用存储器用所述中间层服务器促进将数据来回翻页。
[0020]进一步的,所述第一数据管理器和所述第二数据管理器还促进传输、格式化和在所述客户端浏览器显示除了 DICOM图像内容之外的、元信息和非图像对象中的至少一者。
[0021]某些示例提供一种方法,该方法包括:在零空间占用查看器接收对在客户端设备上的客户端浏览器起动图像专题的请求,零空间占用查看器包括显示管线,显示管线用于渲染和向客户端设备(其无客户端设备的特定配置)提供图像专题中的图像内容以经由客户端浏览器显示图像内容和促进经由客户端浏览器操纵图像内容。示例方法包括:经由中间层服务器从存储装置检索请求的图像内容。示例方法包括:经由中间层服务器将图像内容从存储格式转换成浏览器方便格式。示例方法包括:向零空间占用查看器提供转换的图像内容。示例方法包括:经由零空间占用查看器促进在客户端浏览器显示转换的图像内容。在示例中,零空间占用医学图像查看器包括用于从中间层服务器收集图像内容的第一数据管理器,并且中间层服务器包括用于检索图像内容并且从存储格式向浏览器方便格式将图像内容格式化的第二数据管理器,第二数据管理器用于与第一数据管理器通信以促进传送用于显示的图像内容。
[0022]进一步的,所述第一数据管理器和所述第二数据管理器利用WebSocket连接以在所述中间层服务器与所述零空间占用查看器之间传送数据,而如果所述WebSocket连接不可用则Web服务连接可用作传送的后退。
[0023]进一步的,所述的方法还包括经由所述第一数据管理器和所述第二数据管理器确定客户端设备兼容性。
[0024]进一步的,所述的方法还包括首先向所述客户端浏览器提供图像专题概况、继而提供所述图像专题的渲染图像的完整集合。
[0025]进一步的,所述第一数据管理器和所述第二数据管理器基于在所述客户端设备的可用存储器用所述中间层服务器促进将数据来回翻页。
[0026]进一步的,所述的方法,还包括经由所述第一数据管理器和所述第二数据管理器,促进传输、格式化和在所述客户端浏览器显示除了 DICOM图像内容之外的、元信息和非图像对象中的至少一者。
【专利附图】

【附图说明】
[0027]图1图/」、/」、例零空间占用查看器。
[0028]图2图示用于有助于基于网页(web)的内容浏览而未在客户端添加除了 web浏览器之外的部件的示例系统。
[0029]图3描绘数据流程图,该数据流程图图示在对于使用零空间占用查看器的图像显示的示例请求中包括的事件序列。
[0030]图4图示零空间占用图像回顾所实现的示例企业成像系统。
[0031]图5图示用于独立于客户端设备提供对存储器敏感的(memory-sensitive)图像浏览的示例方法的流程图。
[0032]图6图示用于向客户端设备用流发送(stream)无损图像数据的示例方法的流程图。
[0033]图7图示用于有助于在客户端设备上的远程功能执行的示例方法的流程图。
[0034]图8图示与零空间占用图像查看器使用的示例多级或者多层高速缓存。
[0035]图9图示用于有助于在多级高速缓存中存储和访问数据的示例方法的流程图。
[0036]图10图示用于有助于用于零空间占用查看器的兼容性检测的示例方法的流程图。
[0037]图11是可以用来实施本说明书描述的系统和方法的示例处理器系统的框图。
[0038]结合附图阅读时将更好地理解前文
【发明内容】
以及木发明的某些示例的以下具体描述。为了举例说明本发明,在附图中示出某些示例。然而应当理解,本发明不限于在附图中示出的布置和手段。
【具体实施方式】[0039]1.概况
[0040]在某些示例中,用于放射员和临床医生的统一查看器空间整合通过连接的智能工作流程驱动最优性能的创新微分器(differentiator)的能力。统一查看器工作空间实现放射员绩效和效率、在放射员与其它临床医生之间的改进的通信以及在组织之间和跨越组织的图像共享,从而减少成本并且改进护理。
[0041]统一成像查看器在公共工作空间中显示来自各种源的医学图像,这些医学图像包括乳房X线照片以及其它X线、计算机断层扫描(CT)、磁共振(MR)、超声和/或其它图像和非图像数据。此外,查看器还可以用来创建、更新注解、处理和创建成像模型、在系统内和/或跨越在分布式位置的计算机网络而通信。
[0042]在某些示例中,统一查看器实施智能挂起协议、从图片存档和通信系统(PACS)和/或其它销售商中性档案(VNA)内和以外智能取得患者数据。在某些实施例中,统一查看器支持图像交换功能并且实施高性能流(streaming)发送以及跨越相异PACS而未导入数据的读取能力。统一查看器例如用作“多学科(mult1-ology) ”查看器。
[0043]在某些示例中,经由统一查看器提供本机阅读工作列表。工作列表直观并且由用户定义而且可以例如包括多标识符、多文档和多指令。
[0044]某些示例经由统一查看器提供工作流集成。工作流集成包括与报告系统、工作列表、语音识别(VR)、电子医学记录(EMR, electronic medical record)集成;导出测量结果;导出检查笔记;瘦切片(thin slice)管理;等。
[0045]11.零空间占用医学图像杳看器
[0046]某些示例提供用于零空间占用(ZFP)查看器和/或ZFP查看的系统、方法和装置。ZFP查看器可以显示医学图像、如比如医学数字成像和通信(DICOM)图像。在某些示例中,可以使用超文本标记语言5 (HTML5)来实施ZFP查看器。
[0047]在某些示例中,可以定义具有零空间占用为无需管理员权限或者特殊配置改变以安装和使用应用(例如放射员查看器和/或临床医生查看器等)从而提供应用以在多个浏览器(例如 Internet Explorer?、Firefox?、Safari?、Chrome? 等)上和在多个操作系统(Microsoft?ffindows> Apple OS、iOS、Android?等)上运行、提供可移植性以在移动平台和多种大小的设备显示器上工作、在客户端需要最少或者减少的计算资源(例如处理器、存储器等)、在低带宽连接上具有可接受的性能等。
[0048]ZFP查看器可以有助于图像查看和交换。例如可以从临床数据贮存库、销售商中性档案等中的患者的纵向患者记录查看DICOM图像。可以跨越多个PACS数据库向DICOM查看器提供在相同框架中显示当前/先前、自动取得等。
[0049]在某些示例中,基于能够与多个后端架构工作的客户端框架实施ZFP查看器。例如可以提供公共接口、图标、注解、术语、工具、行为等。开放应用编程接口(API)可以有助于与外部系统(比如报告、EMR、VR、LDAP等)的多个双向集成。
[0050]服务器侧图像渲染可以有助于零空间占用以及零部署或静部署(silentdeployment)。例如高级应用的图像处理可以在服务器而不是客户端上出现。
[0051]此外,事件还可以跨越嵌入式应用而同步。可以生成日志以用于学习、编索引、审核用户活动等。
[0052]图1图示示例ZFP查看器100。示例ZFP查看器100是DICOM医学图像查看器,该DICOM医学图像查看器无需任何部件的任何客户端安装或者下载并且可以在能够支持HTML5浏览器的任何硬件(例如所有现代硬件和操作系统)上虚拟运行。通过在查看器100中提供若干部件来实现ZFP查看器100,提供的灵活性和无客户端覆盖区。图1的示例ZFP查看器100包括查看器部件110和中间层服务器120。
[0053]查看器部件110是ZFP查看器100的渲染/操纵部件(例如用于ZFM HTML5浏览器的渲染和操纵引擎)。在某些示例中,查看器部件Iio使用HTML5画布(Canvas)元素以有助于形状、图像和/或其它图元(graphical element)的动态、可脚本渲染。在某些示例中,查看器部件110也能够使用Web图形库(WebGL)来渲染。因此,查看器引擎110可以提供多种动态二维(2D)和/或三维(3D)渲染,以用于经由ZFP查看器100由用户查看(和交互)。
[0054]中间层服务器120驱动将图像数据转换成用于查看的格式(例如浏览器友好或者浏览器方便格式)。中间层服务器120支持代码转换(transcode)图像数据(比如DICOM数据),以用于经由查看器部件110显示。例如中间层服务器120有助于代码转换图像像素,比如图像像素在以DICOM为中心的压缩格式(例如联合图片专家组委员会2000 (JPEG2000)图像压缩和编码格式等)与更适合现代浏览器的格式(例如可移植网络图形(PNG)图像格式)之间代码转换。对于非图像对象和元信息(meta information),中间层服务器120将基于二进制的格式转换成浏览器方便格式,比如JavaScript对象符号表示(JSON)等。
[0055]在某些示例中,代码转换是一个编码向另一编码的、直接数字到数字的数据转换。通过在中间层服务器120有助于代码转换,使得查看器部件110和ZFP查看器100作为整体无需要求客户端设备(例如电话、平板计算机、膝上型计算机、桌面型计算机等)来支持特定文件格式。通过代码转换,中间层服务器120有助于在具有有限存储容量的客户端设备上的操作和/或通过占用有限空间用于在客户端设备上查看而无论多少空间在客户端上实际地可用。中间层服务器120的代码转换可以有助于将旧的、不兼容和/或过时数据格式转换成适合经由查看器部件110查看的格式。可以例如在搜索和/或呈现图像和/或非图像文件期间执行代码转换。代码转换可以例如是有损或者无损过程。例如如果无损地压缩输入并且无损地压缩或者解压输出,则代码转换可以无损。有损到有损代码转换过程引入可变程度的生成损失。
[0056]在某些示例中,中间层服务器120执行两阶段代码转换。首先将数据文件解码成中间的、未压缩的格式。其次将中间的、未压缩的格式编码成目标格式。
[0057]在某些示例中,可以在用于编辑、更低比特率、图像缩放等的相同格式中对数据重新编码。例如对于JPEG图像的图像编辑,经由查看部件110和中间层服务器120对图像文件进行解码、编辑和重新编码。
[0058]在某些示例中,可以将文件码率转换(transrate)成更低比特率。码率转换是与代码转换相似的过程,在该过程中,将文件编码成更低比特率而未改变格式。码率转换可以例如包括采样率转换、但是可以使用相同采样率与更高压缩。通过码率转换,媒体可以在更小存储空间中、在更低带宽通道之上等相配。
[0059]中间层服务器120也可以有助于用于查看部件110的图像缩放。改变图像大小称为大小转换,并且例如如果输出分辨率不同于媒体的分辨率,则可以使用改变图像大小。中间层服务器120可以在回放时、经由重新编码、作为码率转换等的部分而有助于图像缩放。[0060]因此,中间层服务器120可以运用代码转换以帮助保证在相异多种设备上恰当显示内容。中间层服务器120提供内容适配的中间状态以帮助保证可以在目标设备上显示源内容。在某些示例中,中间层服务器120在多对多格式(例如“任何”输入格式对“任何”输出格式)中提供实时(或者接近实时)代码转换以提供经由ZFP查看器100在多种设备搜索、显示图像和/或其它内容以及与图像和/或其它内容交互。
[0061]在某些示例中,ZFP查看器有助于基于WebSocket的DICOM图像流发送。例如可以通过经由ZFP查看器的检索和显示来维持图像的原有格式。某些示例使用WebSocket传送层来提供可编程工作站功能。某些示例提供通过Web Socket的JavaScript远程功能转译(translation)。
[0062]某些示例经由ZFP查看器提供对存储器敏感的图像浏览。例如可以跟踪使用的资源量并且可以从服务器将数据跨页(page off)。
[0063]某些示例经由ZFP查看器提供基于外形因子(factor-based)的流发送技术。例如基于客户端设备的可用大小,在后台中下载完全无损图像之时向客户端查看器发送分辨率压缩的图像以用于第一次显示。
[0064]某些示例提供经由ZFP查看器为Web提供基于可缩放矢量图形(SVG)的DICOM灰度软复制呈现状态(GSPS)。
[0065]某些示例提供多级图像高速缓存中间层。例如可以提供中间层用于数据存储,以便避免在客户端侧上存储大量信息。
[0066]某些示例提供“智能”Web浏览器客户端能力工作流。
[0067]图2图示用于有助于基于web的内容(例如DICOM图像专题等)浏览而未在客户端添加除了 web浏览器(该web浏览器在客户端设备上可能已经安装)之外的部件的示例系统200。
[0068]不例系统200包括如端子系统201、中间层子系统202和后端子系统203。后端子系统203包括从数据源295 (比如成像医疗器械等)接收数据(例如DICOM数据)的数据存储库290 (比如企业档案(EA)、VNA等)。
[0069]中间层子系统202包括ZFP中间层250。ZFP中间层250包括WebSocket连接管理器251、Web服务252、XJT引擎253、兼容性渲染器254、记录器/审核器(auditor) 255、语言资源管理器256和认证器257。此外,ZFP中间层250包括委托器(delegator) 258和数据管理器260。委托器与数据管理器260工作以经由WebSocket连接管理器251、Web服务252和XJT引擎253中的一项或者多项与ZFP查看器210对接并且向数据管理器260委托任务以向ZFP查看器210提供内容。XJT文件是压缩的GMP (GNU图像操纵程序)图像文件,可以渲染该GMP图像文件用于由XJT引擎253 (例如用于为执行Java代码而提供环境的Java虚拟机(JVM)、Tomcat等)显示。
[0070]在图2的示例中的数据管理器260包括压缩和代码转换引擎261、非图像对象转换器262、DICOM工具包263、图像数据递送客户端264、企业档案连接器265和多层服务器高速缓存266。EA连接器265与EA290通信以检索和/或存储也从档案290提供的用于一个或者多个图像的、用于显示的元数据。多层高速缓存266辅助ZFP中间层250结合盘存储装置280暂时地存储或者高速缓存数据。图像数据递送客户端264从图像数据递送系统270接收图像数据。[0071]前端子系统201包括ZFP查看器210。ZFP查看器210包括事件管理器211、图像操纵工具212、兼容性检测器213、委托器214、WebSOCket 215、数据管理器220和显示管线230。web客户端240 (比如患者信息查看器或者电子医学记录客户端)向ZFP查看器210发送请求(比如打开专题的请求)以例如与查看器210交互以显示图像数据和/或其它内容。
[0072]显示管线230包括用于HTML5 Canvas、WebGL等的显示驱动器231。显示管线230也包括图像渲染器232、视图端口管理器233和XJT渲染器234以处理和有助于图像和其它数据显示。
[0073]数据显示管理器220包括像素数据高速缓存221和/或阵列缓冲器、元数据存储装置222、非图像存储装置223、优先级引擎224和解压引擎225。例如,经由WebSocket215,251和/或经由Web服务252向数据管理器提供图像和/或其它数据(例如元数据),并且委托器214确定数据管理器220的哪些部件将接收和作用于数据。
[0074]在操作中,web客户端240向ZFP查看器210发送对打开和显示一个或者多个图像(例如专题)的请求。WebSocket 215和/或其它传送机制用未经由ZFP中间层250从存储装置290、295检索图像和元信息。例如,可以通过WebSocket 251、215提供图像数据作为二进制数据,并且通过WebSocket 251、215提供元数据作为JSON数据。如果WebSocket不适用,则Web服务252提供后退传送机制(fallback transport mechanism)。可以在基于浏览器的ZFP查看器210中(例如经由解压引擎225)解压检索的数据。数据由优先级引擎224设置优先级并且存储于元数据存储装置222、非图像存储装置223和像素数据高速缓存221中的一项或者多项中以用于显示。
[0075]从像素数据高速缓存221、元数据存储装置222和非图像存储装置223中的一项或者多项向显示管线230提供数据,其中图像数据由图像渲染器232和/或XJT渲染器234渲染(例如基于图像文件类型),并且视图端口或者显示视窗由视图端口管理器233调整和/或另外配置。显示器驱动器231有助于图像渲染(例如用于基于阴影器(shader)的高性能图像渲染的WebGL和用于基本HTML5渲染的作为后退的Canvas等)。显示驱动器231可以例如提供用于图像呈现的SVG封装(例如GSPS)。
[0076]ZFP查看器210还提供事件管理器211和图像操纵工具212以有助于用户经由客户端240与显示的内容交互。兼容性检测器213与兼容性渲染器254工作以确定用于显示的兼容性并且解决和/或标记问题。例如,兼容性和/或其它问题可以由记录器/审核器255记录和/或跟踪以用于审核目的。语言资源管理器256和认证器257例如帮助验证访问并且帮助保证兼容性。
[0077]在ZFP中间层250中,图像数据递送客户端264经由数据递送系统270从数据存储库290、295检索(例如流接收等)图像数据。经由数据管理器260存储数据、处理数据、压缩数据、代码转换数据等,并且委托器258向一个或者多个接口 251、252、253提供数据。例如,WebSocket连接管理器251与ZFP查看器210上的WebSocket 215工作以递送内容,而Web服务和/或视窗通信基础(WCF, windows communication foundation)作为后退传送机制。XJT引擎253与XJT渲染器225交互用于三维渲染。ZFP中间层250有助于网络端网络技术并且实施模型-视图-控制器(MVC)框架以生成内容用于在Web客户端240显示作为三个作用的合成:模型(例如跟踪应用状态)、控制器(例如处置交互和更新模型)和视图(例如基于用于控制器的信息而渲染用户界面)。除了从后端203检索图像和/或元数据之外,中间层202也可以例如提供专题信息和结果以保存于数据存储库290上。
[0078]因此,系统200例如提供单个统一查看器,该统一查看器与多个类型的现有后端系统集成并且提供对在多个类型的现有后端系统中的任何类型的现有后端系统上驻留的图像的直接在线访问。
[0079]在某些示例中,通过经由ZFP查看器的检索和显示来维持原有图像(原有DICOM图像)的格式。可以通过通信通道(比如传输控制协议(TCP)连接)来请求和使用一个或者多个图像分段(sub-section)。使用协议(比如WebSocket协议),可以实现直接二进制数据检索而无编码。WebSocket例如通过单个TCP连接来提供全双工通信。使用WebSocket,可以用开放连接在客户端浏览器(例如运行图1的示例的查看器部件110)与服务器(例如图1的中间层服务器120)之间来回传消息从而实现在服务器与浏览器之间传达信息的消息的、进行中双向对话或者交换。可以例如交换作为系列数据包的消息。
[0080]在某些示例中,为每个数据包创建摘要信头(header)(例如包信头)。信头描述和/或标识该包。结合数据块使用包信头,可以如客户端想要或者预计的那样发送数据。例如,可以用数据的本机形式(例如二进制)向浏览器直接地用流发送DICOM图像数据。
[0081]取代在服务器对数据进行编码和/或封装(例如以64为基(base 64)的编码)、向客户端发送编码的数据并且经由插件或者小程序在客户端对数据进行解码,在客户端浏览器的WebSocket功能可以用来在协议级标识接收的未编码的数据而无开销(overhead)的额外添加或者大量增加。取代使用胖客户端应用、封装作为Web服务的数据或者封装作为应用服务提供商(ASP)调用的数据,可以例如向瘦客户端浏览器直接地提供数据。
[0082]某些示例提供能够提供完全呈现状态(例如灰度软复制呈现状态)的ZFP医学成像查看器。呈现状态是包括关于将如何显示特定图像的信息的、独立DICOM服务-对象对(service-object pair, SOP)实例。例如,呈现状态可以包括标签信息(例如标签类型、位置等)、视窗化值、伸缩值、滚动(摇动)值、旋转和/或在DICOM标准内定义的其它可视显示元素。呈现状态可以应用于图像,从而用呈现状态定义的可视规范显示图像。使用呈现状态,可以用某种方式显示图像,但是该图像未被修改,由此允许程序或者其他用户如果希望则恢复成原有图像。可以向图片存档和通信系统(PACS)发送呈现状态,并且在请求时与图像分离地和/或结合地检索呈现状态。
[0083]例如灰度软复制呈现状态(GSPS)允许DICOM应用实体指定如何将复合图像对象中存储的像素数据值转译成独立于设备或者制造商的呈现值(P值)。显示设备例如将P值转换成用于软复制显示器的照度(luminance)。灰度标准显示器功能定义线性地感知的响应并且可以被用来校准显示器设备,从而图像在根据GSPS中指定的变换来显示时显得与灰度对比度相似。与其它呈现状态一样,GSPS允许图像显示特性以从存储的图像对象分离并且被独立地更新。在某些示例中,GSPS包括用于允许用矢量图形和纯文本旋转、伸缩、摇动、注解等的扩展。可以从GSPS将被应用于的一个或者多个专题而个别地和/或作为图像集的一部分选择图像。
[0084]使用完全呈现状态,DICOM图像可以完全在ZFP查看器上运行而未在客户端设备上运行插件或者特殊显示软件。为图像保留DICOM信息,从而可以在客户端上直接地操纵DICOM信息(例如视窗级、伸缩、摇动等)。[0085]某些示例提供在HTML5的web浏览器上运行并且独立于客户端设备的ZFP客户端查看器。ZFP查看器包括数据管理器,该数据管理器允许用户在经由数据管理器用服务器对数据来回翻页(page)之时在客户端上(例如在中间层图像高速缓存中)保持一定量的数据。这样的“智能”翻页帮助有助于在基于ZFP Web的浏览器上的对存储器敏感的图像浏览。例如用户可以在专题中的不同图像之间滚动并且不知道在基于图像在图像专题中定位于何处而用服务器对图像来回翻页。
[0086]在某些示例中,从患者信息查看器(PIV)、电子医学记录(EMR)web客户端等接收打开专题的请求。显示管线读遍用于专题中的图像的像素数据并且将DICOM属性应用于像素数据以用于显示。使用画布元素、像素阴影器等来布置修改的像素数据以用于显示。
[0087]经由“智能”、基于ZFP Web浏览器的查看器,可以确定兼容性。首先在客户端侧上检测兼容性(例如在客户端上快速和准确),然后向服务器发送兼容性检测结果。在服务器为客户端生成请求的图像和/或其它信息时,服务器可以生成请求的结果而无客户端将不使用的额外代码。除了兼容性渲染之外,还经由ZFP查看器提供记录、审核和资源管理。
[0088]在某些示例中,运行时间多级高速缓存(例如存储器、盘和源)为PACS和关联查看器提供支持。ZFP中间层例如用作在PACS和/或其它数据档案(例如企业档案等)上存储的代理。
[0089]WebSocket连接例如用作主要连接以提供快速数据传送而无编码。在某些示例中,Web服务可以有助于用于未支持WebSocket的客户端的数据传送。例如可以在服务器上完成渲染图像以向ZFP客户端提供。在某些示例中,基于WebSocket的DICOM图像流发送协议依次压缩图像,对到客户端上的瘦客户端浏览器和/或其它ZFP HMTL查看器的图像设置优先级,而不是胖客户端到胖客户端流发送。
[0090]在某些示例中,在服务器上提供数据管理器。服务器上的数据管理器执行将向客户端查看器发送的数据的数据压缩和代码转换。在某些示例中,数据管理器包括用于将非DICOM对象转换成可用格式的非图像对象转换器。
[0091]在某些示例中,通过跟踪使用的资源量并且从服务器翻页掉将向浏览器发送的请求的图像数据来有助于“对存储器敏感”的图像浏览。除了保持使用的存储器量的跟踪之夕卜,例如还分析接收客户端设备以确定客户端设备是否能够处理给定的图像类型。
[0092]此外,基于外形因子的流发送技术基于包括大小(外形因子)的可用客户端设备特性,而在后台中下载完全无损医学诊断质量图像时提供在第一分辨率压缩的初始图像以用于查看。在某些示例中,通过在用流发送图像数据时考虑客户端设备的外形因子,可以在服务器上渲染图像以用于向设备递送和在设备上显示,该设备有特定大小和/或设备的其它特性。
[0093]例如,如果客户端设备是手持或者移动设备(例如智能电话、平板计算机等)并且选择乳房X线照相图像(例如大小为8-10兆字节)用于显示,则用户通常将不能在设备上以及时的方式查看图像。然而,通过有助于在客户端设备与服务器之间的通信,客户端可以向服务器提供所需显示器端口大小,并且服务器可以创建渐进地压缩的分辨率图像。可以向客户端发送所得图像以在客户端上以用于视图端口大小的最低分辨率显示。可以在用户正在客户端设备上查看更低分辨率图像之时在后台中向客户端传输图像的数据中的其余数据。因此,用户对正在用来显示图像的客户端设备类型灵活地接收适当分辨率。[0094]在某些示例中,缩放的矢量图像(例如基于SVG的DICOM GSPS)允许使用可扩展标记语言(XML)来跟踪数据平面。可以使用XML来表示矢量图形坐标,并且可以对于一个或者多个图像显示GSPS。例如,PACS查看器创建DICOM GSPS对象。ZFP查看器实施SVG。通过在SVG对象中封装GSPS,GSPS可以在ZFP浏览器中以XML形式与图像直接工作。利用SVG,可以用ZFP查看器中可用的SVG解析器显示注解。注解可以叠加于图像上,并且浏览器知道如何显示关于图像的注解。
[0095]在某些示例中,WebSocket传送层可以用来有助于可编程工作站功能。尽管浏览器通常除了通过activeX部件和高级安全特权之外未能与客户端直接地交互,但是WebSocket例如允许应用在客户端上运行,浏览器可以使用TCP套接字来与该客户端直接地交互。例如可以经由浏览器有助于客户端上的多监视器支持,而未实例化activeX部件。使用WebSocket,浏览器可以检查客户端设备并且与客户端设备直接交互。WebSocket连接可以例如有助于与第三方应用更容易和更直接互操作。
[0096]在某些示例中,可以经由ZFP查看器提供远程能力。例如,通过WebSocket可以有助于JavaScript远程功能转译。例如可以在客户端上创建代理,并且代理调用服务器而无转译。
[0097]图3描绘数据流程图,该数据流程图图示在对于使用ZFP查看器200的图像显示的示例请求中所包括的事件序列300。出于示例的目的,结合示例系统200的web客户端240、ZFP查看器客户端210、ZFP中间层250、数据档案290和流发送引擎270,而描述事件序列300。
[0098]在305,经由web客户端240 (例如经由PIV、EMR等)起动(launch)对于图像显示的请求。请求消息305可以包括用于标识请求的专题的专题标识符、加入编号等。ZFP客户端210接收请求305并且发送用于起动专题的命令310。ZFP中间层250接收命令310并且生成对于档案290的元数据请求315。档案/数据存储库290基于请求315向中间层290发送回元数据响应320。ZFP中间层250基于来自档案290的信息以及用于流发送弓I擎270的请求令牌创建专题概况322。
[0099]在325,ZFP中间层250发送包括专题概况322的起动专题响应。ZFP查看器客户端210接收起动专题响应325并且使用专题概况322中的令牌以生成到ZFP中间层250的一个或者多个请求328。ZFP客户端210基于请求328中的令牌向ZFP中间层250发送对于图像和/或非图像对象的请求350。
[0100]在336,ZFP中间层250向流发送引擎270发送ZFP查看器210请求的图像和/或非图像对象的请求。流发送引擎270生成到数据档案290的、对于图像和/或非图像对象的请求340。档案290向流发送引擎270提供包括请求的图像和/或非图像数据的响应345。流发送引擎270向ZFP中间层250提供包括请求的图像和/或非图像数据的响应350。ZFP中间层250处理接收的图像和/或非图像数据并且向ZFP查看器210提供数据355用于显示。ZFP查看器客户端210可以基于接收的GSPS和像素数据渲染图像358。然后在web客户端240经由ZFP查看器210可访问渲染的图像和关联非图像数据。
[0101]图4图示零空间占用图像回顾所实现的示例企业成像系统400。示例系统400包括经由广域网420-422和服务层430与一个或者多个位置410-412通信的工作站405。每个位置410-412包括PACS 415-417。工作站405提供多机构、跨企业工作列表和嵌入式跨企业文档共享(XDS)。可以在两个和/或三个维度中提供本机最大强度投影/多平面重新格式化(MIP/MPR, maximum intensity projection/mult1-planar reformatting)。月艮务器侧渲染图像数据的ZFP查看器使通过工作站405提供的单个统一接口成为可能。可以跨越多个PACS 415-417为多个用户和多个应用提供单个查看器。
[0102]II1.图像流发送
[0103]某些示例实现向客户端设备上的web浏览器直接地用流发送医学图像(比如DICOM图像)而无需额外或者专门化的部件(例如ZFP浏览器或者查看器)。在浏览器中使用与HTML5关联的WebSocket提供完全双向和二进制通信而无Web或者其它内容服务器的轮询或者异步JavaScript (Ajax)调用。WebSocket (和/或基于TCP的套接字)允许建立通信通道,客户端和服务器通过该通信通道在任何给定的时间相互来回发送消息,只要通信通道保持活跃(例如浏览器页面未改变)。可以向用户浏览器发送DICOM医学图像而无需转译(例如无以64为基的编码或者解码等)。
[0104]在ZFP查看器内的基于WebSocket的DICOM图像流发送协议有助于基于DICOM服务-对象(SOP)对实例唯一标识符(WD)而从专题内选择图像。选择的图像可以是从多帧图像内选择的具体帧。如可以是原有图像的缩放因子那样,可以对于选择的图像提供具体压缩和/或代码转换因子。
[0105]使用ZFP查看器的图像流发送协议,可以请求原有DICOM图像的分段。例如,可以获得元信息(例如来自DICOM图像信头)。也可以获得和使用图像叠加信息、图像查找表(LUT)信息、图像调色板信息等,以经由ZFP查看器用流发送图像。
[0106]另外,经由ZFP查看器图像流发送协议,可以改变原有的请求的信息的顺序。另夕卜,可以请求非图像对象(NIO)(比如关键对象、结构化的报告、GSPS等)。
[0107]以上特征的组合创建用于使用HTML5 WebSocket向web浏览器直接地用流发送DICOM图像的ZFP解决方案。
[0108]示例图像流发送协议包括从web浏览器接收对于图像数据的请求(例如对打开专题的请求)。在某些示例中,图像流发送引擎允许在服务器上代码转换图像数据(例如JPEG2000到JPEG、JPEG到RAW、RAW到JPEG等)以及请求原有图像数据的重新缩放或者感兴趣的区域。这允许客户端请求具体地迎合情形(例如低带宽、高带宽、渐进显示等)的图像。在示例中,为客户端提供默认值以请求原有图像的60%质量有损压缩JPEG、然后在以后请求原始数据。这允许在检索管道中的无损(原始)数据用于跟进的诊断质量图像显示时向客户端很快地显示图像。
[0109]IV.对存储器敏感的图像浏览
[0110]在某些示例中,ZFP查看器有助于对存储器敏感的图像浏览。通过跟踪使用的资源量并且通过从服务器翻页掉图像数据,图像浏览器可以对客户端浏览器为零覆盖并且对存储器敏感。DICOM图像专题可以很大从而使DICOM图像专题的浏览经由Web有困难或者不实际。尽管标准web浏览器具有近似两吉比特存储器可支配,但是其中的一些由浏览器木身以及当前加载或者高速缓存的其它网页使用。然而,大型DICOM专题(比如10k CT图像专题)占用这一量的近似两倍以直接地存储于存储器中。
[0111]在某些示例中,ZFP查看器一直跟踪在web查看器中使用的资源。资源包括存储的元信息、原始像素信息、压缩的数据、非图像对象等。在跟踪这一信息之时,ZFP查看器可以加载提前查看(例如预取)的任何信息。
[0112]例如,如果用户想要查看来自大型CT专题的1000切片CT系列,则查看器假设用户必须在该系列中挑选起始点。例如,可以假设用户将在系列的开头开始并且朝着结束滚动。由于用户仅能以某个速率滚动并且由于跟踪Web客户端上的存储器中可用的空间量(例如用于ZFP网页的硬编码值),所以查看器近似地确定将在web查看器中预载多少图像,从而用户在经过图像滚动时具有流畅体验。在用户变得接近在查看器中预载的图像的结束点时,查看器“智能地”清除系列中的从显示的(并且在客户端高速缓存中的)图像更远的图像并且预先高速缓存更多数据用于显示。在某些示例中,这一过程在用户正在活跃地查看专题之时是连续的(或者是至少基本上连续的)。监视和预取过程很快,因为服务器在用户会话经由ZFP查看器活跃时使用于这一专题的所有图像信息被加载。通过用服务器翻页以在服务器处处理和组织数据并且向客户端显示它,ZFP查看器可以支持用户查看极大的DICOM图像集而无需在用户的web浏览器中的特殊能力。
[0113]图5图示用于提供独立于客户端设备的对存储器敏感的图像浏览的方法500的流程图。在块510接收图像或者图像序列的选择。例如,用户经由平板计算机选择用于检索和回顾的专题。在块520确定选择的图像的大小。
[0114]在块530确定客户端设备上的数据存储空间和/或其它资源可用性。例如确定用户的平板电脑上当前可用的高速缓存和/或其它存储器空间的量。在某些示例中,可以在客户端设备上标识影响可用存储器和/或浏览器性能的其它条件(例如在客户端设备上运行的其它程序、其它存储器约束、可用带宽、可用处理能力等)。
[0115]在块540确定选择的图像中的起始点。例如,用户可以已经选择经过图像序列的中途的(part-way)图像,或者用户可以已经选择图像专题而不指定起始点,从而系统可以假设用户始于系列中的第一图像等。在块550,基于起始点,在客户端设备上基于一个或者多个因子预加载一个或者多个图像。例如,把起始点、大小、可用空间、其它客户端设备和/或连接条件等作为因子以确定将在客户端设备上预加载哪些图像和/或预加载多少图像。过程500随着用户请求和/或查看附加图像而继续,从而在没有加重客户端设备的负担时改进用户在客户端设备上的查看体验。
[0116]V.基于外形因子的流发送
[0117]某些示例提供基于外形因子的流发送。例如,基于客户端设备的可用大小(例如在客户端设备(比如桌面型计算机、膝上型计算机、平板计算机、智能电话等)上的可用显示区域),在后台中下载完全无损诊断质量的图像时首先传输分辨率压缩的图像以用于显
/Jn ο
[0118]尽管图像浏览器可以从服务器上的存储装置检索图像。然后将该图像缩放成可用视图端口,但是某些示例具体为移动和/或其它更小平面的客户端设备查看高分辨率图像而提供更高效、更准确的传输和渲染。为了查看大分辨率DICOM图像,ZFP查看器基于外形因子或者客户端设备将显示图像的确切视图端口而为客户端设备请求图像。例如,如果被检索的、用于在移动或者手持设备上显示的图像是计算的放射(CR,computedradiagraphy)乳房X线照相图像,则这样的图像通常具有比手持设备的显示大小大得多的“正常”或者默认显示大小。例如,这样的图像可以是更大的数量级(例如I兆像素(Mpxl)相比于IOMpxl) ο[0119]在这一情形中,ZFP流发送部件接收来自客户端设备的请求,该请求包括将显示图像的视图端口的具体大小。在服务器上,在向客户端传输图像之前重设图像大小。然后向客户端设备发送恰当大小的像素用于显示而无需在客户端设备上缩放。通过在服务器处正确地设置大小,可以为客户端设备节省带宽和资源。
[0120]在某些示例中,可以在客户端设备处查看无损图像数据。为了查看无损图像,客户端设备将具有图像的原有像素数据。可以通过代码转换方法(比如压缩/解压)、通过原始数据传送等而提供原有图像像素数据。
[0121]图6图示用于向客户端设备用流发送无损图像数据的示例方法600的流程图。在块610在ZFP流发送部件从客户端设备(例如web客户端240)接收(例如向图像数据递送客户端264、然后向图像数据递送系统270传递)对于图像的请求。来自客户端的请求包括可用于图像的视图端口显示大小。在块620,ZFP流发送部件从请求标识视图端口显示大小。
[0122]在块630 (例如从企业档案等)检索请求的图像。在块640,ZFP流发送部件根据请求的视图端口大小/分辨率重设图像大小。在块650向客户端设备发送用于请求的视图端口大小/分辨率的具体大小的图像。在某些示例中,在具体分辨率和原有图像尺度具有可忽略差异时,向客户端发送原有图像。
[0123]在块660从服务器向客户端发送无损的、压缩的原有像素数据(例如可移植网络图形(PNG)数据、图形交换格式(GIF)数据等)。通过发送原有像素数据,在用户在客户端设备上伸缩图像时,原有像素数据用来维持准确性,以用于更高伸缩率以及用于测量等。
[0124]在块670,一旦客户端设备已经接收完全无损图像像素数据,可以将在块650发送的分辨率压缩的图像“升级”成(例如替换为)原有像素信息。使用示例方法600,小客户端设备可以用来浏览大图像。通过提供初始图像,用户可以开始回顾,并且在用户想要直接地操纵图像的像素信息时,无损的、原有像素信息应当在客户端设备上可用。
[0125]V1.用于图像显示器的某于SVG的DICOM GSPS
[0126]GSPS (灰度软复制呈现状态)是用于存储DICOM图像的修改的呈现的格式,该呈现包括用于灰度图像的视窗/级别调整、注解、伸缩调整、旋转等。这一呈现状态以纯二进制格式存储于DICOM中,因为DICOM本身主要为二进制。然而,这种二进制格式对于直接地在web浏览器中实施颇为不便。为了解决这一问题,在ZFP查看器中,将原来存储为DICOMGSPS的元素转换成更以web为中心的标准格式:SVG (可伸缩矢量图形)。SVG允许以易于读取/解析的XML格式存储包括矢量数据和定制的元信息的各种标量元素。SVG与GSPS并行使用,因为数据存储要求相似。在某些示例中,在web浏览器中直接地解析、渲染和修改GSPS而无任何外部工具或者插件。
[0127]VI1.可编稈工作站功能
[0128]在某些示例中,可以使用WebSocket传送层来实施可编程客户端工作站功能。在许多情况下,在需要在工作站上部署复杂功能或者资源密集应用时,部署应用为可执行文件(ΕΧΕ)、库(DLL)或者能够作为硬件的部分直接地执行而未在执行代码之前被“解译”(例如JavaScript)的其它部署形式。如果应用代码将由网站(例如ActiveX)试用,则该应用代码也可以通过基于COM的方法调用来调用。然而这些实施涉及对在web浏览器中运行和/或与客户端设备上的操作系统交互的许多安全要求(例如在Microsoft Windows 8和Internet Explorer 10中,除非具体地在“桌面”模式中运行插件,否则将从浏览器禁止插件)。此外,许多部件(例如ActiveX部件)也要求在客户端上签名以允许运行。
[0129]在某些示例中,ZFP查看器使用完全由现代web浏览器支持的WebSocket,以允许web浏览器与客户端设备直接地交互。通过触发客户端设备以在客户端设备上运行服务或者可安装部件来实现直接交互。可安装部件或者服务在客户端设备的预定义的通信端口上置于“监听”模式。在起动客户端上的web应用时,监听部件/服务轮询ZFP系统上的预定义的WebSocket端口上的开放连接。
[0130]在进行ZFP系统上的连接时,客户端应用可以访问用ZFP系统上部署的WebSocket服务器(例如WebSocket连接管理器251)定义的功能。例如,客户端应用可以实现可以在ActiveX部件中等效地卷包(warp)的所有功能、而没有在浏览器中直接地运行代码的约束或者需要用于该会话的附加安全授权的约束。在某些示例中,在客户端与服务器之间共享的接口中定义这些功能。客户端接口例如是与服务器上的通过WebSocket实施的伪服务层的松散联系。
[0131]VII1.玩程功能转译
[0132]某些示例提供通过WebSocket的JavaScript?远程功能的转译。例如,在.NET、Java和其它语言内定义“远程”或者远程方法调用。某些示例定义和转译远程功能(例如在JavaScript中实施的功能)以允许在客户端设备上执行的方法来调用的简单JavaScript代码客户端、然后经由封装的WebSocket连接向ZFP服务器路由用于更多包括的处理和/或执行。然后经由WebSocket连接向客户端路由回结果或者返回值。
[0133]图7图示用于有助于在客户端设备上的远程功能执行的示例方法700的流程图。在块710,请求触发脚本或者其它代码在客户端设备上的初始执行。在块720向服务器或者其它ZFP系统路由执行。例如基本脚本在客户端设备上开始处理、但是发起与服务器的连接而用于更多包括的所需过程的执行。在某些示例中,通过使用JSON(JavaScript对象符号表示)使方法调用串行化并且通过WebSocket连接向服务器传递串行化的数据块来完成向服务器路由。
[0134]在块730中,启动的功能在服务器而不是客户端上执行。例如服务器可以将接收的数据块去串行化并且在零空间占用示例中发现用于方法调用的适当的映射的属性(例如在它的.NET代码中)。服务器然后执行标识/映射的代码。
[0135]在块740向客户端路由回结果。例如向JSON串行化回来自调用的代码的返回值,并且经由WebSocket连接向客户端返回来自调用的代码的返回值,从而完成往返。在块750在客户端设备使用结果。例如在客户端设备中的浏览器中反映图像数据的显示和/或操纵。
[0136]IX.多级高速缓存中间层
[0137]某些示例提供按存储器、盘和存储源划分的多级中间层高速缓存。高速缓存可以例如用作ZFP中间层250的部分(例如多层服务器高速缓存266)。这一定制的高速缓存有助于ZFP部署以使客户端设备能够快速地访问图像而无需每次从它们的源检索它们。在ZFP中间层服务器250的示例中,实施多级高速缓存以改善访问时间和可靠性。
[0138]如图8中所示,示例多级或者多层高速缓存800包括三级:存储器层810、盘层820和源层830。[0139]存储器层810是最快的层并且在示例的三层中具有最少可用空间。存储器层810是中间层服务器(例如中间层250)中的“主要”存储器或者主要存储器的子集。保留存储器层810用于ZFP服务器的高速缓存使用。存储器高速缓存级810例如用于ZFP查看器840将迅速地访问的数据。
[0140]盘层820是中间速度层并且与其它层比较具有中间或者中等量的可用空间。盘层820例如是ZFP服务器上的硬盘空间。盘层820可以是ZFP中间层250上的页面文件、存储器映射的文件等。盘层820提供比高速缓存的第一层810(中间存储器)显著地更慢的访问、但是具有多得多的可用空间。这一高速缓存级820用于已经在高速缓存800中存在一会儿(例如多于定义的时间量阈值)的数据(并且在所有可能性中不会再请求这一数据)。
[0141]源层830是最慢的层并且代表数据的原有位置。在某些示例中,在ZFP高速缓存800中的源层830中维持指向原有或者源数据850的指针,从而如果使得数据在线的请求到来,则指针可以用来将数据从它的始发850(例如企业档案290,其中图像原先是通过医疗器械存储的)带入高速缓存中。源高速缓存级830例如主要用于使之在线的可能性很小的数据。然而,在请求数据的情况下,源高速缓存830中的指针提供对请求的信息的相对快的访问。
[0142]即使实施为分离的物理结构,仍然逻辑上组织和协调高速缓存800的多层810、820,830,以例如在任何或者所有级实现关联、搜索、检索、更新和/或其它修改。
[0143]利用多级高速缓存800的实施,ZFP中间层服务器250可以向大量用户有效地托管各种大小的专题。图9图示用于有助于在多级高速缓存中存储和访问数据的示例方法900的流程图。在块910接收对于数据的请求。例如,ZFP查看器接收对于图像数据和/或元数据的请求。在块920访问多层高速缓存800以检索数据。
[0144]在块930搜索存储器层810以标识快速访问存储器高速缓存810中的请求的数据。如果在存储器层810中发现数据,则在块970向请求应用提供数据。
[0145]如果在存储器层810中未发现请求的数据,则在块940搜索盘层820以对请求的数据进行定位。如果在盘层820中发现数据,则在块970向请求的应用提供数据。
[0146]如果在盘层820中未发现请求的数据,则在块950搜索源层830以对请求的数据进行搜索。例如,搜索源层830以标识位置,该位置包含请求的数据。在多数情况下,例如,如果在中间层服务器250上的高速缓存800的存储器层810或者盘层820中未发现请求的数据,则将在源层830中的指针标识的另一源系统中发现被请求的数据。在块960查询源设备以基于源层830中的指针检索数据。在块970向请求应用提供数据。如果未发现数据,则在块980生成错误。
[0147]例如,如果EA 290是源设备并且指示一些图像数据可用于检索,则在事实上数据在离线存储装置(比如Centera?档案)中时,在可以检索所需图像数据之前首先使其与源系统(例如档案290)形成联线。
[0148]X.智能Web浏览器客户端兼容性工作流
[0149]许多网站在两个位置之一一客户端侧或者服务器侧一中提供兼容性检测代码。对于客户端兼容性检测,工具(比如“modernizer, js”)检测客户端兼容性、启用一个或者多个标志并且基于启用的标志执行代码。这一方式的问题是在客户端设备中有将不执行的大量“停用代码”,因为它对于当前执行的客户端应用无关。在服务器侧上,基于从客户端向服务器传递的一个或者多个超文本传送协议(HTTP)变量,服务器进行关于连接到服务器的客户端类型的“最佳猜测”来确定兼容性。变量包括浏览器版本、基本客户端硬件信息等。然而,这一服务器侧兼容性检测方式在许多情况下远非准确,因为服务器必须维持在客户端中支持的特征的映射并且仅返回对于那些特征相关的代码。
[0150]不正确兼容性检测可能造成丢失功能和/或非预计结果。兼容性检测不仅确定是否某事物不兼容而且提供后退技术,从而例如产品在任何境况之下绝不会不工作。例如检测WebGL功能的存在/对于WebGL功能的支持可以是兼容性检测的一部分。WebGL功能可以不可用于JavaScript引擎。通过检测如果WebGL在浏览器中可用,则浏览器可以实行WebGL功能,或者如果其不可用,则查看器可以使用不同、但是相似特征(比如画布渲染等)来实施相同功能。
[0151]某些示例提供一种“智能”兼容性检测的零空间占用方式。图10图示有助于用于ZFP查看器的兼容性检测的示例方法1000的流程图。在块1010,客户端查看器请求内容页面或者屏幕。例如,web客户端(例如浏览器240)基于用户输入来请求内容页面,并且经由ZFP查看器(例如ZFP查看器210)传达请求。在块1020向客户端提供醒目页面(splashpage),这是在(例如通过ZFP查看器210的兼容性检测器213)执行后台检测代码(例如‘modernizer, js’等)以准确地检测客户端兼容性时向客户端提供状态通知或者初始信息的介绍页面。在块1030在显示醒目屏幕时在后台中执行兼容性检测。例如,兼容性检测分析作为当前JavaScript文档对象模型(DOM)的部分的元素,以确定可用于客户端的特征。
[0152]在块1040将客户端从醒目页面转向客户端原先请求的页面或者内容屏幕。在某些示例中,由于请求的页面是服务器侧渲染的页面,所以向服务器传递在客户端上原先检测的值。兼容性检测的结果(例如客户端web浏览器的版本、对于某些网页功能的客户端浏览器支持等)例如作为向服务器传递的信息和服务器渲染的页面的因子。
[0153]在块1050,基于从客户端向服务器传递的输入值,服务器准确地渲染将在客户端显示的客户端页面。在块1060向客户端提供服务器侧渲染的内容页面以用于显示(例如经由ZFP查看器210和web客户端240)。
[0154]因此,某些示例提供更高效地渲染的内容网页(例如减少或者消除“停用代码”)和更准确的兼容性,因为兼容性信息来自客户端。
[0155]X1.结论
[0156]因此,某些示例提供一种零空间占用平台和查看器,该平台和查看器有助于医学图像(例如DICOM医学图像)的显示、操纵、重新格式化等而无需查看器部件在客户端的客户端安装、下载等并且可以在能够支持适当浏览器(例如HTML5浏览器)的任何硬件上虚拟运行。某些示例提供用于有助于图像渲染和操纵的查看器部件;并提供中间层服务器,其用于支持对图像像素、元数据和非图像对象的数据(例如DICOM数据)的代码转换。使用这一新颖架构,可以例如实现DICOM图像专题的高效的基于web的浏览而未在客户端系统添加任何外部件。
[0157]图11是可以用来实施这里描述的系统和方法的示例处理器系统1110的框图。如图11中所示,处理器系统1110包括耦合到互连总线1114的处理器1112。处理器1112可以例如是任何适当处理器、处理单元或者微处理器。虽然在图11中未示出,但是系统1110可以是多处理器系统并且因此可以包括与处理器1112相同或者相似、并且通信地耦合到互连总线1114的一个或者多个附加处理器。
[0158]图11的处理器1112耦合到包括存储器控制器1120和输入/输出(“I/O”)控制器1122的芯片组1118。如木领域所知晓,芯片组通常提供I/O和存储器管理功能以及可由耦合到芯片组1118的一个或者多个处理器访问或者使用的多个通用和/或专用寄存器、定时器等。存储器控制器1120执行如下功能:使处理器1112(或者如果有多个处理器则使多个处理器)能够访问系统存储器1124和大容量存储装置存储器1125。
[0159]系统存储器1124可以包括任何所需类型的易失性和/或非易失性存储器、如例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、闪存、只读存储器(ROM)等。大容量存储装置存储器1125可以包括任何所需类型的大容量存储设备,该大容量存储设备包括硬盘驱动器、光盘驱动器、磁带存储设备等。
[0160]I/O控制器1122执行如下功能:使处理器1112能够经由I/O总线1132与外围输入/输出(“I/o”)设备1126和1128以及网络接口 1130通信。I/O设备1126和1128可以是任何所需类型的I/O设备(例如键盘、视频显示器或者监视器、鼠标等)。网络接口1130可以例如是使处理器系统1110能够与另一处理器系统通信的以太网设备、异步传输模式(“ATM”)设备、802.11设备、DSL调制解调器、线缆调制解调器、蜂窝调制解调器等。
[0161]尽管在图11中描绘存储器控制器1120和I/O控制器1122为芯片组1118内的单独块,但是这些块所执行的功能可以在单个半导体电路内集成或者可以使用两个或者更多分离集成电路来实施。
[0162]本领域技术人员应当理解发明要素、发明范例和发明方法仅由某些示例实施例代表。然而本发明及其发明要素的实际范围延伸远远超出选择的实施例并且应当在广泛多种信息和计算机化系统的开发、工程设计、销售、服务和支持这些广泛领域的情境中被分离地考虑而特别强调高负荷和/或高吞吐量和/或高性能和/或分布式和/或联合和/或多专业性质的复杂系统。
[0163]某些实施例设想用于实施以上描述的功能的方法、系统和在任何机器可读介质上的计算机程序安排。可以例如使用现有计算机处理器或者由出于这一或者另一目的而并入的专用计算机处理器或者由硬接线和/或固件系统实施某些实施例。
[0164]可以例如在硬件、固件中和/或作为软件中的指令集单独或者组合实施以上描述的系统的部件和/或方法的步骤中的一个或者多个部件和/或步骤。可以提供某些实施例为在计算机可读介质、比如存储器、硬盘、DVD或者CD上驻留的指令集用于在通用计算机或者其它处理设备上执行。本发明的某些实施例可以省略方法步骤中的一个或者多个方法步骤和/或按照与列举的顺序不同的顺序执行步骤。例如可以在本发明的某些实施例中未执行一些步骤。作为又一示例,可以按照与以上列举的顺序不同的时间顺序、包括同时执行某些步骤。
[0165]某些实施例包括计算机可读介质,这些计算机可读介质用于承载或者具有在其上存储的计算机可执行指令或者数据结构。这样的计算机可读介质可以是通用或者专用计算机或者具有处理器的其它机器可以访问的任何可用介质。举例而言,这样的计算机可读介质可以包括RAM、ROM、PR0M、EPR0M、EEPR0M、闪存、CD-ROM或者其它光盘存储装置、磁盘存储装置或者其它磁存储设备或者可以用来以计算机可执行指令或者数据结构的形式承载或者存储所需程序代码并且可以由通用或者专用计算机或者具有处理器的机器访问的任何其它介质。在计算机可读介质的范围内包括以上各项的组合。计算机可执行指令例如包括使通用计算机、专用计算机或者专用处理机器执行某个功能或者某组功能的指令和数据。
[0166]一般而言,计算机可执行指令包括执行特定任务或者实施特定抽象数据类型的的例程、程序、对象、部件、数据结构等。计算机可执行指令、关联数据结构和程序模块代表用于执行这里公开的某些方法和系统的步骤的程序代码的示例。这样的可执行指令或者关联数据结构的特定序列代表用于实施在这样的步骤中描述的功能的对应动作的示例。
[0167]可以使用与具有处理器的一个或者多个远程计算机的逻辑连接在联网环境中实现本发明的实施例。逻辑连接可以包括这里通过示例而无限制地呈现的局域网(LAN)和广域网(WAN)。这样的联网环境在办公室范围或者企业范围的计算机网络、内部网和因特网中司空见惯并且可以使用广泛多种不同通信协议。木领域技术人员将理解这样的网络计算环境将通常涵盖许多类型的计算机系统配置,这些计算机系统配置包括个人计算机、手持设备、多处理器系统、基于微处理器或者可编程的消费电子产品、网络PC、小型计算机、大型计算机等。也可以在分布式计算环境中实现本发明的实施例,在这些分布式计算环境中,任务由通过通信网络(由硬接线链路、无线链路或者由硬接线或者无线链路的组合)链接的本地和远程处理设备执行。在分布式计算环境中,程序模块可以位于木地和远程存储器存储设备中。
[0168]用于实施本发明的实施例的整个系统或者部分的示例系统可以包括形式为计算机的通用计算设备,该计算机包括处理单元、系统存储器和系统总线,该系统总线将包括系统存储器的各种系统部件耦合到处理单元。系统存储器可以包括只读存储器(ROM)和随机存取存储器(RAM)。计算机也可以包括用于从磁硬盘读取和向磁硬盘写入的磁硬盘驱动器、用于从可拆卸磁盘读取或者向可拆卸磁盘写入的磁盘驱动器和用于从可拆卸光盘、比如CDROM或者其它光介质读取或者向可拆卸光盘写入的光盘驱动器。驱动及其关联计算机可读介质提供用于计算机的计算机可执行指令、数据结构、程序模块和其它数据的非易失性存储。
[0169]尽管已经参照某些实施例描述本发明,但是本领域技术人员将理解可以进行各种改变并且可以替换为等效物而未脱离本发明的范围。此外,可以进行许多修改以使特定情形或者材料适应本发明的教导而未脱离它的范围。因此,本发明旨在于不限于公开的具体实施例,但是本发明将包括落入所附权利要求的范围内的所有实施例。
【权利要求】
1.一种系统,包括: 零空间占用医学图像查看器,所述零空间占用医学图像查看器包括显示管线,以用于渲染图像内容和向客户端设备提供图像内容而无所述客户端设备的特定配置,以经由客户端浏览器显示所述图像内容和促进经由所述客户端浏览器操纵所述图像内容;以及 中间层服务器,所述中间层服务器用于从存储装置检索所述图像内容并且将所述图像内容从存储格式转换成浏览器方便格式, 其中,所述零空间占用医学图像查看器包括用于从所述中间层服务器收集图像内容的第一数据管理器,并且所述中间层服务器包括用于检索所述图像内容并且从所述存储格式向所述浏览器方便格式将所述图像内容格式化的第二数据管理器,所述第二数据管理器用于与所述第一数据管理器通信以促进传送用于显示的所述图像内容。
2.根据权利要求1所述的系统,其特征在于,所述零空间占用医学图像查看器包括促进经由所述客户端浏览器进行图像查看的、基于HTML5的查看器。
3.根据权利要求1所述的系统,其特征在于,所述第一数据管理器和所述第二数据管理器利用WebSocket连接以在所述中间层服务器与所述零空间占用查看器之间传送数据,而如果所述WebSocket连接不可用则Web服务连接可用作传送的后退。
4.根据权利要求1所述的系统,其特征在于,所述第一数据管理器用于与所述第二数据管理器一起工作以确定客户端设备兼容性。
5.根据权利要求1所述的系统,还包括用于从档案向所述中间层服务器提供所述图像内容的流发送图像递送系统。
6.根据权利要求1所述的系统,其特征在于,所述第一数据管理器和所述第二数据管理器用于促进基于在所述客户端设备的可用存储器而用所述中间层服务器将数据来回翻页。
7.根据权利要求1所述的系统,其特征在于,所述第一数据管理器和所述第二数据管理器还促进传输、格式化和在所述客户端浏览器显示除了 DICOM图像内容之外的、元信息和非图像对象中的至少一者。
8.一种包括计算机程序代码的有形计算机可读存储介质,所述计算机程序代码将由处理器执行,所述计算机程序代码在执行时用于实施系统,所述系统包括: 零空间占用医学图像查看器,所述零空间占用医学图像查看器包括显示管线,以用于渲染图像内容和向客户端设备提供图像内容而无所述客户端设备的特定配置,以经由客户端浏览器显示所述图像内容和促进经由所述客户端浏览器操纵所述图像内容;以及 中间层服务器,所述中间层服务器用于从存储装置检索所述图像内容并且将所述图像内容从存储格式转换成浏览器方便格式, 其中所述零空间占用医学图像查看器包括用于从所述中间层服务器收集图像内容的第一数据管理器,并且所述中间层服务器包括用于检索所述图像内容并且从所述存储格式向所述浏览器方便格式将所述图像内容格式化的第二数据管理器,所述第二数据管理器用于与所述第一数据管理器通信以促进传送用于显示的所述图像内容。
9.根据权利要求8所述的计算机可读存储介质,其特征在于,所述零空间占用医学图像查看器包括促进经由所述客户端浏览器进行图像查看的、基于HTML5的查看器。
10.根据权利要求8所述的计算机可读存储介质,其特征在于,所述第一数据管理器和所述第二数据管理器利用WebSocket连接以在所述中间层服务器与所述零空间占用查看器之间传送数据,而如果所述WebSocket连接不可用则Web服务连接可用作传送的后退。
11.根据权利要求8所述的计算机可读存储介质,其特征在于,所述第一数据管理器用于与所述第二数据管理器一起工作以确定客户端设备兼容性。
12.根据权利要求8所述的计算机可读存储介质,还包括用于从档案向所述中间层服务器提供所述图像内容的流发送图像递送系统。
13.根据权利要求8所述的计算机可读存储介质,其特征在于,所述第一数据管理器和所述第二数据管理器基于在所述客户端设备的可用存储器用所述中间层服务器促进将数据来回翻页。
14.根据权利要求8所述的计算机可读存储介质,其特征在于,所述第一数据管理器和所述第二数据管理器还促进传输、格式化和在所述客户端浏览器显示除了 DICOM图像内容之外的、元信息和非图像对象中的至少一者。
15.—种方法,包括: 在零空间占用查看器接收对在客户端设备上的客户端浏览器起动图像专题的请求,所述零空间占用查看器包括显示管线,以用于渲染和向客户端设备提供所述图像专题中的图像内容而无所述客户端设备的特定配置,以经由所述客户端浏览器显示所述图像内容和促进经由所述客户端浏览器操纵所述图像内容; 经由中间层服务器从存储装置检索所述请求的图像内容; 经由所述中间层服务器将所述图像内容从存储格式转换成浏览器方便格式; 向所述零空间占用查看器提供转换的图像内容;并且 经由所述零空间占用查看器促进在所述客户端浏览器显示所述转换的图像内容, 其中,所述零空间占用医学图像查看器包括用于从所述中间层服务器收集所述图像内容的第一数据管理器,并且所述中间层服务器包括用于检索所述图像内容并且从所述存储格式向所述浏览器方便格式将所述图像内容格式化的第二数据管理器,所述第二数据管理器用于与所述第一数据管理器通信以促进传送用于显示的所述图像内容。
16.根据权利要求15所述的方法,其特征在于,所述第一数据管理器和所述第二数据管理器利用WebSocket连接以在所述中间层服务器与所述零空间占用查看器之间传送数据,而如果所述WebSocket连接不可用则Web服务连接可用作传送的后退。
17.根据权利要求15所述的方法,还包括经由所述第一数据管理器和所述第二数据管理器确定客户端设备兼容性。
18.根据权利要求15所述的方法,还包括首先向所述客户端浏览器提供图像专题概况、继而提供所述图像专题的渲染图像的完整集合。
19.根据权利要求15所述的方法,其特征在于,所述第一数据管理器和所述第二数据管理器基于在所述客户端设备的可用存储器用所述中间层服务器促进将数据来回翻页。
20.根据权利要求15所述的方法,还包括,经由所述第一数据管理器和所述第二数据管理器,促进传输、格式化和在所述客户端浏览器显示除了 DICOM图像内容之外的、元信息和非图像对象中的至少一者。
【文档编号】G06F17/30GK103838813SQ201310590911
【公开日】2014年6月4日 申请日期:2013年11月21日 优先权日:2012年11月21日
【发明者】J.D.克罗策尔, P.B.帕达特, E.T.耶斯特, V.K.R.阿拉加达 申请人:通用电气公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1