一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通用切片查看器的制作方法

2022-06-01 18:13:52 来源:中国专利 TAG:

通用切片查看器
相关申请的交叉引用
1.本技术要求2019年8月23日提交的名称为“通用切片查看器”的美国临时专利申请62/890,953的优先权,其全文通过引用并入本文。
技术领域
2.本技术总体上涉及用于渲染生物医学图像的查看接口,包括但不限于使用切片查看器(诸如用于具有多种格式、配置和参数的图像的通用切片查看器)。


背景技术:

3.可以通过应用程序在计算设备上显示和渲染图像。可以通过应用程序的一个或多个用户接口元素来控制图像的视图。


技术实现要素:

4.本公开文本的系统和方法能够实现对不同放大倍率的生物医学图像的并发查看,针对不同的分辨率和颜色方案进行归一化。除了与生物医学图像查看相关的其他方面之外,当将平移或缩放操作应用于图像时,通用切片视图还提供对不同放大倍率下的多个同步视图的支持。本文所述的系统和方法可以在不同放大倍数下提供切片的无缝且快速的像素准确注释。光栅化的bmp图像可以存储注释,以牺牲准确性或速度来改善存储空间。
5.本公开文本的至少一个方面涉及一种方法。所述方法可以包括:从生物医学图像的第一部分识别多个图块,所述生物医学图像经由组织病理学图像制备器从组织样品获得。所述多个图块中的每个图块可以在多个放大系数中的一个放大系数下获取并且由所述生物医学图像内的对应坐标集合定义。所述多个图块中的至少一个可以对应于所述第一部分的至少一个子集。所述方法可以包括:经由对应的多个图形用户接口元素提供用于并发显示的所述多个图块。所述方法可以包括:检测与来自所述多个gui元素的一个gui元素的交互以修改所述多个图块中的一个图块。所述方法可以包括:响应于与所述gui元素的交互来识别对定义所述图块的第一坐标集合的第一改变。所述方法可以包括:基于对所述第一坐标集合的所述第一改变来确定应用于定义所述多个图块的其余部分的每个图块的第二坐标集合的第二改变。所述方法可以包括:通过将所述第一改变应用于检测到所述交互的所述图块的所述第一坐标集合并且将所述第二改变应用于所述多个图块的其余部分的每个图块的所述第二坐标集合,来更新在所述对应的多个gui元素中所述多个图块的显示。
6.在一些实现方式中,所述方法可以包括:基于要应用于定义所述图块的所述第一坐标集合的所述第一改变来识别所述生物医学图像的第二部分。在一些实现方式中,所述方法可以包括:基于所述第一部分和所述第二部分的比较来确定要应用于所述第二坐标集合的所述第二改变。在一些实现方式中,所述多个gui元素可以包括用于显示所述多个图块中的基准图块的第一gui元素以及用于显示所述多个图块中的对应的一个或多个其他图块的一个或多个第二gui元素。
7.在一些实现方式中,检测所述交互可以进一步包括检测用于执行以下至少一项操作的交互:所述图块内的缩放操作或从所述图块移动的平移操作。在一些实现方式中,识别所述多个图块可以进一步包括将对应于所述生物医学图像的所述第一部分的所述多个图块流式传输到客户端设备,以用于经由所述对应的多个gui元素在所述客户端设备上显示。
8.在一些实现方式中,所述方法可以包括:识别经由所述多个gui元素中的第二gui元素的注释。在一些实现方式中,所述注释可以识别经由所述第二gui元素显示的所述多个图块中的第二图块上的一个或多个像素坐标。在一些实现方式中,所述注释可以指示在所述组织样品上的与所述第二图块上的所述一个或多个像素坐标对应的区域中存在一个或多个状况。在一些实现方式中,所述方法可以包括:在一个或多个数据结构中存储所述注释与所述生物医学图像之间的关联。
9.在一些实现方式中,所述方法可以包括:生成对应于由所述注释识别的所述一个或多个像素坐标的多个索引颜色值。在一些实现方式中,所述方法可以包括:将所述多个索引颜色值存储为所述注释的映射。在一些实现方式中,所述方法可以包括:基于在经由所述第二gui元素显示的所述第二图块中识别的所述注释来更新所述对应的多个gui元素中的所述多个图块的所述显示。
10.在一些实现方式中,所述方法可以包括:针对所述多个图块中的第三图块识别所述生物医学图像的相应部分。在一些实现方式中,所述方法可以包括:在所述至少一个图块的相应部分上应用颜色修改操作,同时保持所述生物医学图像的剩余部分。在一些实现方式中,所述方法可以包括:基于将所述颜色修改操作应用到所述相应部分来更新所述第三图块在所述多个gui元素中的对应gui元素中的显示。在一些实现方式中,所述方法可以包括:识别从中导出所述多个图块的所述生物医学图像的源。在一些实现方式中,所述方法可以包括:从多个颜色修改操作中进行选择。在所述方法的一些实现方式中,所述颜色修改操作可以基于针对所述生物医学图像识别的源。
11.本公开文本的至少一个其他方面涉及一种系统。所述系统可以包括具有耦接到存储器的一个或多个处理器的计算系统。所述系统可以从生物医学图像的第一部分识别多个图块,所述生物医学图像经由组织病理学图像制备器从组织样品获得。所述多个图块中的每个图块可以在多个放大系数中的一个放大系数下获取并且由所述生物医学图像内的对应坐标集合定义,所述多个图块中的至少一个对应于所述第一部分的至少一个子集。所述系统可以经由对应的多个图形用户接口元素提供用于并发显示的所述多个图块。所述系统可以检测与来自所述多个gui元素的一个gui元素的交互以修改所述多个图块中的一个图块。所述系统可以响应于与所述gui元素的交互来识别对定义所述图块的第一坐标集合的第一改变。所述系统可以基于对所述第一坐标集合的所述第一改变来确定应用于定义所述多个图块的其余部分的每个图块的第二坐标集合的第二改变。所述系统可以通过将所述第一改变应用于检测到所述交互的所述图块的所述第一坐标集合并且将所述第二改变应用于所述多个图块的其余部分的每个图块的所述第二坐标集合,来更新在所述对应的多个gui元素中所述多个图块的显示。
12.在一些实现方式中,所述系统可以基于要应用于定义所述图块的所述第一坐标集合的所述第一改变来识别所述生物医学图像的第二部分。在一些实现方式中,所述系统可以基于所述第一部分和所述第二部分的比较来确定要应用于所述第二坐标集合的所述第
二改变。在一些实现方式中,所述多个gui元素可以包括用于显示所述多个图块中的基准图块的第一gui元素以及用于显示所述多个图块中的对应的一个或多个其他图块的一个或多个第二gui元素。在一些实现方式中,所述系统可以检测用于执行以下至少一项操作的交互:所述图块内的缩放操作或从所述图块移动的平移操作。
13.在一些实现方式中,所述系统可以将对应于所述生物医学图像的所述第一部分的所述多个图块流式传输到客户端设备,以用于经由所述对应的多个gui元素在所述客户端设备上显示。在一些实现方式中,所述系统可以识别经由所述多个gui元素中的第二gui元素的注释。在一些实现方式中,所述注释可以识别经由所述第二gui元素显示的所述多个图块中的第二图块上的一个或多个像素坐标。在一些实现方式中,所述注释可以指示在所述组织样品上的与所述第二图块上的所述一个或多个像素坐标对应的区域中存在一个或多个状况。在一些实现方式中,所述系统可以在一个或多个数据结构中存储所述注释与所述生物医学图像之间的关联。
14.在一些实现方式中,所述系统可以生成对应于由所述注释识别的所述一个或多个像素坐标的多个索引颜色值。在一些实现方式中,所述系统可以将所述多个索引颜色值存储为所述注释的映射。在一些实现方式中,所述系统可以基于在经由所述第二gui元素显示的所述第二图块中识别的所述注释来更新所述对应的多个gui元素中的所述多个图块的所述显示。
15.在一些实现方式中,所述系统可以针对所述多个图块中的第三图块识别所述生物医学图像的相应部分。在一些实现方式中,所述系统可以在所述至少一个图块的相应部分上应用颜色修改操作,同时保持所述生物医学图像的剩余部分。在一些实现方式中,所述系统可以基于将所述颜色修改操作应用到所述相应部分来更新所述第三图块在所述多个gui元素中的对应gui元素中的显示。在一些实现方式中,所述系统可以识别从中导出所述多个图块的所述生物医学图像的源。在一些实现方式中,所述系统可以从多个颜色修改操作中进行选择。在一些实现方式中,所述颜色修改操作可以基于针对所述生物医学图像识别的源。
16.下面将详细讨论这些和其他方面和实现方式。前述信息和以下详细描述包括各种方面和实现方式的说明性示例,并且提供用于理解所要求保护的方面和实现方式的性质和特征的概述或框架。附图提供了对各个方面和实现方式的说明和进一步理解,并且被并入本说明书中并构成本说明书的一部分。可以组合各方面,并且将容易理解的是,在本发明的一个方面的上下文中描述的特征可以与其他方面组合。各方面可以以任何方便的形式实现。例如,通过适当的计算机程序,其可以在适当的载体介质(计算机可读介质)上承载,该载体介质可以是有形的载体介质(例如磁盘)或无形的载体介质(例如通信信号)。各方面也可以使用合适的装置来实现,所述装置可以采取运行被布置为实现所述方面的计算机程序的一个或多个可编程计算机的形式。如在本说明书和权利要求书中使用的,单数形式“一个/一种”、和“该/所述”包括复数指代物,除非上下文另有明确规定。
附图说明
17.通过结合附图参考以下描述,本公开文本的前述和其他目的、方面、特征和优点将变得更加清楚和更好理解,其中:
18.图1描绘了根据说明性实施方案的与各种供应商接口的通用切片查看器的示意图;
19.图2描绘了根据说明性实施方案的通用切片查看器的接口的屏幕截图,该接口对具有按像素标记的活检进行了渲染;
20.图3是根据说明性实施方案的通用切片查看器的渲染活检的分类的接口的屏幕截图;
21.图4描绘了根据说明性实施方案的用于提供用于并发显示的生物医学图像的多个视图的系统;
22.图5描绘了根据说明性实施方案的生物医学图像的多个图块和图形用户接口中的相应显示区域的框图表示;
23.图6描绘了根据说明性实施方案的正在经历平移或缩放操作的生物医学图像的一个或多个图块中的改变的框图;
24.图7描绘了根据说明性实施方案的正在经历颜色改变操作的生物医学图像的一个或多个图块的框图;
25.图8描绘了根据说明性实施方案的提供用于并发显示的生物医学图像的多个视图的示例方法的流程图;并且
26.图9描绘了根据说明性实施方案的服务器系统和客户端计算机系统的框图。
具体实施方式
27.包括使用通用切片查看器呈现生物医学图像的多个放大视图的本技术可以使病理学家或其他医疗保健专业人员能够使用增强的工具来查看和注释医学图像。应当理解的是,可以以多种方式中的任何一种来实现上面介绍和下面更详细讨论的各种概念,因为所公开的概念不限于任何特定的实现方式。提供具体实现方式和应用的示例主要是为了说明的目的。
28.a部分描述了根据一个或多个说明性实现方式的通用切片查看器;
29.b部分描述了根据一个或多个实现方式以不同放大倍率呈现生物医学图像的各种视图的系统和方法;
30.c部分描述了一种网络环境和计算环境,其可用于实践本文所述的各种实施方案。a.通用切片查看器
31.医院可能具有用于生物医学成像技术的多个供应商、扫描仪或文件格式,并且因此可能具有用于渲染生物医学图像的多个应用程序或服务。某些查看器可能只支持基于矢量的图形注释,这可能不准确并产生差异。手动评估数字切片可能会越来越耗时,因为每个患者的数字切片越来越多
32.为了至少解决上述问题,参见图1,通用切片查看器可以为不同的供应商提供查看,针对不同的分辨率和颜色方案进行归一化。支持多个视图和会议。参见图2,切片查看器支持不同放大倍数的切片的无缝且快速的像素准确注释。光栅化的bmp图像存储注释。参见图3,查看器支持基于步骤1和2的切片和注释的自动机器学习模型的训练和测试。分类结果被定量地(结果表)和定性地(预测图、热图、置信度图等的叠加)可视化。因此,可以为计算病理学中的一系列应用提供明智的决策支持。
1(a).针对每个放大倍数的分辨率归一化
33.不同的供应商/扫描仪以不同的分辨率逐像素扫描,即使是相同的放大倍数。因此,对于不同的扫描仪,“20x”看起来可能不同。而另一方面,病理学家希望“20x”对于每个切片是的相同大小。因此,切片查看器结合了缩放倍率的归一化因子,使得20x始终具有与公式(slideobjectivepower*slidempp/20)/0.45相同的0.45μm/px的分辨率,其中slideobjectivepower是当前切片的物镜放大倍数,slidempp是当前切片的分辨率。其他放大倍率也类似地归一化。1(b).每种染色类型的颜色方案归一化,以补偿褪色和色移
34.不同的扫描仪在扫描图像时具有不同的色表(类似于不同数码相机呈现同一场景,但颜色略有不同)。此外,颜色方案可能会随着时间而改变,与新扫描仪相比,旧扫描仪显示褪色或有偏差的颜色。而另一方面,病理学家希望切片看起来相似,无论扫描仪的供应商或使用时间如何。切片查看器将通过归一化图块的颜色来补偿颜色偏差,使得h&e染色的切片在颜色方面看起来彼此相似(补偿褪色和色移)。2(a).具有不同放大倍数的多个较小窗口的主切片窗口
35.查看器支持多个视图以增强切片研究(在大屏幕上最有意义)。这包括:
36.签出视图:一个主窗口查看切片。在它旁边有两到三个较小的窗口,以逐渐增高的放大倍率呈现相同的切片。优点:病理学家可以在不同的放大倍率下即时研究切片,而无需切换操纵杆(显微镜)或点击按钮(其他查看器)。2(b).同时显示多个切片,并根据切片可见区域、缩放等相互同步。
37.多视图:两个或四个(或更多)切片彼此相邻显示,与导航同步。补偿了不同的切片尺寸和缩放,从而使切片同步平移和缩放。优点:病理学家可以立即观察同一组织的不同染色(例如h&e、ihc、mib-1、cd3等)。这有助于评估组织。3.在不需要额外软件组件的情况下的查看器内屏幕共享
38.查看器支持会议:任何人都可以轻松地为特定时间创建会议,并为此会议收集切片。在给定时间参加会议的人们将在屏幕上看到“主讲人”看到的并导航的内容。这与共享桌面屏幕相当相似,但完全在查看器中实现,不需要额外的屏幕共享软件。优点:用于教学目的(教师,学生)和远程会议(病理学家不在现场的会议/协议会议、肿瘤研讨会)。4.逐个图块的即时假彩色表示
39.外查看器支持切片的即时假彩色表示,无需预先计算。这是通过仅编辑当前显示给用户的那些图块来完成的。示例是颜色反卷积归一化颜色(rgb-》r/(r g b),g/(r g b),b/(r g b)),光密度(rgb-》-log10(r/255),-log10(g/255),-log10(b/255))。5.注释审查的监督模式
40.查看器支持监督模式,在这种模式下,(高级)病理学家可以查看其他(初级)病理学家的注释。这是有益的,例如对于大规模注释,研究人员注释许多切片,高级病理学家对其进行审查。通过使用切片查看器实现各个用户的不同访问级别,可以解决此问题。6.openslide的使用
41.图块服务器使用openslide库,以当前放大倍数从专有文件格式中提取当前查看的图块。这允许从服务器到客户端的最佳数据流,仅访问切片的相关部分。7.负载平衡
42.由于多个用户同时访问多个文件,因此对从四个图块服务器流式传输的图块实现了负载平衡。这些图块服务器可以是云中的物理服务器或虚拟服务器。8.直接传送缓存的图像图块
43.为了提高图块传送到客户端的速度,生成的图块(由openslide库从原始扫描文件生成)以jpg或png的方式缓存在服务器上。使用openslide生成新的图块并传送生成的图像图块比直接传送缓存的图像图块要慢得多。因此,缓存过程显著提高了查看速度。9.在切片查看器上进行标记
44.切片查看器支持用计算机鼠标、笔、手指或其他输入设备(取决于计算机设备)在图像上绘画。
45.注释被可视化为覆盖层,并存储为4bpp位图。这些每像素4位的位图允许:
·
小文件大小,即使对于大尺寸(100k x 80k像素)。4bpp位图是高度可压缩的。
·
每个文件16个不同的注释。
·
在图像上快速轻松地绘画,像素准确的标签,例如甜面圈形状的注释,这对于基于矢量的注释而言不太容易实现。
46.然而,一个缺点是,当未压缩(约1gb)时,它们的文件大小非常大。因此,将标签文件加载到ram中可能会出现问题。使用内存映射文件解决了这个问题。使用内存映射文件允许:
·
同时访问一个标签文件,甚至从不同的进程(例如分类和查看进程)。
·
快速读写这些文件。
47.编写了脚本和例程来访问(读/写)这些文件。这些脚本包括金字塔级访问权限,以适合组织图像的金字塔架构。这样可以确保仅将标签文件的一部分流式传输到当前在查看器中进行查看的客户端。这大大减少了流式数据,并加快了注释的查看过程。
48.在本地客户端设备上,使用openseadragon库可视化覆盖层(以及主切片图像)。该库允许无缝缩放和平移。客户端设备上的绘画本身是使用fabric.js的openseadragon插件实现的。10.实验设置接口
49.查看器有一个实验设置接口:
·
用户创建一个新的实验,并选择应包括作为训练和测试集的图像。
·
用户在训练和测试图像上提供不同类的注释(例如自己的注释或来自其他注释器)。
·
用户选择要在数据集上训练和测试的算法。所述算法是模块化的,可以插入。通常,由计算病理学研究小组开发合适的算法。
·
查看器可以在服务器上本地或通过访问hpc集群来训练和测试机器学习算法。
·
结果被存储并可视化给用户。报告了量化的误差度量(例如,准确率、精确率、召回率等)以及定性结果,例如热图的叠加图像。这些热图是类似的4bbp位图,并且与标签文件类似地处理。
·
然后,预先训练的分类器的应用是:
·
用户选择要分类的切片或一组切片(例如前列腺癌切片)。
·
用户从可用分类器列表中选择预先训练的分类器。这样的分类器已经在不同的
数据集上预先开发和验证(例如由研究小组)(例如前列腺癌gleason评分预测因子)。
·
查看器在选定的切片上应用分类器,无论是在服务器机器上本地还是使用hpc集群。
·
结果被存储并可视化给用户。报告了量化的误差度量(例如,准确率、精确率、召回率等)以及定性结果,例如热图的叠加图像。这些热图是类似的4bbp位图,并且与标签文件类似地处理。b.以不同放大倍率渲染生物医学图像的系统和方法
50.病理学家和其他医疗保健专业人员通常以各种放大倍率查看切片,例如使用显微镜或其他成像技术。经典显微镜的一个限制是其查看能力:在给定时间只能向查看器显示一个放大视图。如果特定任务需要不同的视图,则必须更改显微镜的放大倍率。随着计算机成像技术的进步,可以对组织样品进行非常高分辨率的图像拍摄。非常高分辨率的图像通常尺寸非常大,并且需要大量的计算资源来渲染。此外,生物医学图像查看器遭受与经典显微镜相似的问题,在经典显微镜中,在给定时间只能渲染单个放大倍率。
51.在生物医学图像或显微镜下分析组织样品时,病理学家通常会以不同的放大倍率分析生物医学图像,以评估不同比例的组织样品的某些品质。但是,在视图之间不断切换可能会很麻烦。因此,对于一种系统来说,提供额外的查看屏幕将是有利的,所述查看屏幕能够以不同的放大倍数渲染生物医学图像。本公开文本的系统和方法提供了这样的解决方案。
52.本文描述的系统和方法提供了一种通用切片查看器,其可以在不同放大倍率下同时渲染生物医学图像的多个视图。多个视图中的每一个可以被同步到生物医学图像中的感兴趣的坐标,这样可以在不改变主显示窗口的位置或放大倍数的情况下以不同的放大倍率来查看相同的坐标。用户可以根据需要实例化或取消其他视图,并且每个视图都可以用于实时提供各种放大倍率的像素级粒度注释。因为生物医学图像通常非常大,所以渲染服务器可以选择并仅渲染由用户请求的生物医学图像的部分。用户可以通过通用切片查看器提供的接口实时请求医学图像的不同部分。因此,本文所述的系统和方法通过仅渲染生物医学图像的可见部分来提供对生物医学图像渲染平台的技术改进。下面将更详细地描述本技术方案的这些和其他方面。
53.现在参考图4,描绘了用于呈现用于渲染生物医学图像的一个或多个查看区域的示例系统400的框图。系统400可以包括至少一个计算系统405、至少一个客户端设备420a-n(有时统称为“客户端设备420”)、至少一个网络410和至少一个数据存储415。在一些实现方式中,计算系统405可以包括数据存储415,并且在一些实现方式中,数据存储415可以在计算系统405的外部。例如,当数据存储415在计算系统405外部时,计算系统405(或其组件)可以经由网络410与数据存储415通信。计算系统405可以包括至少一个图块识别器425、至少一个显示提供器430、至少一个交互检测器435、和至少一个图块修改器440。数据存储415可以包括至少一个生物医学图像450和至少一个注释数据455。
54.可以实现系统400的每个组件(例如,计算系统405、客户端设备420、网络410、图块识别器425、显示提供器430、交互检测器435、图块修改器440、数据存储415等),例如,使用本文描述的各种计算设备中的任一个,包括下面结合图9描述的服务器系统900或客户端计算机系统914。计算系统405可以执行上文在部分a中描述的任何特征或功能。
55.更详细地,计算系统405可以包括至少一个处理器和存储器,例如处理电路。存储器可以存储处理器可执行指令,所述指令在由处理器执行时使处理器执行本文所述的一个或多个操作。处理器可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器还可以包括软盘、cd-rom、dvd、磁盘、存储芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、闪存、光学介质,或处理器可以从中读取指令的任何其他合适的存储器。所述指令可以包括来自任何合适的计算机编程语言的代码。计算系统405可以包括可以执行如本文所述的各种功能的一个或多个计算设备或服务器。计算系统405可以包括任何或所有组件,并且执行本文结合图9描述的服务器系统900或客户端计算系统914的任何或所有功能。
56.网络410可以包括计算机网络,例如因特网、本地、广域、城域网或其他区域网络、内联网、卫星网络,其他计算机网络,例如语音或数据移动电话通信网络,以及它们的组合。在一些实现方式中,网络410可以是下面结合图9描述的网络929的一个或多个方面,是所述一个或多个方面的一部分、或包括所述一个或多个方面。系统1的计算系统405可以经由网络410例如与至少一个客户端设备420a通信。网络410可以是可以在客户端设备420a、计算系统405和一个或多个内容源(诸如web服务器)之间中继信息的任何形式的计算机网络。在一些实现方式中,网络410可以包括因特网和/或其他类型的数据网络,诸如局域网(lan)、广域网(wan)、蜂窝网络、卫星网络或其他类型的数据网络。网络410还可以包括任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等),其被配置为在网络410内接收和/或传输数据。网络410还可以包括任何数量的硬连线和/或无线连接。本文描述的任何或所有计算设备(例如,计算系统405、服务器系统900、客户端计算系统914等)可以与硬连线(例如,通过光纤电缆、cat5电缆等)到网络410中的其他计算设备的收发器无线通信(例如,经由wifi、蜂窝、无线电等)。本文描述的任何或所有计算设备(例如,计算系统405、服务器系统900、客户端计算系统914等)也可以经由代理设备(例如,路由器、网络交换机或网关)与网络410的计算设备无线通信。
57.数据存储415可以是被配置为存储和/或保持本文描述的任何信息的数据库。数据存储415可以保持一个或多个数据结构,其可以包含、索引或以其他方式存储本文描述的值、多数、集合、变量、向量或阈值中的每一个。可以使用在数据存储415中保持的任何项目、结构或区域的一个或多个存储器地址、索引值或标识符来访问数据存储415。数据存储415可以由计算系统405的组件或本文描述的任何其他计算设备经由网络410访问。在一些实现方式中,数据存储415可以在计算系统405的内部。在一些实现方式中,数据存储415可以存在于计算系统405的外部,并且可以经由网络410访问。数据存储415可以分布在许多不同的计算机系统或存储元件上,并且可以经由网络410或合适的计算机总线接口来访问。计算系统405可以在计算系统405的存储器的一个或多个区域中或在数据存储415中存储任何或所有计算、确定、选择、识别、生成、构造的结果,或用适当的值索引或标识的一个或多个数据结构中的计算。存储在数据存储415中的任何或所有值可以由本文描述的任何计算设备(诸如计算系统405)访问,以执行本文描述的任何功能或功能。
58.客户端设备420可以包括至少一个处理器和存储器,例如处理电路。存储器可以存储处理器可执行指令,所述指令在由处理器执行时使处理器执行本文所述的一个或多个操
作。处理器可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器还可以包括软盘、cd-rom、dvd、磁盘、存储芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、闪存、光学介质,或处理器可以从中读取指令的任何其他合适的存储器。所述指令可以包括来自任何合适的计算机编程语言的代码。客户端设备420可以包括可以执行如本文所述的各种功能的一个或多个计算设备或服务器。客户端设备420可以包括任何或所有组件,并且执行下文结合图9描述的服务器系统900或客户端计算系统914的任何或所有功能。
59.客户端设备420可以被配置为在一个或多个图形用户接口(gui)中显示任何信息。gui可以是在客户端设备420上执行的一个或多个应用的一部分或呈现在其中,所述一个或多个应用诸如web浏览器、本机应用或其他种类的生物医学图像450查看应用。为了在gui中显示信息,客户端设备420可以访问例如来自其内部存储器的显示信息,该内部存储器对应于要在客户端设备420的显示器上呈现的像素。显示信息可以包括用于生成图形用户接口的不同显示形状、图像或其他方面的指令,所述图形用户接口可以包括一个或多个可执行对象,诸如图像块、按钮、滚动条、文本输入框、单机框、复选框以及其他可执行的输入对象。在一些实现方式中,客户端设备420可以从外部源(诸如计算系统405)接收显示信息的至少一部分。例如,客户端设备420可以经由网络410从计算系统405接收包括显示信息的一个或多个分组。
60.客户端设备420可以向计算设备发送用于显示信息的一个或多个请求,例如对应于放大倍数、坐标或其他图像参数的图像数据。客户端设备420发送的对显示信息的请求可以包括交互信息。例如,在接收到交互(例如,触摸点击、鼠标点击、拖动、鼠标双击、触摸双击等)时,客户端设备420可以发送包括交互信息的请求。在一些实现方式中,客户端设备420可以先处理交互以翻译或解码交互的类型,并且将解码的交互信息包括在对显示信息的请求中。例如,客户端设备420可以将与滚动条的交互转换为对当前未显示(例如,帧外等)的显示信息的请求,或者作为将当前显示信息平移或移动到客户端设备420的gui中的不同位置的请求。在发送对显示信息的一个或多个请求之后,客户端设备420可以从计算系统405接收包括所请求的显示信息的一个或多个响应(例如,生物医学图像450的一个或多个图块、生物医学图像450的一个或多个部分、对生物医学图像450等执行的一个或多个操作)。在一些实现方式中,客户端设备420可以处理检测到的交互并对本地存储的显示信息执行相应的期望操作。
61.数据存储415可以450保持一个或多个生物医学图像。生物医学图像450可以从一个或多个组织病理学图像制备器(诸如被配置为将图像数据转换成生物医学图像450格式的设备)接收。生物医学图像450可以描绘一个或多个像素中的组织样品的一个或多个部分。每个生物医学图像450的像素可以包含一个或多个颜色通道,所述一个或多个颜色通道定义像素坐标处的对应颜色值的强度。在一些实现方式中,生物医学图像450的每个像素的颜色通道可以是红色、绿色和蓝色(rgb)颜色通道。在一些实现方式中,生物医学图像450中的每个像素的颜色通道可以是青色、黄色、品红色和黑色(cymk)。在生物医学图像450是灰度图像的实现方式中,每个像素可以具有对应于黑色强度或白色强度之一的单个颜色通道。
62.在一些实施方案中,生物医学图像450可以根据显微镜技术或组织病理学图像制备器(诸如使用光学显微镜、共聚焦显微镜、荧光显微镜、磷光显微镜、电子显微镜等)生成或获取。生物医学图像450可以是例如具有苏木精和曙红(h&e)染色、含铁血黄素染色、苏丹染色、席夫染色、刚果红染色、革兰氏染色、齐尔-尼尔森染色、金胺-若丹明染色、三色染色、银染色和赖特染色等的组织学切片。生物医学图像450可以来自用于执行组织病理学调查的受试者(例如,人、动物或植物)的组织切片。组织样品可以来自受试者的任何部分,例如肌肉组织、结缔组织、上皮组织或在人或动物受试者的情况下的神经组织。
63.生物医学图像450可以以任何图像格式存储,例如png、jpeg、gig、tiff、pdf、raw、svs或其他格式,例如openslide图像。生物医学图像450可以存储在数据存储415中的一个或多个索引数据结构中,并且可以与各种值、参数或其他信息关联地存储,诸如图块位置(例如,被查看的部分或历史图块坐标和尺寸数据等)、部分位置(例如,生物医学图像450的特征的各个部分的位置和大小等)、颜色转换信息(例如,已经应用的颜色操作、颜色转换指令等)、图像源信息(例如,从哪个设备接收的生物医学图像450等)、注释信息(例如,注释数据455等)。每个生物医学图像450(以及任何对应的或相关联的信息)可以例如由计算系统405的任何组件、或系统400的任何其他计算设备(例如经由网络410或另一合适的通信总线)访问。
64.注释数据455可以存储在数据存储415中,例如与生物医学图像450相关联。如下文所述,计算系统405的组件可以生成生物医学图像450的注释数据455。注释数据455可以包括位图(bmp)信息,对应的生物医学图像450的标识符。注释数据455的位图信息可以被配置为使得位图中的每个像素对应于生物医学图像450的像素。因此,位图信息可以为相应的生物医学图像450提供像素准确的注释。位图信息的像素可以具有固定的位宽(例如,1位、2位、4位、8位、16位、32位等)。可以选择位图信息的位宽,使得位图信息可以表示所需的注释数据455量,而不过度利用计算机存储资源。例如,对于一些生物医学图像450,位宽可以是4位宽,并且因此可以使用注释信息来表示十六种不同的颜色。由位图中的像素表示的每个颜色可以被定义或与色表中的相应信息(例如,将像素(例如,0b0001)的颜色信息与渲染信息(例如,显示为红色等)相关联)或其他注释相关信息相关联。色表可以与注释数据455相关联地或作为注释数据的一部分存储。
65.图块识别器425可以从生物医学图像450的一部分识别一个或多个图块。为了从生物医学图像450的部分识别图块,图块识别器425可以访问数据存储415以检索生物医学图像450。在一些实现方式中,图块识别器425可以经由通信总线或经由网络410从另一计算设备接收生物医学图像450。从生物医学图像450,图块识别器425可以识别正在查看或分析的图像的一部分,或者被请求查看的图像的一部分,例如通过在计算系统405上或在客户端设备420上执行的应用程序。可以基于生物医学图像450的部分的中心(例如,生物医学图像450中的感兴趣位置的中心等)的像素坐标来识别该部分。例如,可以从在计算系统405上或在客户端设备420上执行的应用程序接收感兴趣的部分或位置的中心的坐标。在一些实现方式中,坐标可以是默认坐标(例如,如果没有从计算系统405或客户端设备420接收到坐标,则使用生物医学图像450的中心像素的坐标等)。
66.在生物医学图像450中的感兴趣的部分或位置的中心被识别之后,图块识别器425可以确定所识别的部分的宽度和高度信息。例如,该部分的宽度和高度可以对应于在计算
系统405或客户端设备420上执行的应用程序中显示或将显示的查看窗口。该部分的宽度和高度还可以对应于所请求的(例如,通过在计算系统405或客户端设备420上执行的应用程序)或默认的(例如,1x等)生物医学图像450的该部分的放大倍率。生物医学图像450的该部分的放大倍率可以对应于应用于生物医学图像450的该部分的缩放操作量。因此,在1x放大倍数下,生物医学图像450的部分可以对应于如果所识别的生物医学图像450的部分的坐标在应用的查看窗口中显示而不应用任何缩放操作的情况下将是可见的。图块识别器425可以提取(例如,复制到计算机存储器的不同区域等)生物医学图像450的被确定为生物医学图像450的所识别的部分的一部分的像素。
67.从生物医学图像450的部分,图块识别器425可以识别并提取识别生物医学图像450的不同放大倍率的子集的一个或多个图块。因此,图块可以是生物医学图像450的所识别的部分内的一个或多个像素,每个像素具有对应于生物医学图像450的不同分辨率或放大倍数的坐标和宽度。例如,可以从在客户端设备420上或在计算系统405上执行的应用程序接收由图块识别器425识别的图块的数量。由图块识别器425识别的图块的数量可以等于从在计算系统405或客户端设备420中的一个上执行的应用程序接收到的请求视图的数量。例如,图块识别器425可以接收对生物医学图像450的所识别的部分的六个不同视图的请求,并且然后可以识别生物医学图像450的所识别的部分的六个对应图块,每个图块具有所请求的放大倍率。在一些实现方式中,由图块识别器425识别的图块可以与生物医学图像450的识别的部分同步。例如,图块中的每一个可以描绘生物医学图像450的相同位置,但是处于不同的请求放大倍率。
68.每个放大倍率(例如,0.5x、1.0x、1.1x、1.5x、2.5x、5x、10x、15x、20x、30x、40x、其他放大倍数等)可以对应于生物医学图像450的渲染的相应比例。例如,以2x放大倍数渲染的生物医学图像450(或其任何部分或图块等)可以包括以两倍比例渲染的生物医学图像450的信息(例如,复制每个像素以匹配生物医学图像450的双倍分辨率版本等)。因为较大比例的生物医学图像450可能不必要地占用大量的存储空间(例如,在给定时间仅查看缩放的图像的一小部分,等等),图块识别器425可以识别对应于围绕期望坐标的生物医学图像450的按比例放大的查看区域的图块或区域。例如,请求应用程序的查看窗口(或其他gui元素等)可以被定义为具有特定尺寸。在这种情况下,图块识别器425可以识别并提取在期望坐标处且具有与所请求的放大系数和查看窗的显示尺寸均对应的多个像素的图块。
69.例如,与生物医学图像450的查看部分的坐标同步的所请求的放大图块可以在增大的放大倍率下被请求。通过使同一生物医学图像450的多个视图以变化的放大倍率进行查看,可以改善某些病理分析。因此,图块识别器425可以确定所提取的图块将被插入到的查看窗口(例如,或者延伸超过查看窗口的区域,诸如缓冲区等)的尺寸。作为非限制性示例,认为查看窗具有200像素乘以200像素的尺寸,但是应当理解,查看窗的任何尺寸都是可能的。如果对坐标处的放大图块的请求对应于2x放大倍数,则图块识别器425可以识别应当提取未被放大的生物医学图像450的100像素100的区域。然后,图块识别器425可以提取生物医学图像450的100像素乘100像素的区域,其中观察坐标位于区块的中心。然后可以将所识别的和提取的像素提供给显示提供器430以用于进一步处理。
70.尽管上文描述了2x放大倍数的示例情况,但是图块识别器425可以针对任何给定放大倍数确定要提取的像素的数量或区域。例如,所请求的查看大小(例如,gui元素大小或
缓冲区大小等)的每个维度可以除以放大系数,以得出每个维度中的像素数量(例如,x维度的像素数和y维度的像素数等)。在一些实现方式中,放大系数可以小于1x(例如,为0.5x)。此外,应当理解,所请求的坐标不需要标识图块的中心,而是可以标识图块中的任何其他位置,例如左上角、右上角、右下角或左下角等。可以在请求中指示所请求的坐标(例如,在生物医学图像450内等)对应的图块中的位置。
71.显示提供器430可以经由对应的gui元素(例如,窗口、框架、查看窗格或能够显示一个或多个图像的用户接口中的能够显示一个或多个图像其他区域等)提供由图块识别器425识别或提取的用于并发显示的一个或多个图块。如上所述,病理分析可以通过并发查看(例如在各种gui元素中)不同放大倍数的生物医学图像450的区域来改进。例如,可以选择一个gui元素作为基准gui元素或根gui元素,其可以对应于在例如由计算系统405或客户端设备420显示生物医学图像450时查看生物医学图像450的第一gui元素。基准gui元素,或提供gui元素的应用程序,可以包括一个或多个可执行对象,该对象可以发起对附加gui元素的请求,其可以包括对在指定放大系数下和在特定坐标处的图块或生物医学图像450的一部分的请求(例如,与显示生物医学图像450的一部分的基准gui元素的坐标、另一坐标等同步)。该请求可以由应用程序(例如,在客户端设备420或计算系统405中的一个上执行等)提供给图块识别器425以识别生物医学图像450的一个或多个图块,如本文上文所述。显示提供器430可以从图块识别器425接收图块,并且在图块上执行缩放操作(例如,将图像的大小加倍以进行2倍放大等)以增加图块的分辨率以匹配所请求的gui元素的分辨率。然后,显示提供器430可以向应用程序发送或以其他方式提供经缩放的图块以用于在gui元素中显示。在一些实现方式中,显示提供器430可以生成用于请求应用程序的指令,以在应用程序中实例化gui元素,并且在gui元素中渲染对应的图块。例如,如果gui元素是一个新窗口,则可以在gui元素的窗口内部显示对应的图块。在一些实现方式中,显示提供器430可以在提供用于在对应的gui元素中显示的图块之前改变图块的格式。
72.交互检测器435可以从一个或多个显示的gui元素中检测与gui元素的交互。交互可以在客户端设备420处发生,经由该客户端设备显示gui元素。交互可以包括触摸点击、鼠标点击、拖动、鼠标双击、滚动操作或触摸双击等等。某些交互可以包括请求的操作,例如平移操作或缩放操作。为了检测交互,交互检测器435可以实现一个或多个事件或交互监听器。事件或交互监听器可以监测与所显示的gui元素的交互消息,并且可以在交互发生时返回关于交互的信息(例如,坐标、持续时间、类型等)。交互检测器435可以检测与可执行对象的交互,所述交互对应于用于以指定的放大倍率和坐标来实例化显示生物医学图像450的图块的新gui元素的操作。
73.现在简要参考图5,描绘了根据说明性实施方案的生物医学图像450的多个图块和图形用户接口中的相应显示区域的框图表示。如图5所示,示出了具有对应的识别部分505的生物医学图像450。该部分例如可以对应于应用程序窗口515中显示的图块之一。所识别的部分可以具有对应的坐标(例如,生物医学图像450内的x和y坐标等)以及对应的宽度和高度。合在一起,部分505的坐标、宽度和高度可以表示生物医学图像450内的像素的连续区域。进一步描述,示出了从部分505识别图块510a-n(有时统称为图块510)。如由图块510的比例(例如,相对于其他图块510的尺寸)所指示的,每个图块可以表示生物医学图像450中的不同数量的像素。通常,如果每个图块被显示在类似尺寸的gui元素内,则具有更多像素
的图块占据更大的区域,并且可以指示比具有更少像素的图块更低的放大倍率。虽然在图5中仅描绘了三个图块510,应当理解,可以从生物医学图像450识别任何数量的图块。
74.如图5右侧所示,应用程序窗口515可以包括一个或多个gui元素520a-n(有时统称为gui元素520)。应用程序窗口515可以被提供用于向客户端设备420显示访问生物医学图像450的至少部分505。应用程序窗口515可以接收一个或多个交互,并且可以包含指示要在图块510上执行的操作类型的一个或多个可执行对象。每个gui元素520可以对应于相应的图块510(例如,gui元素520a可以对应于图块510a,gui元素520b可以对应于图块510b等)。每个gui元素可以具有尺寸(例如,宽度和高度等),以及一个或多个可执行对象,以控制gui元素的位置或尺寸,或取消gui元素(例如,停止gui元素显示等)。在一些实现方式中,gui元素可以具有与最小化操作相对应的可执行对象,在与该可执行对象交互时,对应的gui元素的显示被隐藏。每个gui元素可以包括显示gui元素对应的图块的查看部分。在一些实现方式中,可以选择一个gui元素作为基准gui元素,并且可以选择其中显示的图块作为基准图块。可以通过与gui元素的一个或多个交互或者与对应于相应gui元素的应用程序窗口515中的一个或多个可执行对象的一个或多个交互来选择基准gui元素。
75.现在回到图4,交互检测器435可以进一步检测要对当前渲染的gui元素执行的一个或多个操作,诸如平移操作。平移操作可以指示在不同的坐标但在相同的放大倍率查看生物医学图像450的不同部分的请求。例如,可以响应于鼠标点击和拖动操作、触摸点击和拖动操作或与一个或多个可执行对象(例如滚动条)的交互来提供平移操作。交互检测器435可以检测缩放操作、或者用于改变在对应的gui元素中渲染的图块的放大倍数的操作、以及本文描述的任何其他类型的交互。除了本文描述的任何其他类型的交互之外,可以响应于与对应于缩放操作的可执行对象的交互或者通过对gui元素的点击和拖动操作来检测缩放操作。交互检测器435可以进一步检测调整大小操作,该调整大小操作可以改变图块的大小(例如,相对于对应图块坐标渲染的像素的数量等),而不改变图块的坐标或图块的放大倍率。例如,调整大小操作可以被检测为与gui元素的角的点击和拖动操作(例如,调整gui元素的大小可以引起相应的操作请求来调整其中显示的图块的大小,等等)。在一些实现方式中,交互检测器435可以从客户端设备420接收关于一个或多个交互消息中的交互的信息。可以通过检测与跟对应于gui元素的取消操作相关联的一个或多个可执行对象的交互来检测取消gui元素的操作。
76.响应于指示与gui元素的平移或移动操作的交互,交互检测器435可以识别坐标改变以应用于在gui元素中显示的图块。移动或平移操作可以指示请求生物医学图像450的不同区域在对应的gui元素中以特定放大倍率显示。例如,平移或移动交互可以指示多个像素(例如,沿着x轴、y轴或两者)移动表示生物医学图像450的所显示图块的坐标。根据当前图块坐标和图块坐标改变量,交互检测器435可以确定从其识别图块的新坐标。在一些实现方式中,平移或移动交互可以指示从中识别或提取图块的生物医学图像450中的新坐标。
77.响应于与gui元素的缩放操作的交互指示,交互检测器435可以识别要从中识别或提取显示在gui元素中的图块的区域的坐标改变。在缩放操作之前,图块可以以第一放大倍率表示生物医学图像450的多个像素。如果请求改变该放大倍率(例如,响应于缩放交互等),则交互检测器435可以识别相对于应该在所请求的放大倍率上构成图块的坐标的多个像素。通过非限制性示例的方式,如果当前放大倍率是2x并且图块表示生物医学图像450的
100像素乘100像素的区域,并且检测到的缩放操作请求图块以4x显示,交互检测器435可以确定在所请求的缩放级别上图块应当包括生物医学图像450的50像素乘50像素的区域。应当理解的是,交互检测器435可以确定要针对放大倍数的任何改变提取的像素的数量或区域,例如通过将所请求的查看大小(例如,gui元素大小或缓冲区大小等)的每个维度除以所请求的放大系数以得出图块的各维度的像素数(例如,x维度的像素数和y维度的像素数等)。
78.如果一个或多个其他图块被同步到由平移或移动交互识别的图块,则图块修改器440可以基于针对图块识别的改变来确定应用于定义每个同步图块的坐标的对应改变。在对第一图块的坐标改变的情况下,图块修改器440可以确定与第一图块同步的其他显示图块中的每一个的坐标作为由交互检测器435针对第一图块识别的新坐标。在一些实现方式中,所有图块被同步,使得它们都以不同的放大倍数显示生物医学图像450的相同坐标。在一些实现方式中,每个图块可以具有其自己的独立坐标和放大倍率。在一些实现方式中,只有一个图块(例如,基准图块)可以接收平移、缩放或其他操作,并且其他图块相对于基准图块被同步。在一些其他实现方式中,任何图块可以接收移动或缩放操作,并且可以同步到在对应的gui元素中显示的任何数量的其他图块。在缩放操作的情况下,图块修改器440可以确定与其他图块中的每一个进行缩放同步的其他图块的放大倍数的相应改变。考虑一个示例,其中两个同步gui元素中有两个图块:一个放大倍数为2x,一个放大倍数为4x。如果2x图块接收到将放大倍率加倍至4x的请求,则4x放大倍率的同步图块也可以同时增加至8x(例如,放大倍率加倍)。
79.使用为每个同步图块确定的新放大倍率,图块修改器440可以确定生物医学图像450的新区域,从中识别并提取每个同步图块的像素。图块修改器440可以通过识别要在相对于图块坐标的矩形中显示的像素的数量(例如,在放大操作中不变)来确定由每个图块表示的区域。图块修改器440可以通过将所请求的查看大小(例如,gui元素大小或缓冲区大小等)的每个维度除以所请求的放大系数以得出图块的各维度的像素数(例如,x维度的像素数和y维度的像素数等),确定要针对放大倍数的任何改变提取的像素的数量或区域。应当理解,为了位置的目的而同步到另一图块的图块(例如,同步到生物医学图像450中的相同坐标)不一定同步到相同的放大倍率,反之亦然。例如,可以通过呈现gui元素的应用程序中的一个或多个可执行对象,或者通过一个或多个默认配置来指示或分配图块之间的同步。
80.显示提供器430可以使用为每个图块标识的新坐标和区域来更新相应gui元素中的图块的显示。显示提供器430可以从生物医学图像450提取要被更新的图块(例如,经受操作或与经受操作的图块同步等)的所请求区域的像素(例如,新识别的坐标和像素)。在从生物医学图像450中提取每个图块的新像素之后,显示提供器430可以在每个图块上执行缩放操作(例如,将图像的尺寸加倍以进行2倍放大等)以增加图块的分辨率以匹配对应的gui元素的分辨率。然后,显示提供器430可以向应用程序发送或以其他方式提供经缩放的图块以用于在gui元素中显示。在一些实现方式中,显示提供器430可以生成用于请求应用的指令,以使用新提取和缩放的图块来更新在每个gui元素中显示的图块,并且在gui元素中渲染对应的更新的图块。
81.现在简要参考图6,描绘了根据说明性实施方案的正在经历平移或缩放操作的生物医学图像450的一个或多个图块中的改变的框图。如图所示,至少一个图块510经受平移
操作。605.图6所示的平移操作指示构成生物医学图像450中的部分505的图块沿x轴的增加的坐标改变。因为每个图块510彼此同步,所以可以从生物医学图像450的部分的新位置检索来自每个图块的像素数据,但是以相同的放大倍数。因此,生物医学图像450的部分具有坐标改变并且占据生物医学图像450的不同部分505'。由于所有图块被同步到新位置,因此每个图块510被改变,使得它们包括不同部分505'的像素,而不是部分505的像素,并且因此被更新以成为更新的图块510'。每个更新的图块510'可以被提供用于在对应的gui元素中显示。
82.现在回到图4,在一些实现方式中,在提供用于在对应的gui元素中显示的图块之前,图块修改器440可以在对应于每个图块的生物医学图像450的一部分上应用颜色修改操作(有时在本文中称为假彩色表示或颜色校正),同时保持生物医学图像450的剩余部分而不进行颜色修改。生物医学图像450可以从各种不同的捕获设备捕获。然而,不同的捕获设备可能具有与其他捕获设备不同的颜色参数或值。为了便于分析,有利的是在单色空间中表示和显示生物医学图像450,使得使用第一捕获设备捕获的组织样品的图像具有与使用第二捕获设备捕获的组织样品的图像的颜色相匹配的颜色。为了校正任何类型的颜色不一致,图块修改器440可以为生物医学图像450的图块选择颜色修改选项。颜色修改选项可以包括可以应用于生物医学图像450中的像素以改变图像中的颜色的一个或多个颜色补偿系数(例如,可以添加到每个像素中的颜色通道强度值或乘以每个像素中的颜色通道强度值的值)。
83.在一些实现方式中,颜色修改选项的选择可以对应于生物医学图像450的源(例如,用于捕获生物医学图像450的捕获设备)。例如,生物医学图像450可以与用于生成生物医学图像450的捕获设备的标识符相关联地存储在数据存储415中。为了识别生物医学图像450的源,图块修改器440可以访问数据存储415以检索与生物医学图像450相关联地存储的捕获设备的标识符。使用标识符,图块修改器440可以从数据存储415检索并选择与标识符相对应的颜色修改选项。在一些实现方式中,颜色选项可以通过从一个或多个可执行对象接收的输入来手动选择或应用。
84.图块修改器440然后可以将所选择的颜色选项应用于生物医学图像450的对应于由计算系统405的组件识别的一个或多个图块的部分。例如,图块修改器440可以访问与用于构建图块的生物医学图像450的区域对应的生物医学图像450的像素。图块修改器440可以使用所选择的颜色修改中的颜色补偿系数来改变所识别的区域中的每个像素的一个或多个颜色通道强度值。在一些实现方式中,图块修改器440可以将每个像素中的颜色通道强度值乘以一个或多个颜色补偿值(例如,针对像素中的每个颜色强度值有一个颜色补偿值)。在一些实现方式中,图块修改器440可以将颜色补偿值添加到每个像素中的对应的一个或多个颜色通道强度值。因此,图块修改器440可以生成具有经校正颜色的生物医学图像450的一个或多个部分。然后,生物医学图像450的颜色校正部分可用于构建如上文所述的一个或多个图块,以生成经颜色校正的图块。一旦构建了经颜色校正的图块,显示提供器430就可以更新(例如,替换gui元素中的图块的显示等)对应的gui元素以显示经颜色校正的图块。
85.现在简要参考图7,描绘了根据说明性实施方案的正在经历颜色改变操作的生物医学图像450的一个或多个图块的框图。如图7所示,每个图块510描绘在颜色校正过程之前
的第一颜色的形状。此外,如图所示,每个图块510在不同放大倍率下对应于(例如,被同步)生物医学图像450的相同部分。操作715指示颜色改变操作,其可以包括对存在于生物医学图像450的对应于图块510的部分中的颜色值执行一个或多个变换(例如,乘法、加法等)。因此,如图7所示,通过颜色校正操作715更新每个图块510,以成为更新图块510*,以不同的放大倍数显示生物医学图像450的颜色校正部分。因为每个图块510是同步的,所以它们描绘了生物医学图像450的基本上相似的部分,但是具有不同的放大倍数。因此,在一个图块510a*中显示的经颜色校正的像素也至少在其他经同步的经颜色校正的图块510n*中显示。
86.现在回到图4,交互检测器435可以识别来自gui元素的注释。注释可以标识要被注释的对应gui元素中显示的图块的一个或多个像素坐标。例如,与gui元素的某些交互可以指示在生物医学图像450中的特定坐标处注释。注释对于病理分析是有用的,因为注释可以用于指示在生物医学图像450中表示的组织样品上的区域中存在感兴趣的状况。因为可能指示感兴趣的状况的特征可能很小,所以对于系统来说,在逐像素的基础上注释生物医学图像450是有利的。因此,交互检测器435可以检测在要被注释的gui元素中显示的图块中的像素的像素位置(例如,x坐标和y坐标等)。然后,可以通过交互检测器435将所接收的注释的坐标映射到生物医学图像450中的像素的对应位置。例如,考虑200像素乘200像素的生物医学图像450,以及表示生物医学图像450中在x轴上的从坐标100到149的像素、以及在y轴上从坐标100到149的像素的图块。在这个例子中,图块具有50像素乘50像素的尺寸。如果在图块的x轴上的坐标3和在图块的y轴上的坐标5上检测到注释,则交互识别器可以将注释映射到生物医学图像450中的在x轴上为103和y轴上为105的像素坐标。
87.在映射注释的位置时,图块修改器440可以在注释数据455中的映射像素坐标处存储颜色数据。注释数据455可以具有与生物医学图像450的尺寸相等的尺寸,并且可以与对应的生物医学图像450的标识符一起存储。因此,对应于生物医学图像450的注释数据455可以具有与对应的生物医学图像450的一对一像素映射。注释数据455对于注释数据455中的每个像素可以具有固定的位宽。当交互检测器435识别注释时,注释可以与对应的颜色或像素值(例如,固定宽度的比特串值等)相关联。颜色值可以手动选择,也可以基于默认配置自动选择。每个可选颜色值可以对应于颜色映射中标识的颜色,该颜色映射可以与注释数据455相关联地存储在数据存储415中。
88.颜色映射可以将可以由注释数据455表示的颜色值(例如,固定宽度的比特串值等)与显示颜色(例如,全rgb颜色通道像素值等)相关联。因此,注释数据455的颜色映射可以用作对应于每个可能的注释值的像素颜色值的查找表。例如,如果注释数据455中的每个像素由4比特宽的比特串表示,则颜色映射可以具有十五种不同的颜色,每种颜色对应于4比特像素的可能值之一,以及对应于没有注释的一种颜色(例如,0b0000等)。注释数据455的颜色映射可以基于默认配置自动生成,或者可以通过一个或多个gui元素或可执行对象手动指定。在一些实施方案中,可以使用索引颜色值来表示颜色值。索引颜色值可以包括对应于注释的相应颜色的值(例如,位或数字)。例如,注释的颜色值可以用4位来表示,其中对于注释,比特字“0000”表示红色,“1100”表示绿色,“0100”表示黄色。
89.使用颜色映射和注释数据455,显示提供器430可以更新在一个或多个gui元素中显示的图块以指示注释。在一些实现方式中,注释可以显示为生物医学图像450顶部的单独层。例如,可以通过每个gui元素中的一个或多个可执行对象来切换注释层的可见性。例如,
每个gui元素可以与“显示注释”按钮、“隐藏注释”按钮或“切换注释”按钮相关联。请注意,可执行对象的标签和类型仅用于示例目的,并且不应被解释为限制。当显示提供器430接收到显示注释信息的指示时,显示提供器430可以访问注释数据455和对应的颜色映射以识别用于注释的颜色。因此,当选择像素以形成用于显示信息的特定部分的图块时,显示提供器430可以确定注释是否存在于图块中的每个对应像素位置处。如果注释数据455存在于像素的坐标处,则显示提供器430可以修改图块中的对应像素以使其颜色通道值等于该像素处的注释数据455的颜色映射中的颜色通道值。同样,当注释数据455由交互检测器435更新时,显示提供器430可以更新同步图块中的对应像素,使得它们实时显示最新的注释信息。然后,显示提供器430可以提供更新的图块以用于在一个或多个gui元素中显示,如上文所描述的。
90.现在参考图8,描绘了根据说明性实施方案的用于提供生物医学图像的多个视图以用于并发显示的方法800的示例流程图。方法800可以例如由本文描述的任何计算系统执行,包括计算系统405、服务器系统900或客户端计算机系统914等。在简要概述中,计算系统(例如,计算系统405等)可以从生物医学图像的一部分识别图块(步骤805),应用颜色修改操作810(步骤810),提供图块用于并发显示(步骤815),检测与gui元素的交互(步骤820),识别第一图块的坐标改变(步骤825),确定其他图块的坐标改变(步骤830),更新图块在gui中的显示(步骤835),并且识别和添加一个或多个注释(步骤840)。
91.更详细地,计算系统(例如,计算系统405)可以从生物医学图像(例如,生物医学图像450等)的一部分识别图块(步骤805)。为了识别生物医学图像450的图块,计算系统可以访问数据存储(例如,数据存储415等)以检索生物医学图像。在一些实现方式中,计算系统可以经由通信总线或经由网络(例如,网络410等)从另一计算系统接收生物医学图像。从生物医学图像中,计算系统可以识别正在查看或分析的图像的一部分,或者被请求查看的图像的一部分,例如通过在计算系统上或在与计算系统通信的客户端设备(例如,客户端设备420等)上执行的应用程序。可以使用在该部分的中心(例如,感兴趣位置的中心等)处的像素坐标来识别该部分。例如,可以从在计算系统上执行的应用程序接收坐标。在一些实现方式中,坐标可以是默认坐标(例如,如果没有从应用程序接收到坐标,则使用生物医学图像的中心像素的坐标等)。
92.在所关注的部分或位置的中心(例如,或其他识别坐标等)被识别之后,图块识别器425可以确定所识别的部分的宽度和高度信息。所述部分的宽度和高度可以对应于在计算系统上执行的应用中显示或将显示的查看窗口。该部分的宽度和高度还可以对应于所请求的(例如,由在计算系统上执行的应用程序请求的)或默认的(例如,1x等)生物医学图像450的部分的放大倍率。生物医学图像450的该部分的放大倍率可以对应于应用于生物医学图像450的缩放操作量。因此,在1x放大倍数下,生物医学图像的所述部分可以对应于如果生物医学图像的所识别的坐标被显示在应用程序的查看窗口中并且应用任何缩放操作的情况下将是可见的。计算系统可以提取(例如,复制到计算机存储器的不同区域等)生物医学图像的像素,所述像素被确定为生物医学图像的所识别的部分的一部分。
93.从生物医学图像的所述部分,计算系统可以识别并提取以不同放大倍率识别生物医学图像的子集的一个或多个图块。图块可以是生物医学图像的所识别的部分内的一个或多个像素,每个像素具有对应于生物医学图像的不同分辨率或放大倍数的坐标和宽度。例
如,可以从在计算系统上执行的应用程序或从客户端设备接收由计算系统识别的图块的数量。由计算系统识别的图块的数量可以等于从应用程序接收的请求视图的数量。例如,计算系统可以接收对生物医学图像的所识别的部分的六个不同视图的请求,并且然后可以识别生物医学图像的所识别的部分的六个对应图块,每个图块具有所请求的放大倍率。在一些实现方式中,所述图块可以与所述生物医学图像的所识别的部分同步。例如,图块中的每一个可以描绘生物医学图像的相同位置,但是处于不同的请求放大倍率。计算系统可以识别并提取在期望坐标处且具有与所请求的放大系数和查看窗的显示尺寸两者相对应的多个像素的图块。
94.计算系统可以应用颜色修改操作810(步骤810)。计算系统可以为生物医学图像的图块选择颜色修改选项。颜色修改选项可以包括可以应用于生物医学图像中的像素以改变其像素颜色的一个或多个颜色补偿系数(例如,可以添加到每个像素中的颜色通道强度值或乘以每个像素中的颜色通道强度值的值)。在一些实现方式中,颜色修改选项的选择可以对应于生物医学图像的源(例如,用于捕获生物医学图像的捕获设备)。生物医学图像可以与用于生成生物医学图像的捕获设备的标识符相关联地存储在数据存储中。为了识别生物医学图像的源,计算系统可以访问数据存储以检索与生物医学图像相关联地存储的捕获设备的标识符。使用标识符,计算系统可以从数据存储检索并选择与标识符相对应的颜色修改选项。在一些实现方式中,颜色选项可以通过从一个或多个可执行对象接收的输入来手动选择或应用。
95.计算系统然后可以将所选择的颜色选项应用于生物医学图像的对应于由计算系统识别的一个或多个图块的部分。例如,计算系统可以访问与用于构建图块的生物医学图像的区域对应的生物医学图像的像素。计算系统可以使用所选择的颜色修改中的颜色补偿系数来改变所识别的区域中的每个像素的一个或多个颜色通道强度值。在一些实现方式中,计算系统可以将每个像素中的颜色通道强度值乘以一个或多个颜色补偿值(例如,针对像素中的每个颜色强度值有一个颜色补偿值)。在一些实现方式中,计算系统可以将颜色补偿值添加到每个像素中的对应的一个或多个颜色通道强度值。因此,计算系统可以生成具有经校正颜色的生物医学图像的一个或多个部分。然后,生物医学图像的颜色校正部分可用于构建如上文所述的一个或多个图块,以生成经颜色校正的图块。
96.计算系统可以在一个或多个gui元素中提供用于并发显示的图块(步骤815)。例如,可以选择一个gui元素作为基准gui元素或根gui元素,其可以对应于在显示生物医学图像时查看生物医学图像的第一gui元素。基准gui元素,或提供gui元素的应用程序,可以包括一个或多个可执行对象,该对象可以发起对附加gui元素的请求,其可以包括对在指定放大系数下和在特定坐标处的图块或生物医学图像的一部分的请求。该请求可以由应用程序提供给计算系统以识别生物医学图像的一个或多个图块,如上文所述(例如,经颜色校正的图块等)。计算系统可以从计算系统接收图块,并且在图块上执行缩放操作(例如,将图像的大小加倍以进行2倍放大等)以增加图块的分辨率以匹配所请求的gui元素的分辨率。然后,计算系统可以向应用程序发送或以其他方式提供经缩放的图块以用于在gui元素中显示。在一些实现方式中,计算系统可以生成用于请求应用程序的指令,以在应用程序中实例化gui元素,并且在gui元素中渲染对应的图块。
97.计算系统可以检测与gui元素的交互(步骤820)。交互可以包括触摸点击、鼠标点
击、拖动、鼠标双击、滚动操作或触摸双击等等。某些交互可以包括请求的操作,例如平移操作或缩放操作。为了检测交互,计算系统可以实现一个或多个事件或交互监听器。事件或交互监听器可以监测与所显示的gui元素的交互消息,并且可以在交互发生时返回关于交互的信息(例如,坐标、持续时间、类型等)。计算系统可以检测与可执行对象的交互,所述交互对应于用于以指定的放大倍率和坐标来实例化显示生物医学图像的图块的新gui元素的操作。
98.计算系统还可以检测要对当前渲染的gui元素执行的一个或多个操作,例如平移操作。平移操作可以指示在不同的坐标但在相同的放大级别查看生物医学图像的不同部分的请求。例如,可以响应于鼠标点击和拖动操作、触摸点击和拖动操作或与一个或多个可执行对象(例如滚动条)的交互来提供平移操作。计算系统可以检测缩放操作、或者用于改变在对应的gui元素中渲染的图块的放大倍数的操作、以及本文描述的任何其他类型的交互。除了本文描述的任何其他类型的交互之外,可以响应于与对应于缩放操作的可执行对象的交互或者通过对gui元素的点击和拖动操作来检测缩放操作。计算系统可以进一步检测调整大小操作,该调整大小操作可以改变图块的大小(例如,相对于对应图块坐标渲染的像素的数量等),而不改变图块的坐标或图块的放大倍率。例如,调整大小操作可以被检测为与gui元素的角的点击和拖动操作(例如,调整gui元素的大小可以引起相应的操作请求来调整其中显示的图块的大小,等等)。在一些实现方式中,计算系统可以(例如,从呈现gui元素的应用程序等)接收关于一个或多个交互消息中的交互的信息。
99.计算系统可以识别第一图块的坐标改变(步骤825)。移动或平移操作可以指示请求生物医学图像的不同区域在对应的gui元素中以特定放大倍率显示。例如,平移或移动交互可以指示多个像素(例如,沿着x轴、y轴或两者)移动表示生物医学图像的所显示的图块的坐标。根据当前图块坐标和图块坐标改变量,计算系统可以确定从其识别图块的新坐标。在一些实现方式中,平移或移动交互可以指示从中识别或提取图块的生物医学图像中的新坐标。
100.计算系统可以确定其他图块的坐标改变(步骤830)。如果一个或多个其他图块被同步到由平移或移动交互识别的图块,则计算系统可以基于针对图块识别的改变来确定应用于定义每个同步图块的坐标的对应改变。在对第一图块的坐标改变的情况下,计算系统可以确定与第一图块同步的其他显示图块中的每一个的坐标作为由交互检测器435针对第一图块识别的新坐标。在一些实现方式中,所有图块被同步,使得它们都以不同的放大倍数显示生物医学图像的相同坐标。在一些实现方式中,每个图块可以具有其自己的独立坐标和放大倍率。在一些实现方式中,只有一个图块(例如,基准图块)可以接收平移、缩放或其他操作,并且其他图块相对于基准图块被同步。在一些其他实现方式中,任何图块可以接收移动或缩放操作,并且可以同步到在对应的gui元素中显示的任何数量的其他图块。
101.计算系统可以更新gui中的图块的显示(步骤835)。计算系统可以从生物医学图像提取要被更新的图块(例如,经受操作或与经受操作的图块同步等)的所请求区域的像素(例如,新识别的坐标和像素)。在从生物医学图像中提取每个图块的新像素之后,计算系统可以在每个图块上执行缩放操作(例如,将图像的尺寸加倍以进行2倍放大等),以增加图块的分辨率以匹配对应的gui元素的分辨率。然后,计算系统可以向应用程序发送或以其他方式提供经缩放的图块以用于在gui元素中显示。在一些实现方式中,计算系统可以生成用于
请求应用的指令,以使用新提取和缩放的图块来更新在每个gui元素中显示的图块,并且在gui元素中渲染对应的更新的图块。
102.计算系统可以识别并添加一个或多个注释(步骤840)。计算系统可以检测要被注释的gui元素中显示的图块中的像素的像素位置(例如,x坐标和y坐标等)(例如,经由检测到的交互等)。然后,可以通过交互检测器435将所接收的注释的坐标映射到生物医学图像中的像素的对应位置。例如,考虑200像素乘200像素的生物医学图像,以及表示生物医学图像中在x轴上的从坐标100到149的像素、以及在y轴上从坐标100到149的像素的图块。在这个例子中,图块具有50像素乘50像素的尺寸。如果在图块的x轴上的坐标3和在图块的y轴上的坐标5上检测到注释,则计算系统可以将注释映射到生物医学图像中的在x轴上为103和y轴上为105的像素坐标。
103.在映射注释的位置时,计算系统可以在注释数据(例如,注释数据455)中的映射像素坐标处存储颜色数据。注释数据可以一对一像素映射对应于生物医学图像。注释数据对于注释数据中的每个像素可以具有固定的位宽。当计算系统识别注释时,注释可以与对应的颜色或像素值(例如,固定宽度的比特串值等)相关联。颜色值可以手动选择,也可以基于默认配置自动选择。每个可选颜色值可以对应于颜色映射中标识的颜色,该颜色映射可以与注释数据相关联地存储。颜色映射可以将可以由注释数据表示的颜色值(例如,固定宽度的比特串值等)与显示颜色(例如,全rgb颜色通道像素值等)相关联。因此,注释数据的颜色映射可以用作对应于每个可能的注释值的像素颜色值的查找表。例如,如果注释数据中的每个像素由4比特宽的比特串表示,则颜色映射可以具有十五种不同的颜色,每种颜色对应于4比特像素的可能值之一,以及对应于没有注释的一种颜色(例如,0b0000等)。注释数据的颜色映射可以基于默认配置自动生成,或者可以通过一个或多个gui元素或可执行对象手动指定。
104.使用颜色映射和注释数据,计算系统可以更新在一个或多个gui元素中显示的图块以指示注释。在一些实现方式中,注释可以显示为生物医学图像顶部的单独层。例如,可以通过每个gui元素中的一个或多个可执行对象来切换注释层的可见性。当计算系统接收到显示注释信息的指示时,计算系统可以访问注释数据和相应的颜色映射以识别要注释的颜色。因此,当选择像素以形成用于显示信息的特定部分的图块时,计算系统可以确定在图块中的每个对应像素位置处是否存在注释。如果注释数据存在于像素的坐标处,则计算系统可以修改图块中的对应像素以使其颜色通道值等于该像素处的注释数据的颜色映射中的颜色通道值。同样,当注释数据由计算系统更新时,计算系统可以更新同步图块中的对应像素,使得它们实时显示最新的注释信息。然后,计算系统可以提供更新的图块以用于在一个或多个gui元素中显示,如上文所述。c.计算和网络环境
105.本文描述的各种操作可以在计算机系统上实现。图9示出了可用于实现本公开文本的某些实施方案的代表性服务器系统900、客户端计算机系统914和网络929的简化框图。在各种实施方案中,服务器系统900或类似系统可以实现本文所述的服务或服务器或其部分。客户端计算系统914或类似系统可以实现本文所述的客户端。本文描述的系统400可以类似于服务器系统900。服务器系统900可以具有包括多个模块902(例如,刀片服务器实施方案中的刀片)的模块化设计;虽然示出了两个模块902,但是可以提供任何数量的模块。每
个模块902可以包括一个或多个处理单元904和本地存储906。
106.一个或多个处理单元904可以包括单个处理器(其可以具有一个或多个核)或者多个处理器。在一些实施方案中,一个或多个处理单元904可以包括通用主处理器以及诸如图形处理器、数字信号处理器等的一个或多个专用协处理器。在一些实施方案中,一些或所有处理单元904可以使用定制电路来实现,诸如专用集成电路(asic)或现场可编程门阵列(fpga)。在一些实施方案中,这种集成电路执行存储在电路本身上的指令。在其他实施方案中,一个或多个处理单元904可以执行存储在本地存储906中的指令。任何组合中的任何类型的处理器都可以包括在一个或多个处理单元904中。
107.本地存储906可以包括易失性存储介质(例如,dram、sram、sdram等)和/或非易失性存储介质(例如,磁盘或光盘、闪存等)。合并在本地存储906中的存储介质可以根据需要是固定的、可移动的或可升级的。本地存储906可以物理地或逻辑地划分成各种子单元,诸如系统存储器、只读存储器(rom)和永久存储设备。系统存储器可以是读写存储器设备或易失性读写存储器,例如动态随机存取存储器。系统存储器可以存储一个或多个处理单元在运行时904需要的一些或全部指令和数据。rom可以存储一个或多个处理单元904所需的静态数据和指令。永久存储设备可以是非易失性读写存储器设备,其即使在模块902断电时也可以存储指令和数据。如本文所使用的术语“存储介质”包括其中数据可以被无限期地存储(经受重写、电干扰、功率损耗等)的任何介质,并且不包括无线传播或通过有线连接传播的载波和暂时性电子信号。
108.在一些实施方案中,本地存储906可以存储要由一个或多个处理单元904(诸如操作系统)执行的一个或多个软件程序和/或实现各种服务器功能(诸如图4的系统400或本文所述的任何其他系统、或与本文所述的系统400或任何其他系统相关联的任何其他服务器的功能)的程序。
[0109]“软件”通常指指令序列,指令序列在由一个或多个处理单元904执行时,使服务器系统900(或其部分)执行各种操作,从而定义执行和实行软件程序的操作的一个或多个特定机器实施方案。指令可以被存储为驻留在只读存储器中的固件和/或存储在非易失性存储介质中的程序代码,所述程序代码可以被读取到易失性工作存储器中以由一个或多个处理单元904执行。软件可以实现为单个程序或根据需要进行交互的单独程序或程序模块的集合。一个或多个处理单元904可以从本地存储906(或下面描述的非本地存储)检索要执行的程序指令和要处理的数据,以便执行上述各种操作。
[0110]
在一些服务器系统900中,多个模块902可以经由总线或其他互连908来互连,从而形成支持模块902与服务器系统900的其他组件之间的通信的局域网。互连908可以使用包括服务器机架、集线器、路由器等的各种技术来实现。
[0111]
广域网(wan)接口910可以提供局域网(互连908)和诸如因特网的网络929之间的数据通信能力。可以使用包括有线(例如,以太网、ieee 802.3标准)和/或无线技术(例如,wi-fi、ieee 802.11标准)的技术。
[0112]
在一些实施方案中,本地存储906旨在为一个或多个处理单元904提供工作存储器,提供对要处理的程序和/或数据的快速访问,同时减少互连908上的业务。可以通过一个或多个连接到互连908的大容量存储子系统912在局域网上提供用于较大量数据的存储。大容量存储子系统912可以基于磁、光、半导体或其他数据存储介质。可以使用直接连接存储、
存储区域网络、网络连接存储等。本文描述为由服务或服务器产生、消耗或维护的任何数据存储或其他数据集合可以存储在大容量存储子系统912中。在一些实施方案中,额外的数据存储资源可以经由wan接口910(潜在地具有增加的等待时间)可访问。
[0113]
服务器系统900可以响应于经由wan接口910接收的请求而操作。例如,模块902中的一个可以实现监督功能并响应于接收到的请求将离散任务分配给其他模块902。可以使用工作分配技术。当处理请求时,可以通过wan接口910将结果返回给请求者。这种操作通常可以是自动化的。此外,在一些实施方案中,wan接口910可以将多个服务器系统900彼此连接,从而提供能够管理大量活动的可扩展系统。可以使用用于管理服务器系统和服务器场(协作的服务器系统的集合)的其他技术,包括动态资源分配和重新分配。
[0114]
服务器系统900可以经由诸如因特网的广域网与各种用户拥有或用户操作的设备交互。在图9中示出了用户操作的设备作为客户端计算系统914的示例。客户端计算系统914可以被实现为例如消费者设备,诸如智能电话、其他移动电话、平板计算机、可穿戴计算设备(例如,智能手表、眼镜)、台式计算机、膝上型计算机等。
[0115]
例如,客户端计算系统914可以经由wan接口910进行通信。客户端计算系统914可以包括计算机组件,诸如一个或多个处理单元916、存储设备918、网络接口920、用户输入设备922和用户输出设备924。客户端计算系统914可以是以各种形状因素实现的计算设备,诸如台式计算机、膝上型计算机、平板计算机、智能电话、其他移动计算设备、可穿戴计算设备等。
[0116]
处理器916和存储设备918可以类似于上述一个或多个处理单元904和本地存储906。可以基于对客户端计算系统914的要求来选择合适的设备;例如,客户端计算系统914可以被实现为具有有限处理能力的“瘦”客户端或被实现为高功率计算设备。客户端计算系统914可以被提供有可由一个或多个处理单元916执行的程序代码,以实现与服务器系统900的各种交互。
[0117]
网络接口920可以提供到网络929的连接,所述网络例如为广域网(例如,因特网),服务器系统900的wan接口910也连接到该广域网。在各种实施方案中,网络接口920可以包括有线接口(例如,以太网)和/或实现各种rf数据通信标准(例如,wi-fi、蓝牙或蜂窝数据网络标准(例如,3g、4g、lte等))的无线接口。
[0118]
用户输入设备922可以包括用户可以经由其向客户端计算系统914提供信号的任何一个或多个设备;客户端计算系统914可以将信号解释为指示特定用户请求或信息。在各种实施方案中,用户输入设备922可以包括键盘、触摸板、触摸屏、鼠标或其他定点设备、滚轮、点击轮、拨盘、按钮、开关、小键盘、麦克风等中的任何一个或全部。
[0119]
用户输出设备924可以包括客户端计算系统914可以经由其向用户提供信息的任何设备。例如,用户输出设备924可以包括显示器以显示由客户端计算系统914生成或传递给所述客户端计算系统的图像。显示器可以结合各种图像生成技术,例如液晶显示器(lcd)、包括有机发光二极管(oled)的发光二极管(led)、投影系统、阴极射线管(crt)等,以及支持电子设备(例如,数模或模数转换器、信号处理器等)。一些实施方案可以包括诸如触摸屏之类的设备,该设备既用作输入设备又用作输出设备。在一些实施方案中,除了显示器之外或代替显示器,可以提供其他用户输出设备924。示例包括指示灯、扬声器、触觉“显示”设备、打印机等。
[0120]
一些实施方案包括电子组件,诸如在计算机可读存储介质中存储计算机程序指令的微处理器、存储装置和存储器。本说明书中描述的许多特征可以被实现为被指定为在计算机可读存储介质上编码的一组程序指令的过程。当这些程序指令由一个或多个一个或多个处理单元执行时,它们使一个或多个处理单元执行程序指令中指示的各种操作。程序指令或计算机代码的例子包括诸如由编译器产生的机器代码,以及包括由计算机、电子组件或微处理器使用解释器执行的高级代码的文件。通过适当的编程,一个或多个处理单元904和916可以为服务器系统900和客户端计算系统914提供各种功能,包括本文描述为由服务器或客户端执行的任何功能,或其他功能。
[0121]
应当理解,服务器系统900和客户端计算系统914是说明性的,并且变化和修改是可能的。结合本公开文本的实施方案使用的计算机系统可以具有在此未具体描述的其他能力。此外,虽然参考特定框描述了服务器系统900和客户端计算系统914,但是应当理解,这些框是为了便于描述而定义的,并且不旨在暗示组件的特定物理布置。例如,不同的框可以但不必位于同一设施中、同一服务器机架中或同一主板上。此外,框不需要对应于物理上不同的组件。框可以被配置为执行各种操作,例如,通过对处理器进行编程或提供适当的控制电路,并且取决于如何获得初始配置,各种框可以是可重配置的,也可以不是可重配置的。本公开文本的实施方案可以在包括使用电路和软件的任何组合实现的电子设备的各种装置中实现。
[0122]
虽然已经针对具体实施方案描述了本公开文本,但是本领域技术人员将认识到,许多修改是可能的。可以使用多种计算机系统和通信技术来实现本公开文本的实施方案,包括但不限于本文描述的特定示例。可以使用专用组件和/或可编程处理器和/或其他可编程设备的任何组合来实现本公开文本的实施方案。本文描述的各种过程可以以任何组合在相同的处理器或不同的处理器上实现。在组件被描述为被配置为执行某些操作的情况下,可以例如通过设计用于执行操作的电子电路、通过编程用于执行操作的可编程电子电路(诸如微处理器)或其任何组合来实现这种配置。此外,虽然上述实施方案可以参考特定的硬件和软件组件,但是本领域技术人员将理解,也可以使用硬件和/或软件组件的不同组合,并且描述为在硬件中实现的特定操作也可以在软件中实现,反之亦然。
[0123]
结合了本公开文本的各种特征的计算机程序可以被编码并存储在各种计算机可读存储介质上;合适的介质包括磁盘或磁带、诸如光盘(cd)或dvd(数字多功能盘)的光学存储介质、闪存和其他非暂时性介质。用程序代码编码的计算机可读介质可以与兼容的电子设备封装在一起,或者程序代码可以与电子设备分开提供(例如,通过因特网下载或作为单独封装的计算机可读存储介质)。
[0124]
因此,尽管已经关于特定实施方案描述了本公开文本,但是应当理解,本公开文本旨在覆盖在所附权利要求的范围内的所有修改和等同物。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献