The Euler characteristic (EC) is a powerful topological descriptor that can be used to quantify the shape of data objects that are represented as fields/manifolds. Fast methods for computing the EC are required to enable processing of high-throughput data and real-time implementations. This represents a challenge when processing high-resolution 2D field data (e.g., images) and 3D field data (e.g., video, hyperspectral images, and space-time data obtained from fluid dynamics and molecular simulations). In this work, we present parallel algorithms (and software implementations) to enable fast computations of the EC for 2D and 3D fields using vertex contributions. We test the proposed algorithms using synthetic data objects and data objects arising in real applications such as microscopy, 3D molecular dynamics simulations, and hyperspectral images. Results show that the proposed implementation can compute the EC a couple of orders of magnitude faster than ${\tt GUDHI}$ (an off-the-shelf and state-of-the art tool) and at speeds comparable to ${\tt CHUNKYEuler}$ (a tool tailored to scalable computation of the EC). The vertex contributions approach is flexible in that it compute the EC as well as other topological descriptors such as perimeter, area, and volume (${\tt CHUNKYEuler}$ can only compute the EC). Scalability with respect to memory use is also addressed by providing low-memory versions of the algorithms; this enables processing of data objects beyond the size of dynamic memory. All data and software needed for reproducing the results are shared as open-source code.
翻译:欧拉示性数(EC)是一种强大的拓扑描述符,可用于量化表示为场/流形的数据对象的形状特征。为处理高通量数据及实现实时应用,需要快速计算欧拉示性数的方法。这在处理高分辨率二维场数据(如图像)和三维场数据(如视频、高光谱图像、以及流体动力学与分子模拟中的时空数据)时构成了挑战。本文提出了并行算法(及软件实现),通过顶点贡献法实现二维与三维场欧拉示性数的快速计算。我们使用合成数据对象以及真实应用场景中的显微图像、三维分子动力学模拟和高光谱图像等数据对象对算法进行测试。结果表明,所提实现方案计算欧拉示性数的速度比现成的先进工具${\tt GUDHI}$快数个数量级,且与专为可扩展EC计算设计的工具${\tt CHUNKYEuler}$速度相当。顶点贡献法具有灵活性,不仅可计算欧拉示性数,还能计算周长、面积和体积等其他拓扑描述符(而${\tt CHUNKYEuler}$仅能计算欧拉示性数)。通过提供低内存版本的算法,我们解决了内存可扩展性问题,使得可处理超出动态内存大小的数据对象。所有复现结果所需的数据和软件均以开源代码形式共享。