CN117015812A - 用于对数据点进行聚类的系统 - Google Patents
用于对数据点进行聚类的系统 Download PDFInfo
- Publication number
- CN117015812A CN117015812A CN202280022597.2A CN202280022597A CN117015812A CN 117015812 A CN117015812 A CN 117015812A CN 202280022597 A CN202280022597 A CN 202280022597A CN 117015812 A CN117015812 A CN 117015812A
- Authority
- CN
- China
- Prior art keywords
- candidate
- data points
- cluster
- client device
- clusters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 103
- 238000012545 processing Methods 0.000 claims description 7
- 239000000523 sample Substances 0.000 description 79
- 230000008569 process Effects 0.000 description 27
- 238000004422 calculation algorithm Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 239000012472 biological sample Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012800 visualization Methods 0.000 description 5
- 239000003086 colorant Substances 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000000386 microscopy Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000000799 fluorescence microscopy Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000012984 biological imaging Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/7625—Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/41—Medical
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Multimedia (AREA)
- Mathematical Analysis (AREA)
- Operations Research (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Algebra (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了用于对数据点进行聚类的计算机系统和方法。该系统包括计算机服务器和客户端装置,其中,计算机服务器被配置为:存储包括多个数据点的数据集;确定多个数据点的多个候选簇,其中每一个候选簇对应于多个数据点的相应集合;针对每一个候选簇,确定该候选簇的一个或多个属性;以及向客户端装置传输多个数据点的样本、指示多个候选簇的信息以及指示针对每一个候选簇确定的一个或多个属性的信息。客户端装置被配置为:接收数据点的样本、指示多个候选簇的信息以及指示针对每一个候选簇确定的一个或多个属性的信息;确定簇约束,其中,簇约束与每一个候选簇的一个或多个属性中的至少一个相关;从多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的至少一个属性满足所确定的簇约束,并且其中,来自数据点的样本的每一个数据点属于一个或多个所选候选簇中的至多一个;以及基于一个或多个所选候选簇生成输出。
Description
技术领域
本发明涉及用于对数据点进行聚类以便于数据可视化和分析的计算机系统和方法。
背景技术
聚类算法通常用于在数据点形成密集区域的情形下分析数据,作为将数据点划分为被称为簇的数据点的组的方式。作为示例,在单分子定位显微术(SMLM)的领域,记录图像中的单个数据点可以对应于估计的荧光团位置,使得数据点的簇可以表示生物结构(例如,蛋白质或其它生物分子)。一旦生物结构的特性已经被表征,这就可以给出关于(例如,在细胞中的)纳米级相互作用的有价值信息。然而,寻找簇是固有的主观任务,因为在大多数真实的数据集中,点可以在不同长度尺度下形成簇,使得没有一个将点划分为簇的方法可以精确地捕捉到该信息。因此,不存在不包括对簇的数量或对所期望的簇的性质的一些描述做出假设的参数的常用聚类算法。代替具有在所有情况下都起作用的通用参数集,在文献中提出了两种主要的解决方案。
第一种解决方案是利用不同的参数多次运行聚类算法,并选择一组参数,在该组参数中结果相对于改变参数特别稳定(这通常被称为肘部法则(elbow method))。然而,该处理仍然是主观的,并且对于许多数据集,可能不存在一个明确的点来满足该标准。此外,对于较大的数据集,多次运行算法的计算成本可能会令人望而却步。
在HDBSCAN聚类算法中采用第二种解决方案,其包括构建分层的候选簇集,随后选择被认为是最优的特定候选簇子集。HDBSCAN聚类算法例如在R.Campello,D Moulavi和J.Sander的公开“Density-Based Clustering Based on Hierarchical DensityEstimates”(Advances in Knowledge Discovery and Data Mining,pp 160-172,2013年4月),以及在以下网页上进行描述:https://hdbscan.readthedocs.io/en/latest/how_hdbscan_works.html。HDBSCAN聚类算法的缺点是运行的计算成本高,并且具有高峰值存储器需求(其存储器需求在待聚类的数据点的数量上是超线性的),这可能会限制其采用。
本发明已经根据上述考虑进行了设计。
发明内容
最普遍地,本发明提供了一种用于对数据点的集合进行聚类的系统,其便于数据点的实时交互式聚类。根据本发明,在计算机服务器处为该数据点集合预先计算候选簇集合,以及每一个候选簇的一个或多个属性。随后,将候选簇集合、它们的确定的属性以及数据点的样本传输到客户端装置。随后,客户端装置可以基于所确定的候选簇属性以及在客户端装置处确定的簇约束(例如,基于在客户端装置处进行的用户输入),来从候选簇集合中选择一个或多个簇。随后,客户端装置可以基于所选候选簇生成输出,例如,其可以根据所选候选簇显示数据点的样本。换句话说,计算候选簇及其属性的处理和存储器密集步骤在计算机服务器处远程地执行,而选择候选簇中的一个或多个候选簇的不太密集的步骤在客户端装置处执行。
以这种方式,一旦客户端装置从计算机服务器接收到候选簇集合及其属性,数据点的样本就能够在客户端装置处被交互式地聚类。这可以显著地减少客户端装置处的计算负荷,因为所有候选簇及其属性都是在计算机服务器处预先计算的。此外,由于在计算机服务器处计算候选簇及其属性,因此客户端装置不需要存储数据点的整个集合,使得仅需要向客户端装置提供数据点的样本(例如,其子集)。这可以减少客户端装置的存储器需求,以及便于客户端装置处的大的数据点集合的聚类。特别地,候选簇可以在客户端装置处被选择和可视化,而不必在客户端装置处存储数据点的整个集合。由于客户端装置处的计算负荷降低,因此客户端装置处的候选簇的选择可能不需要专用的软件,并且例如可以使用web浏览器来执行。这可以使得能够使用各种各样的(非专用)客户端装置来执行数据聚类,以及便于共享数据和聚类结果。
根据本发明的第一方面,提供了一种客户端装置,其被配置为:从计算机服务器接收数据点的样本、指示多个候选簇的信息以及指示每一个候选簇的一个或多个属性的信息,其中,每一个候选簇对应于数据点的样本的相应集合;确定簇约束,其中,簇约束与所述一个或多个属性中的至少一个相关;从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自数据点的样本的每一个数据点属于一个或多个所选候选簇中的至多一个;以及基于所述一个或多个所选候选簇生成输出。
客户端装置可以是任何合适的计算装置,诸如台式计算机、膝上型计算机、平板计算机或智能电话。客户端装置可以具有处理器和存储器,该存储器具有存储在其上的计算机可执行的指令,当由处理器执行时,该计算机可执行的指令使得客户端装置执行所公开的步骤。
计算机服务器可以是任何合适的计算系统,其被配置为确定所述多个候选簇和指示每一个候选簇的一个或多个属性的信息,如下面更详细讨论的那样。计算机服务器可以是远程服务器,诸如云服务器。
客户端装置可以被配置为与计算机服务器通信,即,使得其可以从计算机服务器接收数据并且向计算机服务器发送数据。客户端装置和计算机服务器可以经由任何合适的通信网络通信地联接,所述通信网络例如是因特网、无线网络(例如,Wi-Fi网络等)或有线网络(例如,以太网网络等)。
数据点的样本可以包括大量(即,多个)数据点。数据点可以对应于坐标系中的点(例如,在二维或三维坐标系中)。因此,数据点的样本可以被提供为一系列数据点坐标,其包括样本中的每一个数据点的一组坐标。
数据点的样本可以是来自一数据集的样本,所述数据集包括存储在计算机服务器处的多个数据点。因此,在客户端装置处接收的数据点的样本可以对应于存储在计算机服务器处的完整数据集的子集(或子样本)。以这种方式,完整数据集不需要被传输到客户端装置并存储在该客户端装置处。这可以减少客户端装置处所需的存储器数量,以及减少需要从计算机服务器传输到客户端装置的数据量。
指示所述多个候选簇的信息可以指示与数据点的样本相对应(并且同样与存储在计算机服务器处的所述多个数据点相对应)的一个或多个候选簇。例如,针对每一个候选簇,信息可以指示数据点样本中的哪些数据点属于该候选簇。
在本文中,簇通常可以指一组数据点。候选簇可以对应于来自数据点的样本(以及同样来自存储在计算机服务器处的所述多个数据点)的一组数据点,这是数据点的可能聚类结果。给定数据点可以属于多个候选簇,其可以具有不同的形状和大小(即,对应于不同数量的数据点)。
指示每一个候选簇的一个或多个属性的信息可以包括每一个候选簇的一个或多个属性的集合。指示所述一个或多个属性的信息可以指示每一个候选簇的所述一个或多个属性中的每一个属性的值。所述一个或多个属性可以涉及候选簇的可以用于表征候选簇的任何属性或参数。作为示例,所述一个或多个属性可以包括以下中的一个或多个:候选簇中的数据点的数量、候选簇的偏斜(skew)、候选簇的圆形度、候选簇的密度、候选簇的面积、候选簇的体积、候选簇的回转半径和/或候选簇的长度。候选簇的其它属性也是可能的。因此,例如,由客户端装置接收的信息可以指示每一个候选簇中数据点的数量,以及每一个候选簇的回转半径。可以使用常规计算技术为候选簇确定这些属性。候选簇的所有属性由计算机服务器使用存储在计算机服务器处的完整数据集来计算。由于客户端装置本身不需要计算候选簇的属性,因此它可能不需要访问完整的数据集,使得仅需要将存储在计算机服务器处的所述多个数据点的样本传输到客户端装置。
候选簇的偏斜可以对应于该候选簇的长轴与短轴的比率。候选簇的圆形度可以对应于候选簇的圆形度的度量(例如,其中值1对应于圆,并且较低值被分配给形状更不规则的簇)。候选簇的密度可以对应于候选簇中的数据点的数量除以簇的面积(其中数据点在二维空间中)或簇的体积(其中数据点在三维空间中)。候选簇的面积可以对应于该候选簇在其上延伸的面积,并且可以例如从候选簇的凸包来计算。可替代地,候选簇的面积可以对应于离散面积,例如,其中基于将其数据点合并(bin)为像素来测量候选簇。候选簇的回转半径可以对应于到某一点的径向距离,如果候选簇的总质量集中在该点(例如,假设候选簇中的每一个数据点具有单位质量),则该点将具有与候选簇的实际质量分布相同的惯性矩。候选簇的长度可以对应于候选簇的最长轴的长度。
在接收到数据点的样本、指示所述多个候选簇的信息以及指示每一个候选簇的所述一个或多个属性的信息之后,客户端装置确定簇约束。簇约束可以作为对候选簇的至少一个属性的约束,使得不满足簇约束的候选簇不被选择。以这种方式,可以容易地拒绝不满足簇约束的候选簇,这可以便于选择候选簇中的一个或多个。在一些情况下,这可以用于减少客户端装置上的用于选择所述一个或多个候选簇的处理负荷,因为客户端装置能够有效地不考虑不满足簇约束的任何候选簇。
客户端装置可以被配置为,对于每一个候选簇,将所述至少一个属性与簇约束进行比较,以确定该候选簇是否满足簇约束。如果候选簇不满足簇约束,则它可以被拒绝(即,它未被选择)。客户端装置随后可以被配置为从剩余候选簇(即,已经被确定为满足簇约束的那些簇)中选择一个或多个候选簇。例如,簇约束可以对应于候选簇的最小长度。随后,可以拒绝具有长度小于最小长度的每一个候选簇,并且客户端装置可以从剩余候选簇(即,具有比最小长度更长的长度的那些候选簇)中选择一个或多个候选簇。
在一些情况下,簇约束可以涉及候选簇的多个属性,即,可以为候选簇的一个或多个属性确定约束。例如,簇约束可以涉及候选簇中的数据点的数量以及候选簇的长度(或者候选簇的属性的任何其它组合,其中针对候选簇从计算机服务器接收信息)。
簇约束可以对应于候选簇的至少一个属性的值(例如,阈值)或值的范围。例如,在簇约束对应于所述至少一个属性的值的范围的情况下,可以拒绝其至少一个属性不具有在值的范围内的值的候选簇。
可以以任何合适的方式确定簇约束。在一些情况下,客户端装置可以被配置为自动确定簇约束,或者客户端装置可以被配置具有默认的簇约束。额外地或可替代地,如下所述,可以基于在客户端装置处进行的用户输入来确定簇约束。
一旦确定了簇约束,客户端装置就从所述多个候选簇中选择一个或多个候选簇。如上所述,该步骤可以包括拒绝候选簇,其中它们的至少一个属性不满足簇约束。随后,可以从剩余候选簇中选择所述一个或多个候选簇。可以使用各种方法来选择所述一个或多个候选簇,这些方法提供了鉴于所确定的簇约束的候选簇的最佳选择,下面讨论其中的一些。
选择所述一个或多个候选簇,使得来自数据点的样本的每一个数据点属于所述一个或多个所选候选簇中的至多一个。换句话说,数据点仅可以出现在单个所选候选簇中。因此,所述一个或多个所选候选簇对应于互斥的数据点集。这可以避免选择重叠或冲突的候选簇。然而,应该注意,不是每一个数据点都必须出现在所选候选簇中的一个中。
一旦已经选择了一个或多个候选簇,客户端装置就基于所选候选簇生成输出。所生成的输出可以采取各种形式。例如,客户端装置可以被配置为存储指示所述一个或多个所选候选簇的数据,和/或客户端装置可以被配置为显示指示所述一个或多个所选候选簇的信息。以这种方式,客户端装置的用户可以被通知候选簇,并且可以基于聚类结果来执行对数据点的进一步分析。这也可以使用户能够评估聚类结果是否可接受,或者数据点是否需要被重新聚类,在这种情况下,可以确定新的簇约束并且可以选择另一候选簇集。由于候选簇及其属性存储在客户端装置中,因此客户端装置可以容易地重新运行聚类处理(例如,通过确定新的簇约束并选择新的候选簇集合),从而实现了数据点的基本上实时的聚类。特别地,假设候选簇及其属性是预先计算的,则可以在客户端装置处利用不同的簇约束来对数据点进行重新聚类,而不必每次都计算新的候选簇。显示指示所述一个或多个所选候选簇的信息可以包括显示各种类型的信息。例如,这种信息可以包括直方图和/或散点图,其可以示出与所选候选簇相关的特征(例如,每一个候选簇的数据点的数量相对于所有所选候选簇的面积)。当用户将光标悬停在所选候选簇上时,可以在窗口(例如,工具提示)中显示关于所选候选簇的信息。
客户端装置可以被配置为可以在客户端装置的浏览器(即,web浏览器)中执行确定簇约束、选择所述一个或多个候选簇以及生成输出的处理。特别地,由于这些处理可能不是特别资源密集的(与计算候选簇及其属性相比),因此它们可能不需要专用软件并且可以在常规浏览器中执行。可以将适合的脚本或算法加载到浏览器中,以使浏览器能够执行期望的处理。例如,客户端装置可以从计算机服务器接收(例如,下载)脚本或算法。
客户端装置可以被配置为基于在客户端装置处接收的用户输入来确定簇约束。以这种方式,用户可以控制用于选择候选簇的簇约束。用户输入可以指示簇约束,使得用户能够直接设置簇约束。因此,用户可以调整簇约束,以检查这如何改变选择哪些候选簇,使得它们可以达到最佳聚类结果。鉴于可以在客户端装置处执行的快速数据聚类,这可以使用户能够在客户端装置处交互性地基本上实时地对数据进行聚类。
客户端装置可以包括用于接收用户输入的用户界面。用户界面可以由一个或多个按钮、小键盘和/或触摸屏提供。
客户端装置可以被配置为显示用于接收用户输入的用户界面,其中,用户界面被布置为使得能够选择所述至少一个属性的值或值的范围,并且其中,客户端装置被配置为基于经由用户界面选择的所述至少一个属性的值或值的范围来确定簇约束。用户界面可以显示在客户端装置的显示器(或屏幕)上。在一些情况下,用户界面可以显示在客户端装置上的浏览器中。可以基于从计算机服务器接收的指示每一个候选簇的一个或多个属性的信息来生成用户界面。以这种方式,用户界面可以被定制为可用属性,使得用户能够选择相关的簇约束。例如,如果指示每一个候选簇的一个或多个属性的信息涉及候选簇的长度和候选簇的回转半径,则可以生成用户界面,以使得用户能够选择候选簇的长度的值或值的范围以及候选簇的回转半径的值或值范围。
用户界面可以作为网站来提供,该网站被托管在远程服务器处。网站可以被托管在存储有所述多个数据点的计算机服务器处,或者它可以被托管在与上述计算机服务器分离的另一远程服务器处。网站可以由客户端装置使用统一资源定位符(URL)来访问。作为示例,用户界面可以由在远程服务器处托管的应用程序(诸如JavaScript应用程序)提供。
有利地,候选簇的属性可以容易地由用户解释,即使它们不是数据聚类领域的专家。因此,通过使用户能够根据候选簇的属性来设置簇约束,不是数据聚类领域专家的用户可以容易地对数据集执行聚类处理。相反,使用诸如HDBSCAN的常规技术,用户必须设置较不容易解释的算法的参数,因为它们不直接与簇属性相关。因此,需要对聚类算法有良好的了解以便利用这样的算法,这可能限制它们的采用。
客户端装置可以被配置为,针对数据点的样本中的每一个数据点:确定数据点是否是所选候选簇中之一的一部分;以及基于该确定向数据点分配标签。标签可以对应于由客户端装置生成的输出。以这种方式,样本中的每一个数据点可以根据其是否属于所选候选簇而进行标记,并且如果是,则标记该数据点属于哪个所选候选簇。这可以便于根据所选候选簇来识别数据点,这可以便于所选簇的进一步分析和可视化。例如,如果数据点被确定为所选候选簇中之一的一部分,则该数据点可以被分配标识所选候选簇的标签,所述数据点是所述所选候选簇的一部分。另一方面,如果数据点被确定为不是所选候选簇中之一的一部分,则数据点可以被分配指示它不是所述一个或多个所选候选簇的一部分的标签。
客户端装置还可以被配置为显示数据点的样本及其分配的标签。这可以提供数据点属于哪些候选簇的可视指示。每一个数据点可以与其分配的标签一起显示。作为示例,为数据点分配的标签可以包括颜色,该颜色取决于数据点是否是所选候选簇中之一的一部分,并且如果是,则取决于数据点是哪个所选候选簇的一部分。随后,每一个数据点可以根据其分配的标签用颜色显示。因此,属于不同候选簇的数据点将被显示为具有不同的颜色,这可以使得不同的候选簇能够被容易地区分和可视化。
客户端装置还可以被配置为从计算机服务器接收指示所述多个候选簇中的每一个候选簇的稳定性的信息,并且通过以下步骤从所述多个候选簇中选择一个或多个候选簇:拒绝所述多个候选簇中的其至少一个属性不满足所确定的簇约束的任何候选簇;以及选择剩余候选簇中的一个或多个,以使剩余候选簇中的所选的一个或多个候选簇的稳定性之和最大化。以这种方式,可以选择满足所确定的簇约束的最佳候选簇集。特别地,通过使所选簇的稳定性之和最大化,所述一个或多个所选簇可以对应于满足簇约束同时关于噪声和/或分裂最稳定的簇的选择。例如,通过将其至少一个属性不满足所确定的簇约束的候选簇的稳定性设置为零,可以拒绝该候选簇,使得它们不被选择。
在本文中,簇的稳定性可以是数值,其是该簇不分裂为更小簇的稳定性的度量。在一个示例中,可以为包括所述多个数据点的数据集限定最小生成树。随后,当迭代地移除最小生成树的最长边(即,具有最大权重的边)时,簇的稳定性可以是该簇不分裂为更小簇的稳定性的度量。
众所周知,最小生成树是连接数据点集合中的所有点的边加权图,没有任何循环,并且具有最小总边权重。
指示所述多个候选簇的信息可以包括具有多个节点的树结构,其中每一个节点表示所述多个候选簇中的相应一个,其中所述多个节点被布置为使得:树结构的根节点表示与数据点的样本中的所有数据点相对应的候选簇;并且树结构的每一个子节点表示与数据点集合的相应子集相对应的子候选簇,所述数据点集合对应于由该子节点的父节点表示的父候选簇。这种以树结构的候选簇的组织可以便于处理候选簇,以便选择最佳候选簇,因为树结构使得父候选簇与子候选簇之间的关系清楚。在本文中,树结构可以指具有多个节点的分层数据结构,其中每一个节点可以具有一个或多个子节点。
作为示例,树结构可以是二叉树。二叉树是每一个节点最多具有两个子节点的树结构。在这种情况下,二叉树的每一个节点可以正好具有两个子节点或零个子节点。因此,二叉树中表示父候选簇的父节点可以具有两个子节点,每一个子节点表示相应的子候选簇。可以通过分裂父候选簇来形成这两个子候选簇,使得每一个子候选簇包括父候选簇的数据点的相应子集。
在其它示例中,其它类型的树结构可以用于存储候选簇的父子关系。
客户端装置可以被配置为,对于树结构中的每一个节点:确定由该节点所表示的候选簇的稳定性是否大于由该节点的任何子节点所表示的候选簇的稳定性之和,并且如果是,则选择由该节点所表示的候选簇。因此,候选簇只有在其稳定性大于其子节点的稳定性之和的情况下才可以被选择。这种选择候选簇的处理可以便于使所选的一个或多个候选簇之和最大化。
在一些实施例中,数据点的样本可以是来自包括存储在计算机服务器处的多个数据点的数据集的样本,其中最小生成树连接所述多个数据点,其中,针对所述多个候选簇的每一个,指示所述一个或多个属性的信息包括该候选簇中的最小生成树的边的边权重的上边界的指示,并且其中,客户端装置进一步被配置为:确定距离参数作为簇约束;拒绝所述多个候选簇中上边界大于距离参数的任何候选簇;以及选择剩余候选簇中的一个或多个。根据该技术,如果候选簇包括数据点,在这些数据点之间最小生成树的边具有大于距离参数的权重,则拒绝该候选簇。其结果是,仅保留并选择与最小生成树的边短于距离参数的数据点相对应的候选簇。这可以确保仅选择更密集、散布更少的候选簇。这可以提供与DBSCAN*聚类技术类似的结果,其涉及从最小生成树删除比所选距离参数更长的边,并且从连接数据点的剩余组选择簇。可以(例如,在计算机服务器处)确定候选簇中的最小生成树的边的边权重的上边界,使得候选簇中的最小生成树的所有边具有等于或小于上边界的权重。
客户端装置可以进一步被配置为:显示视场内的数据点;向计算机服务器传输由客户端装置显示的当前视场的指示;以及从计算机服务器接收数据点的样本,其中,数据点的样本对应于当前视场。以这种方式,客户端装置可以仅接收与当前视场相对应的数据点。这可以避免客户端装置接收和存储未显示的大量数据点,从而减少客户端装置的资源上的负担。如上所述,由于候选簇及其属性是预先计算的,因此客户端装置可以不需要在存储器中保存所有数据点。由客户端装置显示的当前视场的指示可以包括由客户端装置(例如,由客户端装置的屏幕)当前显示的坐标范围(或多个范围)的指示。随后,计算机服务器可以确定存储在服务器处的所述多个数据点中的哪些数据点位于当前视场内(例如,通过将数据点的坐标与当前视场的坐标范围进行比较),并且将与当前视场相对应的数据点的样本传输到客户端装置。
数据点的样本可以对应于生物图像中的特征位置。换句话说,数据点可以对应于生物图像中的特征的估计(或检测到的)位置。生物图像可以是任何合适类型的生物图像,诸如生物样本的图片(例如,照片)或生物样本的荧光图像。生物图像可以通过任何合适的装置获取,包括已知类型的显微镜。在一个示例中,数据点对应于生物样本的图像中的估计荧光团位置。例如,生物图像可以是单分子定位显微术(SMLM)图像,其中数据点对应于图像中的估计荧光团位置。SMLM图像可以例如通过fPALM、dSTORM或PAINT方法获得。
当然,本发明可以应用于除了用于执行数据点的聚类分析的生物成像之外的领域。作为示例,本发明可以用于聚类和分析地理空间数据。这样的地理空间数据可以例如包括城市中的犯罪位置、区域中的树木位置或疾病的发生位置。本发明还可以用于任何其它聚类应用,例如用于潜在空间中的数据点的分类的机器学习。
根据本发明的第二方面,提供了一种计算机服务器,其被配置为:存储包括多个数据点的数据集;确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合;针对每一个候选簇,确定该候选簇的一个或多个属性;以及向客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息。
计算机服务器可以是任何合适的计算系统。在一些示例中,计算机服务器可以是远程服务器,例如,诸如云服务器。云服务器可以包括处理器和其上存储有计算机可执行的指令的存储器,当由处理器执行时,该计算机可执行的指令使客户端装置执行所公开的步骤。
计算机服务器可以被配置为与客户端装置通信,即,使得其可以向客户端装置发送数据以及从客户端装置接收数据。计算机服务器和客户端装置可以经由任何合适的通信网络通信地连接,所述通信网络例如是因特网、无线网络(例如,Wi-Fi网络等)或有线网络(例如,以太网网络等)。
本发明的第二方面的计算机服务器可以被配置为与本发明的第一方面的客户端装置通信。因此,上面关于本发明的第一方面讨论的任何特征,特别是关于计算机服务器、计算机服务器与客户端装置之间的通信以及在计算机服务器与客户端装置之间共享的数据,可以应用于本发明的第二方面。同样,关于本发明的第二方面所提到的特征可以与本发明的第一方面共享。
包括多个数据点的数据集可以存储在计算机服务器的存储器中。数据集可以从任何合适的源接收。例如,用户可以将数据集上传到计算机服务器。可替代地,所述多个数据点可以由计算机服务器基于提供给计算机服务器的原始数据的集合来确定,即,计算机服务器可以被配置为从原始数据确定所述多个数据点。作为示例,原始数据可以是图像的形式。计算机服务器随后可以对图像应用特征检测算法,以便获得对应于图像的多个数据点。
如关于本发明的第一方面所提到的,所述多个数据点可以对应于生物图像中的特征位置。例如,数据点对应于生物样本的图像中的检测到的荧光团位置。
数据点可以对应于坐标系中(例如,在二维或三维坐标系中)的点。因此,所述多个数据点可以被存储为一系列数据点坐标,其包括每一个数据点的一组坐标。
计算机服务器被配置为确定所述多个数据点的多个候选簇。候选簇可以对应于来自所述多个数据点的一组数据点,这是数据点的可能聚类结果。给定数据点可以属于多个候选簇,其可以具有不同的形状和尺寸(即,对应于不同数量的数据点)。计算机服务器可以被配置为确定所述多个候选簇,使得所述多个候选簇中的每一个对应于所述多个数据点的相应子集,使得所述多个数据点的每一个子集包括多于预定数量的数据点。换句话说,每一个候选簇可以具有至少预定数量的数据点。例如,预定数量可以是10、15或20。预定数量可以基于具体应用和数据点的性质(例如,它们所表示的内容)来选择。
计算机服务器被配置为确定所述多个候选簇中的每一个候选簇的一个或多个属性。如关于本发明的第一方面所提到的,所述一个或多个属性可以涉及候选簇的任何属性或参数,其可以用于表征候选簇。作为示例,所述一个或多个属性可以包括以下中的一个或多个:候选簇中的数据点的数量、候选簇的偏斜、候选簇的圆形度、候选簇的密度、候选簇的面积、候选簇的体积、候选簇的回转半径和/或候选簇的长度。候选簇的其它属性也是可能的。
可以使用属于该簇的数据点的坐标来计算每一个候选簇的所述一个或多个属性。
计算机服务器还可以被配置为确定所述多个候选簇中的每一个的稳定性,并且将指示所确定的每一个候选簇的稳定性的信息传输到客户端装置。
计算机服务器可以被配置为通过将聚类算法应用于所述多个数据点来确定所述多个候选簇。计算机服务器可以使用各种已知的聚类算法或技术来确定所述多个数据点的所述多个候选簇。在一个示例中,计算机服务器可以实现类似HDBSCAN算法中使用的技术,用于确定所述多个候选簇。HDBSCAN算法通过首先为所述多个数据点构建最小生成树,并且通过连续地(即,迭代地)移除最小生成树中的最长边生成候选簇的对,来确定多个候选簇,其中每一个候选簇对应于多于预定数量的数据点。
因此,在一些实施例中,计算机服务器可以被配置为通过以下步骤确定多个候选簇:为多个数据点构建最小生成树;限定与所述多个数据点中的所有数据点相对应的根候选簇;迭代地移除最小生成树中的最长边;并且如果移除最长边得到两组连接数据点,每一组包括多于预定数量的数据点,则将每组连接数据点限定为候选簇。
计算机服务器可以被配置为确定与该候选簇相对应的数据点之间的最小生成树的边的边权重的上边界,作为所述多个候选簇中的每一个的所述一个或多个属性中的一个。特别地,每一个候选簇可以对应于由最小生成树的边连接的一组数据点。计算机服务器因此可以针对每一个候选簇,确定在该候选簇的点之间延伸并且具有最大权重的最小生成树的边。确定候选簇的这种属性可以便于在客户端装置处选择所述一个或多个候选簇。在一些情况下,候选簇的上边界可以被限定为父候选簇的边的权重,当该父候选簇的边被从最小生成树中移除时,引起该候选簇与另一子候选簇一起被创建。
计算机服务器可以被配置为生成具有多个节点的树结构(例如,二叉树),其中每一个节点表示所述多个候选簇中的相应一个,其中所述多个节点被布置为使得:树结构的根节点表示对应于所述多个数据点中的所有数据点的根候选簇;并且树结构的每一个子节点表示与数据点集合的子集相对应的子候选簇,该数据点集合与父候选簇相对应,该父候选簇由该子节点的父节点表示;并且其中,指示所述多个候选簇的信息包括树结构。树结构的结构可以如上面关于本发明的第一方面所讨论的那样。
这种树结构(例如二叉树)可以作为用于确定所述多个候选簇的处理的一部分而产生,例如,作为HDBSCAN算法的一部分而产生。例如,在树结构是二叉树的情况下,可以从根节点开始构建二叉树。随后,每当移除最小生成树中的最长边时,可以将一对子节点添加到二叉树,产生限定的新的候选簇对。因此,随着最小生成树被逐渐地分裂为更小的候选簇,候选簇可以作为相应的子节点添加到二叉树。
由计算机服务器传输到客户端装置的所述多个数据点的样本可以是所述多个数据点的子样本。实际上,如上所述,由于在计算机服务器处确定所述多个候选簇及其属性,因此可以不需要向客户端装置提供整个数据集。因此,可以仅将所述多个数据点的子样本传输到客户端装置,从而减少传输到客户端装置的数据量以及在客户端装置处占用的存储量。数据点的子样本可以包括所述多个数据点的一小部分(即,一部分)。可以使用任何合适的子采样技术来选择所述多个数据点的子样本,以用于传输到客户端装置。作为示例,可以使用均匀随机子采样技术。这种技术可能特别有效,因为它可以避免任何采样偏差,该采样偏差可能根据采样的数据点的数量而改变数据点的样本的分布。另一种子采样技术可以涉及将彼此接近的数据点合并在一起,例如,其中可以基于客户端装置处的显示器的像素尺寸来限定“接近”。这可能需要关于如何将数据点合并在一起的一个或多个规则,以便避免信息的丢失。发明人已经发现,大约5%的采样率可能是合适的,以在客户端装置处对数据点和簇实现良好的可视化。因此,对于包含1百万个数据点的数据集,传输到客户端装置的样本可以包含约50,000个数据点。
计算机服务器可以进一步被配置为:从客户端装置接收由客户端装置显示的当前视场的指示;以及将数据点的样本传输到客户端装置,其中,数据点的样本对应于当前视场。以这种方式,计算机服务器可以仅将与在客户端装置处显示的当前视场相对应的数据点传输到客户端装置。随后,客户端装置可以显示数据点的样本,而不必接收和存储位于当前视场外的数据点。传输到客户端装置的数据点的样本可以对应于位于视场中的所述多个数据点的子样本。换句话说,可以将子采样技术应用于位于视场内的数据点,以进一步减少传输到客户端装置的数据点的数量。
本发明的第一方面的客户端装置和本发明的第二方面的计算机服务器可以一起形成一种用于对数据点进行聚类的系统。因此,根据本发明的第三方面,提供了一种用于对数据点进行聚类的系统,该系统包括计算机服务器和客户端装置,其中,计算机服务器被配置为:存储包括多个数据点的数据集;确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合;针对每一个候选簇,确定该候选簇的一个或多个属性;以及向客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息;其中,客户端装置被配置为:从计算机服务器接收数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息;确定簇约束,其中,所述簇约束与每一个候选簇的所述一个或多个属性中的至少一个相关;从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自数据点的样本的每一个数据点属于所述一个或多个所选候选簇中的至多一个;以及基于所述一个或多个所选候选簇生成输出。上面关于本发明的第一和第二方面讨论的任何特征可以与本发明的第三方面的系统共享。
根据本发明的第四方面,提供了一种在客户端装置处对数据点进行聚类的方法,该方法包括在客户端装置处:从计算机服务器接收数据点的样本、指示多个候选簇的信息以及指示每一个候选簇的一个或多个属性的信息,其中,每一个候选簇对应于数据点的样本的相应集合;确定簇约束,其中,簇约束与每一个候选簇的所述一个或多个属性中的至少一个相关;从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自数据点的样本的每一个数据点属于所述一个或多个所选候选簇中的至多一个;以及基于所述一个或多个所选候选簇生成输出。本发明的第四方面的方法可以使用本发明的第一方面的客户端装置来执行,并且因此上面关于本发明的第一方面讨论的任何特征可以被包括在该方面的方法中。
该方法还可以包括基于在客户端装置处接收的用户输入来确定簇约束。
该方法还可以包括生成用于接收用户输入的用户界面,其中,用户界面被布置为使得能够选择所述至少一个属性的值或值的范围,并且簇约束的确定可以基于经由用户界面选择的所述至少一个属性的值或值的范围。
该方法还可以包括显示指示所述一个或多个所选候选簇的信息。
该方法还可以包括,针对数据点的样本中的每一个数据点:确定数据点是否是所选候选簇中之一的一部分;以及基于该确定向数据点分配标签。
该方法还可以包括显示数据点的样本及其分配的标签。
该方法还可以包括从计算机服务器接收指示所述多个候选簇中的每一个的稳定性的信息,并且通过以下方法从所述多个候选簇中选择所述一个或多个候选簇:拒绝所述多个候选簇中的其至少一个属性不满足所确定的簇约束的任何候选簇;以及选择剩余候选簇中的一个或多个,使得剩余候选簇中的所选一个或多个的稳定性之和最大化。
指示所述多个候选簇的信息可以包括具有多个节点的树结构,其中每一个节点表示所述多个候选簇中的相应一个,其中所述多个节点被布置为使得:树结构的根节点表示与数据点的样本中的所有数据点相对应的候选簇;并且树结构的每一个子节点表示与数据点集合的相应子集相对应的子候选簇,该数据点集合与由该子节点的父节点所表示的父候选簇相对应。
该方法还可以包括,针对树结构中的每一个节点:确定由该节点表示的候选簇的稳定性是否大于由该节点的任何子节点表示的候选簇的稳定性之和,并且如果是,则选择由该节点所表示的候选簇。
数据点的样本可以是来自一数据集的样本,所述数据集包括存储在计算机服务器处的多个数据点,其中最小生成树连接所述多个数据点,其中,针对所述多个候选簇的每一个,指示所述一个或多个属性的信息包括该候选簇中的最小生成树的边的边权重的上边界的指示,并且其中,该方法包括:确定距离参数作为簇约束;拒绝所述多个候选簇中的上边界大于距离参数的任何一个;以及选择剩余候选簇中的一个或多个。
该方法还可以包括:显示视场内的数据点;向计算机服务器传输由客户端装置显示的当前视场的指示;以及从计算机服务器接收数据点的样本,其中,数据点的样本对应于当前视场。
根据本发明的第五方面,提供了一种处理数据集的方法,该方法包括在计算机服务器处:存储包括多个数据点的数据集;确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合;针对每一个候选簇,确定该候选簇的一个或多个属性;以及向客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息。本发明的第五方面的方法可以使用本发明的第二方面的计算机服务器来执行,并且因此上面关于本发明的第二方面讨论的任何特征可以被包括在该方面的方法中。
该方法还可以包括通过以下步骤确定所述多个候选簇:为所述多个数据点构建最小生成树;限定与所述多个数据点中的所有数据点相对应的根候选簇;迭代地移除最小生成树中的最长边;以及如果移除最长边得到两组连接数据点,每一组包括多于预定数量的数据点,则将每一组连接数据点限定为候选簇。
该方法还可以包括确定与该候选簇相对应的数据点之间的最小生成树的边的边权重的上边界,作为所述多个候选簇中的每一个的所述一个或多个属性中的一个。
该方法还可以包括生成具有多个节点的树结构,其中每一个节点表示所述多个候选簇中的相应一个,其中所述多个节点被布置为使得:树结构的根节点表示对应于所述多个数据点中的所有数据点的根候选簇;并且树结构的每一个子节点表示与数据点集合的子集相对应的子候选簇,该数据点集合与父候选簇相对应,该父候选簇由该子节点的父节点表示;并且其中,指示所述多个候选簇的信息包括树结构。
该方法还可以包括:从客户端装置接收由客户端装置显示的当前视场的指示;以及将数据点的样本传输到客户端装置,其中,数据点的样本对应于当前视场。
该方法可以包括确定每一个候选簇的以下属性中的一个或多个:候选簇中的数据点的数量、候选簇的偏斜、候选簇的圆形度、候选簇的密度、候选簇的面积、候选簇的体积、候选簇的回转半径和/或候选簇的长度。
根据本发明的第六方面,提供了一种利用包括计算机服务器和客户端装置的系统来对数据点进行聚类的方法,该方法包括:存储包括多个数据点的数据集;确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合;针对每一个候选簇,确定该候选簇的一个或多个属性;以及向客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息;其中,客户端装置被配置为:从计算机服务器接收数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息;确定簇约束,其中,所述簇约束与每一个候选簇的所述一个或多个属性中的至少一个相关;从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自数据点的样本的每一个数据点属于所述一个或多个所选候选簇中的至多一个;以及基于所述一个或多个所选候选簇生成输出。本发明的第六方面的方法可以使用根据本发明的第三方面的系统来执行。因此,关于先前方面中任一方面所讨论的任何特征可以与本发明的这个方面共享。
附图说明
现将参照附图来讨论说明本发明原理的实施例,其中:
图1是根据本发明实施例的用于对数据点进行聚类的系统的示意图;
图2是根据本发明实施例的客户端装置处的用户界面的示意图;
图3a是作为本发明实施例的、可以存储在计算机服务器处的多个数据点的绘图的示意图;
图3b是与图3a的所述多个数据点相对应的最小生成树的示意图;
图3c是图3a的所述多个数据点的示意图,包括为所述多个数据点确定的候选簇的指示;
图4是与图3所示的候选簇相对应的二叉树的图示;
图5a示出了被配置为存储与所确定的候选簇相关的数据的表格;
图5b示出了被配置为存储与多个数据点相关的数据的表格;
图6是图示从多个数据点选择数据点的子样本的处理的图;
图7a和图7b是图4的二叉树的图,其示出了针对相应候选簇确定的稳定性值;
图8示出了根据本发明实施例的方法的流程图;以及
图9示出了根据本发明实施例的方法的流程图。
具体实施方式
现将参照附图来讨论本发明的各个方面和实施例。对于本领域技术人员而言,其它方面和实施例将是显而易见的。本文中提到的所有文献以引用方式结合于本文。
图1示出了根据本发明实施例的数据聚类系统100的示意图。系统100包括经由通信网络106彼此通信的客户端装置102和计算机服务器104。在所示的示例中,客户端装置102是台式计算机,然而在其它示例中,客户端装置102可以由其它类型的计算装置实现,诸如膝上型计算机、平板计算机或智能电话。客户端装置102包括显示屏以及用于从用户接收输入的输入装置(例如,鼠标、键盘和/或触摸屏)。计算机服务器104可以由任何合适的计算系统实现,并且在一个示例中可以是连接到因特网的云服务器的形式。通信网络106可以包括(一个或多个)任何合适的通信网络,其使得能够在计算机服务器104与客户端装置102之间传输数据。在计算机服务器104是云服务器的情况下,客户端装置102和计算机服务器104可以经由因特网进行通信。可替代地,计算机服务器104可以连接到本地网络(例如,局域网),在这种情况下,客户端装置102和计算机服务器104可以经由本地网络通信。计算机服务器104被配置为存储包括多个数据点的数据集。数据集可以存储在计算机服务器104的存储器中。所述多个数据点可以是例如二维或三维空间中的数据点。因此,数据集可以被存储为与所述多个数据点相对应的一系列坐标(在二维或三维空间中)。
取决于应用本发明的背景,可以以不同的方式获得数据点。在一个示例中,所述多个数据点中的每一个可以表示图像中的检测到的特征位置(例如,数据点可以对应于图像中的检测到的特征的坐标)。图像可以例如是生物样本的图像,其可以已经经由任何合适的手段(例如,使用相机、成像显微镜和/或其它成像系统)捕获。随后可以分析图像以确定图像中感兴趣特征的位置。图像中感兴趣特征的位置可以由用户基于图像的视觉检查来手动确定。可替代地,可以使用图像分析软件来分析图像,以便自动检测可能感兴趣的特征。各种已知的特征识别算法可以用于该目的。在一些实施例中,可以将图像数据提供给计算机服务器104,其随后被配置为将图像分析软件应用于图像数据以便检测可能感兴趣的特征的位置,并且将检测到的位置存储为多个数据点。换句话说,可以基于接收到的图像数据,在客户端服务器104处确定包括所述多个数据点的数据集。可替代地,可以在别处分析图像以获得所述多个数据点,随后将其上传到计算机服务器104。
在特定的示例中,生物样本可以经由荧光显微镜技术成像。例如,生物样本可以利用单分子定位显微镜技术成像,尽管根据感兴趣的长度尺度可以使用其它荧光显微镜技术。随后可以检测所得到的图像数据中荧光团的位置(手动地或利用一些图像分析软件)并将其存储为多个数据点。在一些情况下,用于获取图像数据的软件还通过基本上实时发生的定位处理来产生一组数据点,并且产生包含所有数据点的数据文件。随后,可以将该文件上传(由用户手动地或自动地)到计算机服务器104,在那里将其转换为适于可视化的格式(例如,使得能够进行高效的子采样和子区域查询),并且存储该文件。当然,本发明不限于与从生物样本的图像获得的数据点一起使用,并且可以用于各种不同的应用。实际上,数据点可以从任何合适类型的图像获得,其中可能期望检测和分析该图像中的特征。在一些情况下,数据点可能不是来自所捕获的图像,而是模拟(例如,生物或物理系统的模拟)的结果。
计算机服务器104被配置为计算所述多个数据点的多个(即,一个或多个)候选簇,每一个候选簇对应于所述多个数据点的相应子集。候选簇对应于所述多个数据点可以被聚类(即,分组)在一起的不同方式,并且可以使用各种聚类技术来计算。作为示例,计算机服务器104可以采用HDBSCAN算法中使用的方法来计算候选簇,如以下关于图3a至图3c和图4更详细讨论的那样。计算机服务器104还计算每一个候选簇的一系列属性。可以由计算机服务器104为每一个候选簇计算的属性可以包括例如候选簇中的数据点的数量、候选簇的偏斜、候选簇的圆形度、候选簇的密度、候选簇的面积、候选簇的体积、候选簇的回转半径和/或候选簇的长度。为了计算每一个候选簇104的这些属性,计算机服务器104可以使用该候选簇中的每一个数据点的坐标以及用于获得这些属性的标准计算技术。对于与候选簇的形状相关的属性,诸如面积或圆形度,计算机服务器104可能需要确定对应于候选簇的连续形状(例如,轮廓)。这样做的一种方式可以是将椭圆拟合到候选簇的数据点,椭圆的长轴和短轴从候选簇中的数据点的主分量分析确定。另一种方式是确定候选簇中数据点的凸包。候选簇的长度可以被确定为拟合候选簇的椭圆的长轴的长度,或者可替代地,候选簇的长度可以对应于候选簇中的任何两个数据点之间的最大距离。
一旦计算出候选簇及其属性,计算机服务器104就向客户端装置102传输指示所述多个候选簇的信息(即,数据)、指示针对每一个候选簇确定的所述一个或多个属性的信息、以及所述多个数据点的样本。所述多个数据点的样本可以对应于所述多个数据点的子样本,使得仅将存储在计算机服务器104处的数据集的一部分传输到客户端装置102。计算机服务器102可以对所述多个数据点应用子采样算法,以便选择所述多个数据点的样本用于传输到客户端装置102。
在接收到由计算机服务器104所传输的数据时,客户端装置102可以生成显示接收到的数据点的样本的用户界面,以及使得用户能够选择用于控制数据点的聚类的一个或多个参数的控制面板。图2示出了可以在客户端装置102的屏幕上显示的用户界面202的示意图。在一些情况下,用户界面202可以显示在客户端装置102的web浏览器中。例如,用户界面202可以由网站(例如,所述网站被托管在计算机服务器104处或另一远程服务器处)提供,并且其能够经由统一资源定位符(URL)来访问。如图所示,用户界面202包括显示面板204,在该显示面板中绘制接收到的数据点206。在所示的示例中,数据点206是二维空间中的点,使得它们在二维坐标系中被绘制。用户界面还包括控制面板208,该控制面板被配置为接收来自用户的输入。控制面板208被配置为使用户能够为每一个属性选择期望的值或值的范围,其中所述属性是由计算机服务器104为候选簇计算的。以这种方式,可以为每一个属性设置约束,这使得客户端装置能够从所述多个候选簇之中选择具有期望属性的一个或多个候选簇。在所示的示例中,控制面板208包括一系列滑块210,用户能够拖动每一个滑块以便为相应属性设置期望的值或值的范围。当然,可以使用除了滑块210之外的用于接收用户输入的其它部件。例如,控制面板208可以包括用于接收数字输入的栏、可能值或值范围的下拉列表、或用于接收用户输入的任何其它合适的部件。
在图2的示例中,存在四个滑块210,并且每一个滑块可以对应于候选簇的不同属性。例如,计算机服务器104可能已经为候选簇中的每一个确定了一系列四个属性。随后,可以生成控制面板208,使得其具有用于每一个属性的滑块(或其它合适的输入部件)。在为候选簇确定大量属性的情况下,控制面板208可以提供下拉列表,该下拉列表使得用户能够选择要为其设置约束的属性。
通过使用控制面板208,用户能够为针对候选簇确定的一个或多个属性设置约束。例如,通过使用控制面板208,用户可以设置候选簇中数据点的数量的最小值,以及候选簇的面积的最小值。由用户设置的约束可以一起被客户端装置102确定为簇约束,其随后用于选择候选簇中的一个或多个。在用户没有选择约束的情况下,客户端装置102还可以利用默认簇约束进行编程。默认簇约束可以被用作初始簇约束,以便开始聚类处理。一旦用户已经经由控制面板208设置了一个或多个约束,或者如果默认簇约束被确定为簇约束,则客户端装置102被配置为从所述多个候选簇之中选择一个或多个候选簇。为此,客户端装置102可以首先拒绝其属性不满足所确定的簇约束的任何候选簇。例如,在上述示例中,客户端装置102可以拒绝具有小于数据点的最小值的任何候选簇,以及其面积小于最小值的簇。随后,客户端装置102可以从剩余簇中选择一个或多个簇,使得所有选择的簇满足所确定的簇约束。下面更详细地讨论如何选择所述一个或多个候选簇的示例。
在由客户端装置102选择所述一个或多个候选簇之后,客户端装置102可以被配置为基于数据点是否是所选候选簇的一部分,并且如果是,那么它是哪一候选簇的一部分,向数据点的样本中的每一个分配标签。因此,分配给每一个数据点的标签可以指示它是哪一个所选候选簇的一部分,如果有的话。属于同一所选候选簇的所有数据点可以被分配相同的标签,以便于标识它们是哪个所选候选簇的一部分。随后,客户端装置102可以(例如,在用户界面202的显示面板204中)显示数据点的样本以及它们的分配的标签。以这种方式,所显示的数据点及其标签可以提供所选候选簇的可视化。可以将任何合适类型的标签分配给数据点。例如,数据点的标签可以包括标识符,该标识符标识出它是哪一个所选候选簇的一部分(如果有的话)。
在一个示例中,用于数据点的样本中的每一个的标签可以包括颜色,其中颜色取决于数据点是否属于所选颜色中的一个,并且如果是,则取决于数据点属于哪一个所选候选簇。因此,每一个数据点可以利用颜色标记,该颜色取决于它是哪一个所选候选簇(如果有的话)的一部分。例如,如果数据点不属于所选候选簇中的任何一个,则可以将其标记为灰色,而将其它更亮的颜色(例如,红色、绿色、蓝色、黄色等)用作所选候选簇中的数据点的标签。当客户端装置102显示数据点的样本时,每一个数据点可以根据其分配的标签来着色。这可以使得用户能够容易地区分属于不同候选簇的数据点。当然,除了颜色之外,可以使用其它类型的视觉指示器来标记数据点,以便识别它们属于哪一个所选候选簇。例如,数据点可以被显示为具有不同的形状(例如,正方形、圆形、十字形等),这取决于它们属于哪一个(如果有的话)所选候选簇。
客户端装置102可以被配置为存储指示所述一个或多个所选候选簇的数据以及它们的分配的标签,从而可以进一步检查和分析聚类结果。客户端装置102还可以将这样的数据传输到计算机服务器104以用于存储。在选择所述一个或多个候选簇并在用户界面202中显示结果之后,用户可以提示客户端装置102执行新的候选簇选择处理。特别地,用户可以通过与控制面板208交互来改变簇约束,以便为候选簇的属性设置一个或多个约束。一旦用户已经设置了新的约束,客户端装置102就可以再次选择其属性满足新约束的一个或多个候选簇,并且显示新选择的候选簇(例如,通过显示具有其分配的标签的数据点的样本)。以这种方式,用户可以交互式地基本上实时地对数据点的样本进行重新聚类,例如直到获得期望的聚类结果为止。重新聚类数据点的样本的处理可以快速地执行,并且对客户端装置102的资源的负担最小,因为所有候选簇及其属性都已经由计算机服务器104预先计算。特别地,这避免了每次改变簇约束时必须计算新的候选簇集,从而可以在客户端装置102处快速地确定和显示不同的聚类结果。
为了减少从计算机服务器104传输到客户端装置102并存储在客户端装置102处的数据量,计算机服务器104可以被配置为仅将位于在客户端装置102处显示的当前视场内的数据点传输到客户端装置102。具体地说,用户界面202中的显示面板204可以显示与坐标范围(例如,在二维空间中)相对应的视场,使得仅位于坐标范围内的数据点被示出在显示面板中。用户界面202可以使得用户能够例如通过使得它们能够调整缩放水平和/或导航到不同坐标来调整视场。客户端装置102可以被配置为确定在显示面板204中显示的当前视场(例如,确定与当前视场相对应的坐标范围),并且将指示当前视场的数据传输到计算机服务器104。在接收到数据时,计算机服务器104可以基于当前视场,从存储在计算机服务器104处的所述多个数据点确定数据点的样本。随后,将数据点的样本传输到客户端装置102。例如,数据点的样本可以仅包括位于当前视场内的数据点。在一些情况下,数据点的样本可以包括位于当前视场内的数据点,以及位于视场周围的区域内的数据点。这可以使得能够对当前视场进行轻微调整,而不必从计算机服务器104接收另外的数据点。每次在客户端装置102处调整视场时,指示新视场的数据可以被传输到计算机服务器104,随后计算机服务器104可以通过传输对应于新视场的数据点的样本来响应。以这种方式,用户可以在客户端装置102处查看对应于当前视场的数据点的样本,而不必在客户端装置102处存储整个数据集。
现在将参照图3a-3c和图4描述用于确定包括多个数据点的数据集的多个候选簇的处理。该处理可以例如由计算机服务器104执行。用于确定候选簇的处理可以类似于HDBSCAN算法中使用的处理。该处理将参数M(其是正整数)作为输入参数,该参数M对应于最小候选簇尺寸,即,必须在每一个候选簇中的数据点的最小数量。
图3a示出了多个数据点302的二维图300。所述多个数据点302可以形成存储在计算机服务器104处的数据集的一部分。在第一步骤中,为所述多个数据点构建最小生成树。各种已知的算法可以用于构建最小生成树。在一个示例中,算法可以用于构建最小生成树。距离度量用于对最小生成树的边进行加权,使得对最小生成树的边进行加权的距离度量涉及对由该边连接的数据点之间的距离的度量。在优选示例中,由相互可达参数‘k’所定义的相互可达性距离可以用作对最小生成树的边进行加权的距离度量。数据点‘a’与数据点‘b’之间的相互可达性距离dreach,)a,b与相互可达性参数k可以被定义为:
dreach,k(a,b)=max{corek(a),corek(b),d(a,b)} (1)
其中d(a,b)是点‘a’与‘b’之间的度量距离,corek(a)是从点‘a’到其第k个最近邻居的距离,并且corek(b)是从点‘b’到其第k个最近邻居的距离(k是正整数)。因此,在相互可达性距离被用作最小生成树的距离度量的情况下,确定候选簇的处理还将k的值作为输入参数。图3b示出了使用算法为所述多个数据点302确定的最小生成树303的示例。根据最小生成树303所连接的点之间的相互可达性距离,来对其每一个边进行加权。图3b中的最小生成树303中的边的阴影指示它们的相互可达性距离的值,如图3b中的颜色条所示。
在第二步骤中,在为所述多个数据点构建最小生成树之后,构建表示所述多个数据点的多个候选簇的二叉树。首先,根候选簇304被限定为与所有多个数据点相对应的候选簇。根候选簇304由图3c中的虚线描绘,其围绕所述多个数据点302。随后限定二叉树的根节点,其表示根候选簇304。随后,执行迭代处理,以用于确定另外的候选簇。迭代处理包括以下步骤:
·从最小生成树中移除表示为‘d’的具有最大权重(即,最大相互可达性距离)的边,以及
i)如果移除边产生两组连接数据点(即,其中每一组中的数据点由最小生成树的剩余边连接),其中每一组具有多于M个数据点,则将每一组连接点限定为相应的子候选簇。将一对子节点添加到二叉树,每一个子节点表示子候选簇中的一个。二叉树中的子节点是父节点的子节点,该父节点表示这两个子候选簇的“父”候选簇,其中父候选簇包括两个子候选簇的数据点。换句话说,通过移除最小生成树中的边以将父候选簇分裂为子候选簇,来获得这两个子候选簇。将父候选簇的‘distanceDeath’参数的值设置为‘d’。将这两个子候选簇中的每一个的‘distanceBirth’参数的值设置为‘d’。
ii)如果移除边产生具有多于M个数据点的第一组连接数据点,以及具有少于M个数据点的第二组连接数据点,则没有任何一组数据点被添加为候选簇。将第二组数据点中的每一个数据点的参数“distanceBleed”的值设置为‘d’,并且从最小生成树中移除第二组数据点中的数据点。额外地,将第二组数据点中的每一个数据点的参数‘parentID’的值设置为标识这些数据点的父候选簇的唯一值,其中父候选簇包括两个候选簇的数据点,并且包括被移除以产生两组数据点的最小生成树的边。每一个候选簇可以被分配唯一标识符。
iii)如果移除边产生两组连接数据点,每一组具有少于M个数据点,则将两组中的每一个数据点的参数‘distanceBleed’的值设置为‘d’。将这两组中的每一个数据点的参数‘parentID’的值设置为标识这些数据点的父候选簇的唯一值,其中父候选簇包括两个候选簇的数据点,并且包括被移除以产生两组数据点的最小生成树的边。从最小生成树中移除两组数据点中的数据点。额外地,将参数‘distanceDeath’的值设置为父候选簇的‘d’。
迭代地重复上述过程,直到所有数据点已经从最小生成树中移除为止。在该处理结束时,已经确定了数据点的多个候选簇,以及具有表示候选簇及其父子关系的节点的二叉树。额外地,每一个候选簇(和/或二叉树中的节点)利用参数‘distanceBirth’的值和参数‘distanceDeath’的值来标记。此外,所述多个数据点中的每一个利用参数‘distanceBleed’的值和参数‘parentID’的值来标记。对于每一个候选簇,存储唯一标识符以及其祖先候选簇的指示,即,其是哪些候选簇的一部分。
候选簇的参数‘distanceDeath’可以有效地对应于该候选簇中的最小生成树的最长边的边权重。换句话说,参数‘distanceDeath’指示属于候选簇的两个点之间的最长边的权重。给定候选簇的参数‘distanceBirth’对应于该候选簇中的最小生成树的边的边权重的上边界。特别地,给定候选簇的参数‘distanceBirth’被限定为最小生成树的边的边权重,当从最小生成树中移除该边时,将父候选簇分裂为该候选簇和另一候选簇。换句话说,参数‘distanceBirth’对应于被移除以产生所讨论的候选簇的最小生成树的边。根候选簇304的参数‘distanceBirth’可以被视为无限的,或者可以被设置为与其它候选簇相比更大的值。数据点的‘parentID’参数可以指示它是其一部分的最小候选簇。用于数据点的参数‘distanceBleed’指示最小生成树的最长边的权重,当该最长边被移除时,使数据点不再连接到任何候选簇(即,使得该数据点不是一组连接数据点的一部分,该组连接数据点具有至少M个数据点)。
作为示例,在图4中描绘了对应于图3a中所示的所述多个数据点302的可能的二叉树400。图3c示出了图3a的所述多个数据点302,以及为数据点确定的多个候选簇。候选簇在图3c中由虚线指示,使得虚线内包围的数据点对应于候选簇。二叉树400具有对应于图3所示的根候选簇304的根节点404。随后,通过从最小生成树中移除最长边(即,具有最大权重的边),可以将根候选簇304分裂为两组数据点。这可以产生两个子候选簇,每一个包括多于M(例如,M=15)个数据点,如图3c中的候选簇306和308所示。因此,表示候选簇306的第一子节点406和表示候选簇308的第二子节点408被添加到二叉树400,第一和第二子节点406、408是根节点404的子节点。候选簇306、308的参数‘distanceBirth’的值可以被设置为最小生成树的边的权重,所述边被移除以将候选簇306、308分开。根节点304的参数‘distanceDeath’的值可以被设置为最小生成树的边的权重,所述边被移除以将其分裂为候选簇306、308。随后,通过从最小生成树中连续地移除最长的边,可以继续该处理。因此,候选簇306可以被分裂为两个子候选簇310和312,这两个子候选簇均具有多于M个数据点,并且由二叉树400中的节点410和412表示。候选簇310可以被进一步分裂为两个子候选簇314和316,这两个簇均具有多于M个数据点,并且由二叉树400中的节点414和416表示。节点408、412、414、416是二叉树400的‘叶’节点,因为它们不具有任何子节点。这是因为不能将每一个相应的候选簇分裂为一对更小的候选簇,这一对更小的候选簇均具有多于M个数据点。
应该注意,在其它实施例中,可以使用除二叉树之外的不同类型的树结构。例如,在一些实施例中,可以使用每一个父节点可以具有多于两个子节点的树结构。
输入参数M的值可以被设置为任何合适的值,并且可以取决于应用本发明的背景(例如,取决于预期的最小簇尺寸)。例如,发明人已经发现,对于对应于在SMLM图像中检测到的荧光团位置的数据点,10与20之间的M值(例如,15)可能是合适的。
一旦为所述多个数据点计算了二叉树和候选簇,计算机服务器104就为每一个候选簇计算一个或多个属性,如上所述。额外地,计算机服务器104可以计算表示每一个候选簇的稳定性的值。候选簇C的稳定性SC可以被定义为:
其中,总和是在对应于候选簇C的所有数据点P上的,其中distanceDeath是候选簇C的这个参数的值,distanceBirth是候选簇C的这个参数的值,并且P(distanceBleed)是数据点P的参数distanceBleed的值。
随后,计算机服务器104可以将指示所确定的候选簇(包括所构建的二叉树)、针对每一个候选簇计算的属性以及每一个簇的计算的稳定性的数据传输到客户端装置102。针对每一个候选簇确定的distanceBirth和distanceDeath的值可以包括在被传输到客户端装置的每一个候选簇的属性中。额外地,对于被传输到客户端装置102的数据点的样本中的每一个,parentID和distanceBleed的值可以被提供给客户端装置102。在接收到二叉树和候选簇时,客户端装置102可以基于二叉树创建将每一个候选簇链接到其所有祖先簇的查找表。特别地,客户端装置可以基于二叉树,为每一个候选簇确定作为该候选簇的祖先的候选簇的列表。如果候选簇大于另一候选簇并且包括该候选簇的所有数据点,则该候选簇被称为是该另一候选簇的祖先。这种查找表可以存储在客户端装置102处,以便一旦已经选择了候选簇就便于数据点的后续标记。
图5a和图5b示出了可以存储在计算机服务器104中并传输到客户端装置102的数据结构的示例。图5示出了包括与每一个所确定的候选簇相关的数据的表500。表500中标题为“候选簇ID”的第一列存储了每一个所确定的候选簇的唯一标识符。在所示的示例中,每一个候选簇的唯一标识符是数字,然而在其它示例中可以使用任何合适类型的标识符。表500的第二列存储每一个候选簇的‘distanceBirth’参数的值,第三列存储每一个候选簇的‘distanceDeath’参数的值,第四列存储每一个候选簇的稳定性SC的值,并且剩余列存储每一个候选簇的确定的属性的值。在所示的示例中,‘属性1’和‘属性2’的值已经针对每一个候选簇确定。这些可以对应于可以为上述候选簇确定的任何属性。表500可以存储更多或更少属性的值,这取决于由计算机服务器104所确定的属性的数量。当然,除了表500之外,各种其它形式的数据结构可以用于存储和传输与所确定的候选簇相关的数据。
图5b示出了包括与所述多个数据点中的每一个相关的数据的表502。表502的第一列存储每一个数据点的‘X’坐标,而表502的第二列存储每一个数据点的‘Y’坐标。当然,可以根据用于数据点的特定坐标系来调整表502。表502的第三列存储每一个数据点的‘distanceBleed’参数的值,并且表502的第四列存储每一个数据点的‘parentID’参数的值。表502还可以存储已经为每一个数据点确定的任何其它数据。表502中与数据点相关的数据可以以便于获取所述多个数据点的子样本的数据的方式进行存储,例如,以便于在客户端装置102处显示数据点的子样本。例如,表502的数据可以以四叉树数据结构存储,和/或以多分辨率数据结构存储。在计算机服务器104仅向客户端装置传输所述多个数据点的子样本的情况下,计算机服务器104可以仅传输表502中存储的与数据点的子样本相对应的一部分数据。
图6图示从计算机服务器104到客户端装置的数据点样本的传输。图6的左手边面板示出了存储在计算机服务器104处的所述多个数据点302的图,以及当前显示在客户端装置102处的视场602的指示。如上所述,客户端装置102可以将指示当前视场的数据传输到计算机服务器104,以使得计算机服务器104能够确定当前视场相对于数据点的位置。计算机服务器104随后基于数据点的坐标,确定所述多个数据点中的哪个位于当前视场602中。随后,对位于视场602中的数据点应用子采样处理,以选择位于视场602中的数据点的子样本。图6的右手边面板示出了与视场602相对应的数据点的所选子样本604的示例。随后,将数据点的所选子样本604与来自表502的与数据点的所选子样本相对应的数据一起传输到客户端装置。
现在将描述用于从所述多个候选簇中选择一个或多个候选簇的第一处理,其可以例如由客户端装置102执行。首先,例如基于用户经由用户界面202进行的输入,确定与候选簇的一个或多个计算的属性相关的簇约束,如上所述。随后,将候选簇的属性与所确定的簇约束进行比较,以确定哪些候选簇不满足所确定的簇约束。拒绝其属性不满足所确定的簇约束的任何候选簇,并且将它们的稳定性设置为零。
随后,考虑二叉树400的每一个节点,从叶节点开始并通过二叉树400以拓扑顺序进行工作,执行以下步骤:
·如果该节点是叶节点,或者如果该节点表示其稳定性大于由该节点的子节点所表示的候选簇的稳定性之和的候选簇,则将该节点标记为“可行”。而且,将作为该节点的后代(例如,子节点、孙节点等)的任何节点标记为“不可行”。换句话说,将表示较小并且包含在由当前节点所表示的候选簇内的候选簇的节点标记为“不可行”。
·否则,将该节点标记为“不可行”。如果节点表示其稳定性小于由该节点的子节点所表示的候选簇的稳定性之和的候选簇,则对于涉及该节点的进一步比较,将该稳定性之和用作该节点的稳定性。
在该过程结束时,二叉树400中的每一个节点被标记为“可行”或“不可行”。随后,选择由标记为“可行”的节点所表示的候选簇,并将其用作聚类结果。由于被拒绝的候选簇的稳定性被设置为零,因此它们的相应节点通常被标记为“不可行”,因此它们将不会被选择。用于选择候选簇的以上过程使所述一个或多个所选候选簇的稳定性之和最大化。
参照图7a和图7b描述用于选择一个或多个候选簇的该处理的示例。图7a示出了上述二叉树400,其中在其代表性节点处指示了针对每一个候选簇确定的稳定性。在已经确定簇约束之后,客户端装置102确定候选簇中的哪些不满足所确定的簇约束。在所示的示例中,客户端装置102确定由二叉树400中的节点412所表示的候选簇312不满足所确定的簇约束,例如,由于候选簇312的属性的值没有落在期望的范围内。其结果是,候选簇312被拒绝,并且其稳定性被设置为零。这在图7b中示出,其示出了在拒绝候选簇312之后具有候选簇的稳定性值的二叉树400。
使用图7b所示的二叉树400和稳定性值,客户端装置102随后选择一个或多个候选簇。从叶节点开始,每一个叶节点(即,节点414、416、412、408)可以初始地被标记为“可行”。将二叉树向上移动到节点410,节点410被标记为可行(因为12>5+6),并且其子节点414和416被标记为“不可行”。将二叉树向上移动到节点406,节点406被标记为“可行”(因为20>12+0),并且其子节点410和412被标记为“不可行”。将二叉树向上移动到根节点404,节点404被标记为“不可行”(因为15<20+6)。在该处理结束时,节点406和408被标记为可行的,使得候选簇306和308被选择。
现在将描述用于从所述多个候选簇中选择一个或多个候选簇的第二处理,其可以例如由客户端装置102执行。在该示例处理中,在客户端装置102处提供的用户界面202可以使得用户能够设置距离参数‘eps’的值,该值随后被客户端装置102用作簇约束。可替代地,例如在没有从用户接收到输入的情况下,客户端装置102可以使用距离参数‘eps’的默认值。客户端装置随后可以从所述多个候选簇中选择满足以下关系的每一个候选簇:
distanceDeath<eps<distanceBirth(3)
换句话说,每一个所选簇的参数‘distanceDeath’的值小于‘eps’的值,并且每一个所选簇的参数‘distanceBirth’的值大于‘eps’的值。这种选择候选簇的方法有效地等同于拒绝包括数据点的候选簇,在这些数据点之间最小生成树的边具有大于‘eps’值的权重。当然,除了(3)之外的其它关系可以用于基于候选簇的‘distanceDeath’和‘distanceBirth’的值以及距离参数‘eps’来选择候选簇。除了使用距离参数‘eps’选择候选簇之外,客户端装置102可以将参数‘distanceBleed’的值大于‘eps’的值的数据点标记为不对应于所选候选簇中的一个,例如,这样的数据点可以被标记为对应于噪声。
如上所述,在选择一个或多个候选簇之后,客户端装置102随后可以基于所选候选簇,向数据点的样本分配标签,和/或显示所选簇的可视化。当将标签分配给数据点的样本时,可以使用二叉树400。为了确定要分配给数据点的标签,客户端装置102可以首先查找其‘parentID’值,以确定其作为其一部分的最小候选簇。如果已经选择了对应于‘parentID’值的该候选簇,则根据该候选簇来标记数据点。另一方面,如果由‘parentID’值指示的候选簇尚未被选择,则客户端装置102进而检查沿二叉树向上(即,从子节点到父节点)的每一个祖先候选簇,直到到达所选候选簇或到达根簇为止。如果当以这种方式沿着二叉树向上时发现所选候选簇,则根据所选候选簇(例如,利用所选候选簇的标识符)来标记数据点。如果当沿着二叉树向上时没有发现选择的候选簇,则将数据点标记为不属于任何选择的候选簇。以这种方式,可以基于所选候选簇来单独地标记数据点。当然,也可以使用用于在客户端装置102处单独地标记数据点的其它技术。
图8示出了根据本公开实施例的由计算机服务器执行的方法800的流程图。方法800可以例如由上面讨论的系统100的计算机服务器104执行。在第一步骤802中,方法800涉及在计算机服务器处存储包括多个数据点的数据集。所述多个数据点可以是例如二维或三维空间中的数据点,如上所述。接下来,在步骤804中,方法800涉及确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合。这可以使用各种已知的聚类算法(诸如HDBSCAN)来实现。接下来,在步骤806中,方法800涉及为每一个候选簇确定该候选簇的一个或多个属性。所述一个或多个属性可以涉及候选簇的可以用于表征候选簇的任何属性或参数。作为示例,所述一个或多个属性可以包括以下中的一个或多个:候选簇中的数据点的数量、候选簇的偏斜、候选簇的圆形度、候选簇的密度、候选簇的面积、候选簇的体积、候选簇的回转半径和/或候选簇的长度。候选簇的其它属性也是可能的。可以使用属于该簇的数据点的坐标来计算每一个候选簇的所述一个或多个属性。随后,在步骤808处,该方法涉及向客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息、以及指示针对每一个候选簇确定的所述一个或多个属性的信息。例如,计算机服务器可以将数据传输到上述客户端装置102。计算机服务器可以在步骤808中使用计算机服务器与客户端装置之间的任何合适的通信信道(包括有线和无线通信信道)来执行传输。上面关于系统100的操作,特别是计算机服务器104的操作讨论的任何特征都可以与方法800共享。
图9示出了根据本公开实施例的由客户端装置执行的方法900的流程图。例如,方法900可以由上面讨论的系统100的客户端装置102执行。在第一步骤902中,方法900涉及从计算机服务器接收数据点的样本、指示多个候选簇的信息以及指示每一个候选簇的一个或多个属性的信息,其中,每一个候选簇对应于数据点样本的相应集合。例如,客户端装置可以从上述计算机服务器104接收数据。随后,在步骤904中,方法900涉及确定簇约束,其中,簇约束涉及所述一个或多个属性中的至少一个。可以以任何合适的方式确定簇约束。例如,如上所述,簇约束可以自动确定,或者基于在客户端装置处进行的用户输入来确定。接下来,在步骤906中,方法900涉及从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自数据点样本的每一个数据点属于所述一个或多个所选候选簇中的至多一个。随后,在步骤908处,方法900涉及基于所述一个或多个所选候选簇,生成输出。例如,客户端装置可以显示所述一个或多个所选候选簇。
方法900可以在方法800之后。换句话说,在一些实施例中,提供了一种方法,该方法包括方法800的步骤,之后是方法900的步骤。这种方法可以使用上述系统100来实现。
在上述说明书、后续权利要求书或附图中公开的特征,以其特定形式或根据用于执行所公开的功能的装置、或用于获得所公开的结果的方法或处理来表达,可以适当地单独地或以这些特征的任意组合来用于以其不同形式实现本发明。
虽然已经结合上述示例性实施例描述了本发明,但是当给出本公开时,许多等同的修改和变型对于本领域技术人员将是显而易见的。因此,上述本发明的示例性实施例被认为是说明性的而非限制性的。在不脱离本发明的精神和范围的情况下,可以对所描述的实施例进行各种改变。
Claims (24)
1.一种客户端装置,被配置为:
从计算机服务器接收数据点的样本、指示多个候选簇的信息以及指示每一个候选簇的一个或多个属性的信息,其中,每一个候选簇对应于所述数据点的样本的相应集合;
确定簇约束,其中,所述簇约束与所述一个或多个属性中的至少一个相关;
从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自所述数据点的样本的每一个数据点属于一个或多个所选候选簇中的至多一个;以及
基于所述一个或多个所选候选簇生成输出。
2.根据权利要求1所述的客户端装置,进一步被配置为基于在所述客户端装置处接收到的用户输入来确定所述簇约束。
3.根据权利要求2所述的客户端装置,进一步被配置为显示用于接收用户输入的用户界面,其中,所述用户界面被布置为使得能够选择所述至少一个属性的值或值的范围,并且其中,所述客户端装置被配置为基于经由所述用户界面选择的所述至少一个属性的值或值的范围,来确定所述簇约束。
4.根据前述权利要求中任一项所述的客户端装置,被配置为显示指示所述一个或多个所选候选簇的信息。
5.根据前述权利要求中任一项所述的客户端装置,进一步被配置为,针对所述数据点的样本中的每一个数据点:
确定所述数据点是否是所选候选簇中之一的一部分;以及
基于所述确定向所述数据点分配标签。
6.根据权利要求5所述的客户端装置,进一步被配置为显示所述数据点的样本及其分配的标签。
7.根据前述权利要求中任一项所述的客户端装置,进一步被配置为从所述计算机服务器接收指示所述多个候选簇中的每一个候选簇的稳定性的信息,并且通过以下步骤从所述多个候选簇中选择所述一个或多个候选簇:
拒绝所述多个候选簇中的其至少一个属性不满足所确定的簇约束的任何候选簇;以及
选择剩余候选簇中的一个或多个,以使所述剩余候选簇中的所选的一个或多个候选簇的稳定性之和最大化。
8.根据权利要求7所述的客户端装置,其中,指示所述多个候选簇的信息包括具有多个节点的树结构,其中每一个节点表示所述多个候选簇中的相应一个,其中所述多个节点被布置为使得:
所述树结构的根节点表示与所述数据点的样本中的所有数据点相对应的候选簇;并且
所述树结构的每一个子节点表示与数据点集合的相应子集相对应的子候选簇,所述数据点集合对应于由该子节点的父节点所表示的父候选簇。
9.根据权利要求8所述的客户端装置,其中,所述客户端装置被配置为,对于所述树结构中的每一个节点:
确定由该节点所表示的候选簇的稳定性是否大于由该节点的任何子节点所表示的候选簇的稳定性之和,并且如果是,则选择由该节点所表示的候选簇。
10.根据权利要求1至6中任一项所述的客户端装置,其中,所述数据点的样本是来自包括存储在所述计算机服务器处的多个数据点的数据集的样本,其中最小生成树连接所述多个数据点,其中,针对所述多个候选簇的每一个,指示所述一个或多个属性的信息包括该候选簇中的所述最小生成树的边的边权重的上边界的指示,并且其中,所述客户端装置进一步被配置为:
确定距离参数作为所述簇约束;
拒绝所述多个候选簇中上边界大于所述距离参数的任何候选簇;以及
选择剩余候选簇中的一个或多个。
11.根据前述权利要求中任一项所述的客户端装置,进一步被配置为:
显示视场内的数据点;
将由所述客户端装置显示的当前视场的指示传输到所述计算机服务器;以及
从所述计算机服务器接收数据点的样本,其中,所述数据点的样本对应于所述当前视场。
12.根据前述权利要求中任一项所述的客户端装置,其中,所述数据点的样本对应于生物图像中的特征位置。
13.一种计算机服务器,被配置为:
存储包括多个数据点的数据集;
确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合;
针对每一个候选簇,确定该候选簇的一个或多个属性;以及
向客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息。
14.根据权利要求13所述的计算机服务器,被配置为通过以下步骤确定所述多个候选簇:
为所述多个数据点构建最小生成树;
限定与所述多个数据点中的所有数据点相对应的根候选簇;
迭代地移除所述最小生成树中的最长边;以及
如果移除最长边得到两组连接数据点,每一组包括多于预定数量的数据点,则将每一组连接数据点限定为候选簇。
15.根据权利要求14所述的计算机服务器,进一步被配置为确定与该候选簇相对应的数据点之间的所述最小生成树的边的边权重的上边界,作为所述多个候选簇中的每一个的所述一个或多个属性中之一。
16.根据权利要求13至15中任一项所述的计算机服务器,被配置为生成具有多个节点的树结构,其中每一个节点表示所述多个候选簇中的相应一个,其中所述多个节点被布置为使得:
所述树结构的根节点表示与所述多个数据点中的所有数据点相对应的根候选簇;以及
所述树结构的每一个子节点表示与数据点集合的相应子集相对应的子候选簇,所述数据点集合对应于由该子节点的父节点所表示的父候选簇;以及
其中,指示所述多个候选簇的信息包括所述树结构。
17.根据权利要求13至16中任一项所述的计算机服务器,其中,由所述计算机服务器传输到所述客户端装置的所述多个数据点的样本是所述多个数据点的子样本。
18.根据权利要求13至17中任一项所述的计算机服务器,进一步被配置为:
从所述客户端装置接收由所述客户端装置显示的当前视场的指示;以及
将所述数据点的样本传输到所述客户端装置,其中,所述数据点的样本对应于所述当前视场。
19.根据权利要求13至18中任一项所述的计算机服务器,被配置为确定每一个候选簇的以下属性中的一个或多个:所述候选簇中的数据点的数量、所述候选簇的偏斜、所述候选簇的圆形度、所述候选簇的密度、所述候选簇的面积、所述候选簇的体积、所述候选簇的回转半径和/或所述候选簇的长度。
20.根据权利要求13至19中任一项所述的计算机服务器,其中,所述多个数据点对应于生物图像中的特征位置。
21.一种用于对数据点进行聚类的系统,所述系统包括计算机服务器和客户端装置,其中,所述计算机服务器被配置为:
存储包括多个数据点的数据集;
确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合;
针对每一个候选簇,确定该候选簇的一个或多个属性;以及
向所述客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息;
其中,所述客户端装置被配置为:
从所述计算机服务器接收所述数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息;
确定簇约束,其中,所述簇约束与每一个候选簇的所述一个或多个属性中的至少一个相关;
从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自所述数据点的样本的每一个数据点属于一个或多个所选候选簇中的至多一个;以及
基于所述一个或多个所选候选簇生成输出。
22.一种在客户端装置处对数据点进行聚类的方法,所述方法包括在客户端装置处:
从计算机服务器接收数据点的样本、指示多个候选簇的信息以及指示每一个候选簇的一个或多个属性的信息,其中,每一个候选簇对应于所述数据点的样本的相应集合;
确定簇约束,其中,所述簇约束与每一个候选簇的所述一个或多个属性中的至少一个相关;
从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自所述数据点的样本的每一个数据点属于一个或多个所选候选簇中的至多一个;以及
基于所述一个或多个所选候选簇生成输出。
23.一种处理数据集的方法,所述方法包括在计算机服务器处:
存储包括多个数据点的数据集;
确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合;
针对每一个候选簇,确定该候选簇的一个或多个属性;以及
向客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息。
24.一种利用包括计算机服务器和客户端装置的系统来对数据点进行聚类的方法,所述方法包括:
存储包括多个数据点的数据集;
确定所述多个数据点的多个候选簇,其中每一个候选簇对应于所述多个数据点的相应集合;
针对每一个候选簇,确定该候选簇的一个或多个属性;以及
向所述客户端装置传输所述多个数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息;
其中,所述客户端装置被配置为:
从所述计算机服务器接收数据点的样本、指示所述多个候选簇的信息以及指示针对每一个候选簇确定的所述一个或多个属性的信息;
确定簇约束,其中,所述簇约束与每一个候选簇的所述一个或多个属性中的至少一个相关;
从所述多个候选簇中选择一个或多个候选簇,其中,每一个所选候选簇的所述至少一个属性满足所确定的簇约束,并且其中,来自所述数据点的样本的每一个数据点属于一个或多个所选候选簇中的至多一个;以及
基于所述一个或多个所选候选簇生成输出。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2101432.9A GB2604093A (en) | 2021-02-02 | 2021-02-02 | System for clustering data points |
GB2101432.9 | 2021-02-02 | ||
PCT/EP2022/052480 WO2022167483A1 (en) | 2021-02-02 | 2022-02-02 | System for clustering data points |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117015812A true CN117015812A (zh) | 2023-11-07 |
Family
ID=74865356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280022597.2A Pending CN117015812A (zh) | 2021-02-02 | 2022-02-02 | 用于对数据点进行聚类的系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240104804A1 (zh) |
EP (1) | EP4288940A1 (zh) |
CN (1) | CN117015812A (zh) |
GB (1) | GB2604093A (zh) |
WO (1) | WO2022167483A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024013261A1 (en) | 2022-07-12 | 2024-01-18 | Oxford Nanoimaging, Inc. | Quantitative measurement of molecules using single molecule fluorescence microscopy |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9613254B1 (en) * | 2015-09-30 | 2017-04-04 | General Electric Company | Quantitative in situ characterization of heterogeneity in biological samples |
US20200193056A1 (en) * | 2018-12-12 | 2020-06-18 | Apple Inc. | On Device Personalization of Content to Protect User Privacy |
-
2021
- 2021-02-02 GB GB2101432.9A patent/GB2604093A/en active Pending
-
2022
- 2022-02-02 WO PCT/EP2022/052480 patent/WO2022167483A1/en active Application Filing
- 2022-02-02 EP EP22706749.3A patent/EP4288940A1/en active Pending
- 2022-02-02 CN CN202280022597.2A patent/CN117015812A/zh active Pending
- 2022-02-02 US US18/275,346 patent/US20240104804A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240104804A1 (en) | 2024-03-28 |
WO2022167483A1 (en) | 2022-08-11 |
EP4288940A1 (en) | 2023-12-13 |
GB202101432D0 (en) | 2021-03-17 |
GB2604093A (en) | 2022-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10083517B2 (en) | Segmentation of an image based on color and color differences | |
Basaraner et al. | Performance of shape indices and classification schemes for characterising perceptual shape complexity of building footprints in GIS | |
Tian et al. | Optimization in multi‐scale segmentation of high‐resolution satellite images for artificial feature recognition | |
CN110929607A (zh) | 一种城市建筑物施工进度的遥感识别方法和系统 | |
EP2678665A1 (en) | System for detection of non-uniformities in web-based materials | |
Chen et al. | Multi-resolution segmentation parameters optimization and evaluation for VHR remote sensing image based on mean NSQI and discrepancy measure | |
US20130156307A1 (en) | Systems and methods for efficiently and accurately detecting changes in spatial feature data | |
CN113033516A (zh) | 对象识别统计方法及装置、电子设备、存储介质 | |
CN116416884B (zh) | 一种显示器模组的测试装置及其测试方法 | |
CN115359873B (zh) | 用于手术质量的控制方法 | |
JP5337673B2 (ja) | 画像検索システム | |
CN107423771B (zh) | 一种两时相遥感图像变化检测方法 | |
CN117015812A (zh) | 用于对数据点进行聚类的系统 | |
CN117809124A (zh) | 基于多特征融合的医学图像关联调用方法及系统 | |
Beilschmidt et al. | A linear-time algorithm for the aggregation and visualization of big spatial point data | |
Lv et al. | BTS: a binary tree sampling strategy for object identification based on deep learning | |
Bernard et al. | Multiscale visual quality assessment for cluster analysis with Self-Organizing Maps | |
Ward et al. | Quality-aware visual data analysis | |
CN113657179A (zh) | 图像识别及建模方法、装置、电子设备及存储介质 | |
WO2018165530A1 (en) | Method of constructing a reusable low-dimensionality map of high-dimensionality data | |
JP2004185259A (ja) | 蓄積画像管理装置及びプログラム | |
CN112465821A (zh) | 一种基于边界关键点感知的多尺度害虫图像检测方法 | |
Gonçalves et al. | Evaluation of soft possibilistic classifications with non-specificity uncertainty measures | |
CA2845601A1 (en) | Segmentation of an image based on color and color differences | |
Beauchemin | Semi-supervised map regionalization for categorical data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |