<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Archiving and Interchange DTD v2.3 20070202//EN" "archivearticle.dtd">
<article article-type="methods-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Bioinform.</journal-id>
<journal-title>Frontiers in Bioinformatics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Bioinform.</abbrev-journal-title>
<issn pub-type="epub">2673-7647</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1249291</article-id>
<article-id pub-id-type="doi">10.3389/fbinf.2023.1249291</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Bioinformatics</subject>
<subj-group>
<subject>Methods</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Optimizing Voronoi-based quantifications for reaching interactive analysis of 3D localizations in the million range</article-title>
<alt-title alt-title-type="left-running-head">Levet</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fbinf.2023.1249291">10.3389/fbinf.2023.1249291</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Levet</surname>
<given-names>Florian</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1166947/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>CNRS</institution>, <institution>Interdisciplinary Institute for Neuroscience, IINS</institution>, <institution>UMR 5297</institution>, <institution>University of Bordeaux</institution>, <addr-line>Bordeaux</addr-line>, <country>France</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>CNRS</institution>, <institution>INSERM</institution>, <institution>Bordeaux Imaging Center, BIC</institution>, <institution>UAR3420</institution>, <institution>US 4</institution>, <institution>University of Bordeaux</institution>, <addr-line>Bordeaux</addr-line>, <country>France</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2060245/overview">Hannah S. Heil</ext-link>, Gulbenkian Institute of Science (IGC), Portugal</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2362785/overview">Leonid Andronov</ext-link>, Stanford University, United States</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1563354/overview">Koen Martens</ext-link>, University of Bonn, Germany</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Florian Levet, <email>florian.levet@u-bordeaux.fr</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>04</day>
<month>08</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>3</volume>
<elocation-id>1249291</elocation-id>
<history>
<date date-type="received">
<day>28</day>
<month>06</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>27</day>
<month>07</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Levet.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Levet</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Over the last decade, single-molecule localization microscopy (SMLM) has revolutionized cell biology, making it possible to monitor molecular organization and dynamics with spatial resolution of a few nanometers. Despite being a relatively recent field, SMLM has witnessed the development of dozens of analysis methods for problems as diverse as segmentation, clustering, tracking or colocalization. Among those, Voronoi-based methods have achieved a prominent position for 2D analysis as robust and efficient implementations were available for generating 2D Voronoi diagrams. Unfortunately, this was not the case for 3D Voronoi diagrams, and existing methods were therefore extremely time-consuming. In this work, we present a new hybrid CPU-GPU algorithm for the rapid generation of 3D Voronoi diagrams. Voro3D allows creating Voronoi diagrams of datasets composed of millions of localizations in minutes, making any Voronoi-based analysis method such as SR-Tesseler accessible to life scientists wanting to quantify 3D datasets. In addition, we also improve ClusterVisu, a Voronoi-based clustering method using Monte-Carlo simulations, by demonstrating that those costly simulations can be correctly approximated by a customized gamma probability distribution function.</p>
</abstract>
<kwd-group>
<kwd>single molecule localisation microscopy (SMLM)</kwd>
<kwd>segmentation</kwd>
<kwd>Voronoi&#x2013;Delaunay tessellation</kwd>
<kwd>GPU (CUDA)</kwd>
<kwd>clustering</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Computational BioImaging</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>Introduction</title>
<p>SMLM has induced a major paradigm shift from conventional light microscopy modalities: SMLM datasets are composed of the precise coordinates, in 2D or 3D, of the molecules being acquired. As pixel-based analysis methods were not adapted, these point clouds have required the development of a whole new set of analysis tools based on geometry and spatial organization (<xref ref-type="bibr" rid="B16">Khater et al., 2020</xref>). Among those, Voronoi-based methods have emerged as one of the standard in the field, whether it be for clustering (<xref ref-type="bibr" rid="B2">Andronov et al., 2016</xref>), segmentation (<xref ref-type="bibr" rid="B18">Levet et al., 2015</xref>; <xref ref-type="bibr" rid="B27">Peters et al., 2017</xref>) or colocalization (<xref ref-type="bibr" rid="B19">Levet et al., 2019</xref>; <xref ref-type="bibr" rid="B9">Ejdrup et al., 2022</xref>) and motion (<xref ref-type="bibr" rid="B5">Beheiry. et al., 2015</xref>) analysis.</p>
<p>Nevertheless, the rapid adoption of SMLM by life scientists has highlighted an important limitation of existing analysis methods. As datasets composed of millions of localizations are now routinely acquired in biology labs and facilities, it has become obvious that very few methods were capable of scaling to this magnitude, and that especially in 3D. This results in the necessity to define small ROIs composed of 10<sup>4</sup>&#x2013;10<sup>5</sup> localizations for analysis, as quantifying a whole dataset in one go is out of reach. For instance, and while 3D analysis with Voronoi diagrams is available for a few years now, it takes several hours to quantify datasets in the 1.10<sup>6</sup> localization range (<xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>). This unfortunately lacks the interactivity required when analyzing an unknown biological model, as life scientists may need to fine-tune their analysis parameters through several attempts.</p>
<p>In this paper, we propose to optimize two Voronoi-based quantification methods for segmentation and clustering, SR-Tesseler (<xref ref-type="bibr" rid="B18">Levet et al., 2015</xref>) and ClusterVisu (<xref ref-type="bibr" rid="B2">Andronov et al., 2016</xref>; <xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>), to make them interactive for analyzing 3D SMLM datasets in the millions range. Our contributions are twofold. First, we have developed a new hybrid CPU-GPU algorithm (called Voro3D) for the rapid generation of 3D Voronoi diagrams. Voro3D allows constructing diagrams composed of millions of localizations in a few minutes, achieving state of the art timing for heterogeneous point clouds. Second, we have shown that clustering can be performed without requiring the use of costly Monte Carlo simulations (<xref ref-type="bibr" rid="B2">Andronov et al., 2016</xref>; <xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>), as the cell size distribution of randomly placed localizations can be approximated by an analytical function. All these developments are available in our newly released PoCA platform (<xref ref-type="bibr" rid="B20">Levet and Sibarita, 2023</xref>).</p>
</sec>
<sec sec-type="methods" id="s2">
<title>Methods</title>
<sec id="s2-1">
<title>3D Voronoi diagram generation</title>
<p>Voronoi diagram is a well-known space-subdividing technique used in dozens of different domains (<xref ref-type="bibr" rid="B3">Atsuyuki et al., 2003</xref>) that also met great success in the context of SMLM (<xref ref-type="bibr" rid="B5">Beheiry. et al., 2015</xref>; <xref ref-type="bibr" rid="B18">Levet et al., 2015</xref>; <xref ref-type="bibr" rid="B2">Andronov et al., 2016</xref>; <xref ref-type="bibr" rid="B27">Peters et al., 2017</xref>; <xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>; <xref ref-type="bibr" rid="B19">Levet et al., 2019</xref>; <xref ref-type="bibr" rid="B9">Ejdrup et al., 2022</xref>). Depending on the application, it can be generated with or without its global combinatorial information (i.e., the global mesh geometry) using a variant of the Bower-Watson (<xref ref-type="bibr" rid="B6">Bowyer, 1981</xref>; <xref ref-type="bibr" rid="B32">Watson, 1981</xref>) or Lloyd (<xref ref-type="bibr" rid="B21">Lloyd, 1982</xref>) algorithms. As expected, algorithms generating the global combinatorial information are costlier, thus necessitating access to CPU clusters (<xref ref-type="bibr" rid="B8">Chrisochoides and Nave, 2003</xref>; <xref ref-type="bibr" rid="B13">Gonz&#xe1;lez, 2016</xref>) or machines with large number of cores (<xref ref-type="bibr" rid="B7">CGAL, 2020</xref>), two equipment that may be out of reach for most biology labs. On the other hand, and when this combinatorial information is unnecessary, each Voronoi cell can be computed individually without requiring synchronization of the global geometry. In this case, each cell only requires to gather its direct neighbors to be generated. Algorithms based on this idea combine supervised spatial subdivisions (subdivision techniques requiring a user-defined parameter for gathering neighbors) with parallelization (<xref ref-type="bibr" rid="B30">Rycroft, 2009</xref>; <xref ref-type="bibr" rid="B28">Ray et al., 2018</xref>) to speed up the computation speed (<xref ref-type="fig" rid="F1">Figure 1A</xref>). Nevertheless, these implementations are based on the assumption that the originating point clouds are evenly distributed, i.e., that their spatial distribution is homogeneous, which is in general not the case for SMLM data. In <xref ref-type="bibr" rid="B28">Ray et al. (2018)</xref>, the authors managed to create 3D Voronoi diagrams of millions of points in a few seconds on the GPU. This impressive result was achieved by retrieving the <italic>k</italic>-closest neighbors of each point with a kd-tree, and by using them to brute force the Voronoi cell construction. Nevertheless, this implies that the <italic>k</italic>-nearest neighbors surrounding a point represent a proper sampling of its vicinity, a hypothesis that is only certified in the case of a homogeneous distribution combined with a sufficient number of neighbors (<xref ref-type="fig" rid="F1">Figure 1A</xref> top).</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Comparison of the vicinity sampling of a specific point (green) with different spatial subdivision techniques and distributions. <bold>(A)</bold> Supervised spatial subdivision techniques (kd-tree, <italic>n</italic> &#x3d; 10; quad-tree, side &#x3d; 25) properly sample the point vicinity (orange) in the homogeneous case (left) but fail to correctly capture some region of the vicinity (blue) for heterogeneous distributions (right). <bold>(B)</bold> On the contrary, unsupervised techniques (Delaunay triangulation and Voronoi diagram) properly sample the point vicinity (orange) for both homogeneous and heterogeneous distributions.</p>
</caption>
<graphic xlink:href="fbinf-03-1249291-g001.tif"/>
</fig>
<p>To adapt this process to inhomogeneous point cloud data, we used the Delaunay triangulation, which is the dual of the Voronoi diagram, to compute the Voronoi diagram (<xref ref-type="statement" rid="algorithm_1">Algorithm 1</xref>). We integrated a very efficient CPU implementation available in the <xref ref-type="bibr" rid="B7">CGAL (2020)</xref> library, that allows computing a 3D Delaunay diagram of 10 million of localizations in around 10&#xa0;s with a standard computer. Using the connectivity provided by the Delaunay triangulation, all the direct neighbors <italic>p</italic>
<sub>
<italic>n</italic>
</sub> of a given point <italic>p</italic>, i.e., the points part of the tetrahedrons originating from <italic>p</italic>, can be efficiently retrieved. Contrary to the k-nearest neighbors, <italic>p</italic>
<sub>
<italic>n</italic>
</sub> is guaranteed to accurately describe the vicinity of <italic>p</italic> in all directions (<xref ref-type="fig" rid="F1">Figure 1B</xref> top). We then modified the algorithm provided in (<xref ref-type="bibr" rid="B28">Ray et al., 2018</xref>) to brute force the Voronoi diagram construction on the GPU using <italic>p</italic>
<sub>
<italic>n</italic>
</sub> (<xref ref-type="fig" rid="F1">Figure 1B</xref> bottom), allowing creating the 3D Voronoi diagrams of inhomogeneous SMLM point cloud data composed of millions of localizations in a few minutes. Implementation discrepancies between CGAL and the GPU code (<xref ref-type="bibr" rid="B28">Ray et al., 2018</xref>) forced us to develop a function gathering all the localizations&#x2019; direct neighbors in an array (<xref ref-type="statement" rid="algorithm_1">Algorithm 1</xref> line 2). In addition, the Voronoi cells are not returned in (<xref ref-type="bibr" rid="B28">Ray et al., 2018</xref>) since their application only required to compute the cells volume, a feature for which it is unnecessary to explicitly create the cells. Consequently, we added a CPU function to create the Voronoi cells from the convex hull of the cells&#x2019; points (<xref ref-type="bibr" rid="B4">Barber et al., 1996</xref>).</p>
<p>
<statement content-type="algorithm" id="algorithm_1">
<label>Algorithm 1</label>
<p>Voro3D pseudocode.</p>
<p>
<inline-graphic xlink:href="fbinf-03-1249291-fx1.tif"/>
</p>
</statement>
</p>
</sec>
<sec id="s2-2">
<title>Voronoi-based clustering</title>
<p>To perform statistical clustering, Andronov et al. compared experimental SMLM datasets with Monte Carlo simulations (<xref ref-type="bibr" rid="B2">Andronov et al., 2016</xref>; <xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>) (<xref ref-type="fig" rid="F2">Figure 2</xref>). They generated a user-defined number of simulations having the same number of localizations and volume but exhibiting a random spatial distribution (<xref ref-type="fig" rid="F2">Figures 2A, B</xref>). By comparing the cell size distribution (i.e., volume for three dimensional datasets) of the experimental dataset with the mean cell size distribution of all the simulations, they were able to automatically determine a threshold to segment clusters (<xref ref-type="fig" rid="F2">Figures 2C, D</xref>). Their technique has a strong limitation: as their implementation of the 3D Voronoi diagram was not optimized, and since the global computation time linearly scales with the number of simulations, 3DClusterVisu took up to 6&#xa0;h for analyzing datasets in the 1.10<sup>6</sup> localizations range.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>ClusterVisu method. <bold>(A)</bold> Clustered simulation exhibiting 20 clusters (left) with corresponding Voronoi diagram (middle) and cell size distribution (right). <bold>(B)</bold> Simulations of randomly placed points (left) having the same density and area of the clustered simulation with corresponding Voronoi diagrams (middle) and cell size distributions (right). <bold>(C)</bold> Threshold (green) is identified as the intersection between the cell size distribution of the clustered simulation (red) and the mean of the cell size distributions of all the random simulations (blue), with the envelope being displayed in orange. <bold>(D)</bold> Corresponding Voronoi cells selection (left) and clusters (right).</p>
</caption>
<graphic xlink:href="fbinf-03-1249291-g002.tif"/>
</fig>
<p>Voronoi diagrams of random spatial distributions are called Poisson Voronoi diagrams and have been extensively studied (<xref ref-type="bibr" rid="B14">Hermann et al., 1989</xref>; <xref ref-type="bibr" rid="B17">Kumar et al., 1992</xref>; <xref ref-type="bibr" rid="B23">Masaharu, 2003</xref>; <xref ref-type="bibr" rid="B11">Ferenc and N&#xe9;da, 2007</xref>; <xref ref-type="bibr" rid="B15">Hinde and Miles, 2007</xref>; <xref ref-type="bibr" rid="B33">Zaninetti, 2009</xref>; <xref ref-type="bibr" rid="B12">Gonz&#xe1;lez and Einstein, 2011</xref>). Of particular interest is the cell size distribution <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, with <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> the cells&#x2019; size, which is used in ClusterVisu (<xref ref-type="bibr" rid="B2">Andronov et al., 2016</xref>; <xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>). Its normalization <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x2329;" close="&#x232a;" separators="|">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, with <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mfenced open="&#x2329;" close="&#x232a;" separators="|">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> the mean of the cells&#x2019; size, can be expressed as an analytical function with closed form, but only for the one dimensional case (<xref ref-type="bibr" rid="B11">Ferenc and N&#xe9;da, 2007</xref>). However there exist several probability distribution functions that provide an approximate numerical solution, based on Gamma distributions (<xref ref-type="bibr" rid="B10">Enderlein et al., 1961</xref>) having two (<italic>a</italic> and <italic>b</italic>) (<xref ref-type="bibr" rid="B11">Ferenc and N&#xe9;da, 2007</xref>) or three (<italic>a</italic>, <italic>b</italic> and <italic>c</italic>) (<xref ref-type="bibr" rid="B23">Masaharu, 2003</xref>; <xref ref-type="bibr" rid="B15">Hinde and Miles, 2007</xref>) parameters:<disp-formula id="equ1">
<mml:math id="m5">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mfrac>
<mml:msup>
<mml:mi>b</mml:mi>
<mml:mfrac bevelled="true">
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac bevelled="true">
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ2">
<mml:math id="m6">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msup>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>with <italic>a</italic> and <italic>c</italic> two shape parameters and <italic>b</italic> a scale parameter. From all the proposed distributions, we used the ones from <xref ref-type="bibr" rid="B11">Ferenc and N&#xe9;da (2007)</xref>:<disp-formula id="e1">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>343</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msqrt>
<mml:mfrac>
<mml:mn>7</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:msqrt>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mfrac bevelled="true">
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:msup>
<mml:mi mathvariant="italic">exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>7</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
<disp-formula id="e2">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>3125</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mn>4</mml:mn>
</mml:msup>
<mml:mi mathvariant="italic">exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>The error between the cell size distribution of simulated datasets and this analytical distribution has been quantified to be less than 0.04% and 1%, for 2D and 3D, respectively (<xref ref-type="bibr" rid="B11">Ferenc and N&#xe9;da, 2007</xref>).</p>
<p>Nevertheless, blinking of the molecules is not taken into account by this numerical approximation. Monte Carlo simulations, on the other hand, should be able to integrate this blinking behavior in the cell size distribution, as long as the simulator provides a realistic simulation of blinking, a task known to be difficult. Another difference between the numerical approximation and Monte Carlo simulations is the cell size distribution envelope provided by running several simulations (<xref ref-type="fig" rid="F2">Figure 2C</xref>). This envelope helps to assess how much an experimental dataset deviates from a random distribution of points. Another potential solution to quantify this deviation is to compute the Ripley&#x2019;s functions (<xref ref-type="bibr" rid="B29">Ripley, 1977</xref>; <xref ref-type="bibr" rid="B25">Nieves et al., 2023</xref>).</p>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>Results</title>
<p>Voro3D is available in our newly released SMLM analysis platform called PoCA (<xref ref-type="bibr" rid="B20">Levet and Sibarita, 2023</xref>). While PoCA is developed in C&#x2b;&#x2b; and can therefore be executed on any computer, Voro3D is implemented in Cuda (<xref ref-type="bibr" rid="B24">Nickolls et al., 2008</xref>) and therefore requires a computer equipped with a Nvidia graphics card (<ext-link ext-link-type="uri" xlink:href="https://www.nvidia.com/">https://www.nvidia.com/</ext-link>). To our knowledge, the only two libraries implementing 3D Voronoi diagrams for heterogeneous point clouds that are directly accessible are SciPy (<xref ref-type="bibr" rid="B31">Virtanen et al., 2020</xref>) (<xref ref-type="sec" rid="s10">Supplementary Material</xref>) and <xref ref-type="bibr" rid="B7">CGAL (2020)</xref>, which was included in one of our precedent software platform (<xref ref-type="bibr" rid="B19">Levet et al., 2019</xref>). We therefore compared the execution time of Voro3D versus SciPy and CGAL for datasets exhibiting a random spatial distribution and ranging from 10<sup>3</sup> to 10<sup>7</sup> localizations (<xref ref-type="fig" rid="F3">Figure 3A</xref>). Voro3D is consistently faster than the other two solutions. It achieves generating a 3D Voronoi diagram from a dataset composed of 10 million localizations in close to 1&#xa0;min and a half, a time suitable with an interactive analysis. Importantly, the implementation of Voro3D available in PoCA takes longer as more operations are performed. In addition to the three steps of the pseudocode (<xref ref-type="statement" rid="algorithm_1">Algorithm 1</xref>), there are two additional steps pertaining to computational operations performed on the Delaunay triangulation and the Voronoi diagram, such as computation of the tetrahedra volume or creation of the OpenGL rendering buffers (<xref ref-type="fig" rid="F3">Figure 3B</xref>). Time ratio between the different steps shows the extreme efficiency of both the Delaunay triangulation generation (multithreaded on the CPU, 10.4&#xa0;s for 10 million localizations) and the construction of the Voronoi cells (GPU, 1.55&#xa0;s for 10 million localizations). Most of the time is spent on operations performed on CPU without multithreading (92%), such as computational operations on the Delaunay triangulation (43%) or gathering the direct neighbors for the Voronoi cell construction (45%). Finally, the Voronoi GPU code (<xref ref-type="bibr" rid="B28">Ray et al., 2018</xref>) computes the Voronoi cells as a combination of tetrahedra, i.e., Voronoi cells are not explicitly constructed and returned. We therefore added an optional function to compute the Voronoi cells based on the convex hull (<xref ref-type="bibr" rid="B4">Barber et al., 1996</xref>) (<xref ref-type="statement" rid="algorithm_1">Algorithm 1</xref>). This function is time consuming as it is single-threaded and non-optimized (<xref ref-type="fig" rid="F3">Figure 3C</xref>).</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Comparison of timings for different algorithms. <bold>(A)</bold> Comparison of timings for SciPy, CGAL, PoCA and Voro3D for datasets ranging from 1,000 to 10,000,000 localizations. <bold>(B)</bold> Normalized timings for each step of the 3D Voronoi diagram generation implemented in PoCA. <bold>(C)</bold> Timings for computing the convex hull of the Voronoi cells for datasets ranging from 1,000 to 10,000,000 localizations. For comparison, the timings for generating the 3D Voronoi diagram for 10,000,000 localizations with Scipy (dark yellow), CGAL (blue) and Voro3D (green) are plotted.</p>
</caption>
<graphic xlink:href="fbinf-03-1249291-g003.tif"/>
</fig>
<p>While Voro3D already greatly improves the computation time of 3DClusterVisu (15&#xa0;min with Voro3D versus 6&#xa0;h for the original 3DClusterVisu (<xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>) for a dataset composed of 780,000 localizations), using an analytical function approximating the cell size distribution eliminates any additional computational time. Therefore, to demonstrate that Eq. <xref ref-type="disp-formula" rid="e2">2</xref> is a good approximation for 3DClusterVisu (<xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>) we first generated a simulated dataset composed of 20 clusters (<xref ref-type="fig" rid="F4">Figure 4A</xref>, referred as experimental), and then computed fifty Monte Carlo simulations having the same localization density but with a random spatial distribution (referred as simulations). The cell volume probability distribution function (PDF) of experimental and simulations were both normalized to be comparable with the analytical PDF (<xref ref-type="fig" rid="F4">Figures 4B, C</xref>). Importantly, we also removed Voronoi cells that were on the border of the dataset volume (i.e., they were cut by the dataset bounding volume) to prevent any edge effect. We found that the simulations and analytical PDFs were not significantly different (<xref ref-type="fig" rid="F4">Figure 4B</xref>, Wilcoxon rank test <italic>p</italic>-value &#x3d; 0.1211), a property that also transfers to the computed thresholds (<xref ref-type="fig" rid="F4">Figure 4C</xref>, T<sub>simulations</sub> &#x3d; 0.307, T<sub>analytical</sub> &#x3d; 0.312). Finally, objects created with these thresholds exhibited similar shapes and volumes (<xref ref-type="fig" rid="F4">Figures 4D, E</xref>) and their volume distributions were not significantly different (Kolmogorov-Smirnov test <italic>p</italic>-value &#x3d; 0.818). We also compared the volume of each object in the simulations with its counterpart in the analytical and quantified the mean difference to be less than 1%. Finally, we also compared clustering between Monte-Carlo simulations and Eq. <xref ref-type="disp-formula" rid="e2">2</xref> on an experimental dataset of <italic>Xenopus laevis</italic> nuclear pore complexes stained with WGA-ATTO520 (<xref ref-type="bibr" rid="B22">L&#xf6;schberger, 2021</xref>) available for download on ShareLoc (<xref ref-type="bibr" rid="B26">Ouyang et al., 2022</xref>) (<xref ref-type="fig" rid="F5">Figure 5A</xref>). Similarly to the simulations, the number of segmented clusters is very similar (ClusterVisu, <italic>n</italic> &#x3d; 1,108; Eq. <xref ref-type="disp-formula" rid="e2">2</xref>, <italic>n</italic> &#x3d; 1,112; <xref ref-type="fig" rid="F5">Figure 5B</xref>) and their distributions of volume are not significantly different (Kolmogorov-Smirnov test <italic>p</italic>-value &#x3d; 0.788, <xref ref-type="fig" rid="F5">Figure 5C</xref>).</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Comparison of clustering with Monte-Carlo simulations and a customized gamma distribution on simulations. <bold>(A)</bold> Simulation of a 3D dataset exhibiting 20 clusters. <bold>(B)</bold> Comparison of the distribution of normalized Voronoi cells volume between Monte-Carlo simulations (blue) and Eq. <xref ref-type="disp-formula" rid="e2">2</xref> (dark yellow). <bold>(C)</bold> Computed threshold (green) with Monte-Carlo simulations (left) and Eq. <xref ref-type="disp-formula" rid="e2">2</xref> (right). <bold>(D)</bold> Segmented clusters with Monte-Carlo simulations (left) and Eq. <xref ref-type="disp-formula" rid="e2">2</xref> (right). <bold>(E)</bold> Comparison of the segmented cluster volumes with Monte-Carlo simulations (blue) and Eq. <xref ref-type="disp-formula" rid="e2">2</xref> (dark yellow).</p>
</caption>
<graphic xlink:href="fbinf-03-1249291-g004.tif"/>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Comparison of clustering with Monte-Carlo simulations and a customized gamma distribution on an experimental dataset. <bold>(A)</bold> Localization dataset of <italic>Xenopus laevis</italic> nuclear pore complexes stained with WGA-ATTO520, scale bar &#x3d; 500&#xa0;nm. <bold>(B)</bold> Segmented clusters obtained with ClusterVisu (left) and Eq. <xref ref-type="disp-formula" rid="e2">2</xref> (right), scale bar &#x3d; 500&#xa0;nm. <bold>(C)</bold> Comparison of the segmented cluster volumes with Monte-Carlo simulations (blue) and Eq. <xref ref-type="disp-formula" rid="e2">2</xref> (dark yellow).</p>
</caption>
<graphic xlink:href="fbinf-03-1249291-g005.tif"/>
</fig>
</sec>
<sec sec-type="discussion" id="s4">
<title>Discussion</title>
<p>As 3D SMLM is increasingly adopted by biology labs by ways of imaging facilities, the bottleneck has shifted from not having the technology to image to not being able to analyze and extract meaningful quantifications from the acquired datasets. In the context of 2D SMLM analysis, Voronoi diagrams has become a method of reference (<xref ref-type="bibr" rid="B18">Levet et al., 2015</xref>; <xref ref-type="bibr" rid="B2">Andronov et al., 2016</xref>; <xref ref-type="bibr" rid="B27">Peters et al., 2017</xref>; <xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>; <xref ref-type="bibr" rid="B19">Levet et al., 2019</xref>) thanks in part to its rapidity that gave life scientists interactive feedbacks on quantifications. Unfortunately, 3D Voronoi analysis was extremely time-consuming, preventing its use for datasets composed of millions of 3D localizations.</p>
<p>In this paper, we presented a novel hybrid CPU-GPU algorithm called Voro3D for the fast computation of 3D Voronoi diagrams. This algorithm achieves state of the art computation time for point clouds exhibiting heterogeneous spatial distribution. While its implementation in PoCA is slightly more computationally expensive, it is still compatible with an interactive analysis. Voro3D also improves the computation time of any method based on Voronoi diagrams, such as ClusterVisu (<xref ref-type="bibr" rid="B2">Andronov et al., 2016</xref>; <xref ref-type="bibr" rid="B1">Andronov et al., 2018</xref>). Nevertheless, we also demonstrated that the main component of ClusterVisu, the cell size probability distribution function, can be correctly approximated by a customized gamma distribution. This results in the capability of computing clustering of SMLM datasets with no other additional cost than the Voronoi diagram computation.</p>
<p>From the three steps of the Voro3D algorithm, inspection of the computation time has shown that the majority of the computation time is spent on transferring the localizations&#x2019; neighbors from the Delaunay triangulation to the Voronoi diagram (Delaunay computation: 12%, transferring neighbors: 86%, Voronoi computation: 2%). This transfer step is currently required because of discrepancies between the CGAL and Cuda implementations. Multi-threading this step could reduce even more the Voro3D computation time. Similarly, construction of the Voronoi cells is currently time consuming as it is a single-thread CPU process. Constructing the cell at the same time than the tetrahedral decomposition happening in the GPU could massively improve its computation time.</p>
<p>Voro3D is natively included in PoCA and our implementation of ClusterVisu (with Monte Carlo simulations and our analytical approximation) is available as a PoCA&#x2019;s plugin.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>Publicly available datasets were analyzed in this study. This data can be found here: <ext-link ext-link-type="uri" xlink:href="https://zenodo.org/record/7182237">https://zenodo.org/record/7182237</ext-link>.</p>
</sec>
<sec id="s6">
<title>Author contributions</title>
<p>FL developed the software, made the figures and wrote the manuscript.</p>
</sec>
<sec id="s7">
<title>Funding</title>
<p>This work was supported by the Minist&#xe8;re de l&#x2019;Enseignement Sup&#xe9;rieur et de la Recherche (ANR-20-CE11-0006 NANO-SYNATLAS), the Centre National de la Recherche Scientifique (CNRS), the Conseil R&#xe9;gional d&#x2019;Aquitaine and the Institut National de la Sant&#xe9; et de la Recherche M&#xe9;dicale (Inserm). We also acknowledge France-BioImaging infrastructure supported by the French National Research Agency (ANR-10-INBS-04).</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>The author declares that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="s10">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fbinf.2023.1249291/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fbinf.2023.1249291/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="DataSheet1.pdf" id="SM1" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Andronov</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Michalon</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ouararhni</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Orlov</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Hamiche</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Vonesch</surname>
<given-names>J. L.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>3DClusterViSu: 3D clustering analysis of super-resolution microscopy data by 3D voronoi tessellations</article-title>. <source>Bioinformatics</source> <volume>34</volume>, <fpage>3004</fpage>&#x2013;<lpage>3012</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/bty200</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Andronov</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Orlov</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Lutz</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Vonesch</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Klaholz</surname>
<given-names>B. P.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>ClusterViSu, a method for clustering of protein complexes by Voronoi tessellation in super-resolution microscopy</article-title>. <source>Nat. Publ. Gr.</source> <volume>6</volume>, <fpage>24084</fpage>&#x2013;<lpage>24089</lpage>. <pub-id pub-id-type="doi">10.1038/srep24084</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Atsuyuki</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Barry.</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Kokichi</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Sung Nok</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2003</year>). <source>Spatial tessellations: Concepts and applications of Voronoi diagrams</source>. <publisher-loc>Hoboken</publisher-loc>: <publisher-name>Wiley</publisher-name>.</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Barber</surname>
<given-names>C. B.</given-names>
</name>
<name>
<surname>Dobkin</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Huhdanpaa</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>1996</year>). <article-title>The quickhull algorithm for convex hulls</article-title>. <source>ACM Trans. Math. Softw.</source> <volume>22</volume>, <fpage>469</fpage>&#x2013;<lpage>483</lpage>. <pub-id pub-id-type="doi">10.1145/235815.235821</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Beheiry.</surname>
<given-names>M. E.</given-names>
</name>
<name>
<surname>Dahan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Masson</surname>
<given-names>J. B.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>InferenceMAP: Mapping of single-molecule dynamics with bayesian inference</article-title>. <source>Nat. Methods 2015</source> <volume>127</volume> (<issue>12</issue>), <fpage>594</fpage>&#x2013;<lpage>595</lpage>. <pub-id pub-id-type="doi">10.1038/nmeth.3441</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bowyer</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>1981</year>). <article-title>Computing dirichlet tessellations</article-title>. <source>Comput. J.</source> <volume>24</volume>, <fpage>162</fpage>&#x2013;<lpage>166</lpage>. <pub-id pub-id-type="doi">10.1093/comjnl/24.2.162</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="book">
<collab>CGAL</collab> (<year>2020</year>). <source>The CGAL project {CGAL} user and reference manual. CGAL editorial board</source>.</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chrisochoides</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Nave</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>Parallel Delaunay mesh generation kernel</article-title>. <source>Int. J. Numer. Methods Eng.</source> <volume>58</volume>, <fpage>161</fpage>&#x2013;<lpage>176</lpage>. <pub-id pub-id-type="doi">10.1002/nme.765</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ejdrup</surname>
<given-names>A. L.</given-names>
</name>
<name>
<surname>Lycas</surname>
<given-names>M. D.</given-names>
</name>
<name>
<surname>Lorenzen</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Konomi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Herborg</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Madsen</surname>
<given-names>K. L.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>A density-based enrichment measure for assessing colocalization in single-molecule localization microscopy data</article-title>. <source>Nat. Commun. 2022</source> <volume>131</volume> (<issue>13</issue>), <fpage>4388</fpage>&#x2013;<lpage>4410</lpage>. <pub-id pub-id-type="doi">10.1038/s41467-022-32064-y</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Enderlein</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Hogg</surname>
<given-names>R. V.</given-names>
</name>
<name>
<surname>Craig</surname>
<given-names>A. T.</given-names>
</name>
</person-group> (<year>1961</year>). <article-title>Introduction to mathematical statistics. The macmillan company, New York, 1 Print 1959, 245 seiten, $ 6,75</article-title>. <source>Biom. Z.</source> <volume>3</volume>, <fpage>145</fpage>&#x2013;<lpage>146</lpage>. <pub-id pub-id-type="doi">10.1002/bimj.19610030210</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ferenc</surname>
<given-names>J. S.</given-names>
</name>
<name>
<surname>N&#xe9;da</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>On the size distribution of Poisson Voronoi cells</article-title>. <source>Phys. A Stat. Mech. its Appl.</source> <volume>385</volume>, <fpage>518</fpage>&#x2013;<lpage>526</lpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2007.07.063</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gonz&#xe1;lez</surname>
<given-names>D. L.</given-names>
</name>
<name>
<surname>Einstein</surname>
<given-names>T. L.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Voronoi cell patterns: Theoretical model and applications</article-title>. <source>Phys. Rev. E.</source> <volume>84</volume>, <fpage>051135</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.84.051135</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gonz&#xe1;lez</surname>
<given-names>R. E.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Paravt: Parallel Voronoi tessellation code</article-title>. <source>Astron. Comput.</source> <volume>17</volume>, <fpage>80</fpage>&#x2013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1016/j.ascom.2016.06.003</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hermann</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wendrock</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Stoyan</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>1989</year>). <article-title>Cell-area distributions of planar Voronoi mosaics</article-title>. <source>Metallography</source> <volume>23</volume>, <fpage>189</fpage>&#x2013;<lpage>200</lpage>. <pub-id pub-id-type="doi">10.1016/0026-0800(89)90030-x</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hinde</surname>
<given-names>A. L.</given-names>
</name>
<name>
<surname>Miles</surname>
<given-names>R. E.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>Monte Carlo estimates of the distributions of the random polygons of the voronoi tessellation with respect to a Poisson process</article-title>. <source>Taylor Francis group</source> <volume>10</volume>, <fpage>205</fpage>&#x2013;<lpage>223</lpage>. <pub-id pub-id-type="doi">10.1080/00949658008810370</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khater</surname>
<given-names>I. M.</given-names>
</name>
<name>
<surname>Nabi</surname>
<given-names>I. R.</given-names>
</name>
<name>
<surname>Hamarneh</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A review of super-resolution single-molecule localization microscopy cluster analysis and quantification methods</article-title>. <source>Patterns</source> <volume>1</volume>, <fpage>100038</fpage>. <pub-id pub-id-type="doi">10.1016/j.patter.2020.100038</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kumar</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Kurtz</surname>
<given-names>S. K.</given-names>
</name>
<name>
<surname>Banavar</surname>
<given-names>J. R.</given-names>
</name>
<name>
<surname>Sharma</surname>
<given-names>M. G.</given-names>
</name>
</person-group> (<year>1992</year>). <article-title>Properties of a three-dimensional Poisson-voronoi tesselation: A Monte Carlo study</article-title>. <source>J. Stat. Phys.</source> <volume>67</volume>, <fpage>523</fpage>&#x2013;<lpage>551</lpage>. <pub-id pub-id-type="doi">10.1007/bf01049719</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Levet</surname>
<given-names>F.</given-names>
</name>
<etal/>
</person-group> (<year>2015</year>). <article-title>SR-tesseler: A method to segment and quantify localization-based super-resolution microscopy data</article-title>. <source>Nat. Methods</source> <volume>12</volume>. <pub-id pub-id-type="doi">10.1038/nmeth.3579</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Levet</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Julien</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Galland</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Butler</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Beghin</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Chazeau</surname>
<given-names>A.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>A tessellation-based colocalization analysis approach for single-molecule localization microscopy</article-title>. <source>Nat. Commun.</source> <volume>10</volume>, <fpage>2379</fpage>&#x2013;<lpage>2412</lpage>. <pub-id pub-id-type="doi">10.1038/s41467-019-10007-4</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Levet</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Sibarita</surname>
<given-names>J.-B.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>PoCA: A software platform for point cloud data visualization and quantification</article-title>. <source>Nat. Methods</source> <volume>20</volume>, <fpage>1</fpage>&#x2013;<lpage>2</lpage>. <pub-id pub-id-type="doi">10.1038/s41592-023-01811-4</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lloyd</surname>
<given-names>S. P.</given-names>
</name>
</person-group> (<year>1982</year>). <article-title>Least squares quantization in PCM</article-title>. <source>IEEE Trans. Inf. Theory</source> <volume>28</volume>, <fpage>129</fpage>&#x2013;<lpage>137</lpage>. <pub-id pub-id-type="doi">10.1109/tit.1982.1056489</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>L&#xf6;schberger</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2021</year>). <source>
<italic>Xenopus laevis</italic> nuclear pore complex stained with WGA-ATTO520</source>. <pub-id pub-id-type="doi">10.5281/ZENODO.7182237</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Masaharu</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2003</year>). <source>Statistical distributions of Poisson Vorono&#xa8;&#x131; cells in two and three dimensions</source>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nickolls</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Buck</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Garland</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Skadron</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Scalable parallel programming with CUDA</article-title>. <source>Queue</source> <volume>6</volume>, <fpage>40</fpage>&#x2013;<lpage>53</lpage>. <pub-id pub-id-type="doi">10.1145/1365490.1365500</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nieves</surname>
<given-names>D. J.</given-names>
</name>
<name>
<surname>Pike</surname>
<given-names>J. A.</given-names>
</name>
<name>
<surname>Levet</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>A framework for evaluating the performance of SMLM cluster analysis algorithms</article-title>. <source>Nat. Methods 2023</source> <volume>202</volume> (<issue>20</issue>), <fpage>259</fpage>&#x2013;<lpage>267</lpage>. <pub-id pub-id-type="doi">10.1038/s41592-022-01750-6</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ouyang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Bai</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Singh</surname>
<given-names>M. K.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>ShareLoc &#x2014; An open platform for sharing localization microscopy data</article-title>. <source>Nat. Methods 2022</source> <volume>1911</volume> (<issue>19</issue>), <fpage>1331</fpage>&#x2013;<lpage>1333</lpage>. <pub-id pub-id-type="doi">10.1038/s41592-022-01659-0</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peters</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Benthem Mu&#xf1;iz</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Griffi&#xe9;</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Williamson</surname>
<given-names>D. J.</given-names>
</name>
<name>
<surname>Ashdown</surname>
<given-names>G. W.</given-names>
</name>
<name>
<surname>Lorenz</surname>
<given-names>C. D.</given-names>
</name>
<etal/>
</person-group> (<year>2017</year>). <article-title>Quantification of fibrous spatial point patterns from single-molecule localization microscopy (SMLM) data</article-title>. <source>Bioinformatics</source> <volume>33</volume>, <fpage>1703</fpage>&#x2013;<lpage>1711</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btx026</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ray</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Sokolov</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Lefebvre</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>L&#xe9;vy</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Meshless voronoi on the GPU</article-title>. <source>ACM Trans. Graph.</source> <volume>37</volume>, <fpage>1</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1145/3272127.3275092</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ripley</surname>
<given-names>B. D.</given-names>
</name>
</person-group> (<year>1977</year>). <article-title>Modelling spatial patterns</article-title>. <source>J. R. Stat. Soc. Ser. B</source> <volume>39</volume>, <fpage>172</fpage>&#x2013;<lpage>192</lpage>. <pub-id pub-id-type="doi">10.1111/j.2517-6161.1977.tb01615.x</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rycroft</surname>
<given-names>C. H.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>VORO&#x2b;&#x2b;: A three-dimensional voronoi cell library in C&#x2b;&#x2b;</article-title>. <source>Chaos Interdiscip. J. Nonlinear Sci.</source> <volume>19</volume> (<issue>4</issue>), <fpage>041111</fpage>. <pub-id pub-id-type="doi">10.1063/1.3215722</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Virtanen</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Gommers</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Oliphant</surname>
<given-names>T. E.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>SciPy 1.0: Fundamental algorithms for scientific computing in Python</article-title>. <source>Methods 2020</source> <volume>173</volume> (<issue>17</issue>), <fpage>261</fpage>&#x2013;<lpage>272</lpage>. <pub-id pub-id-type="doi">10.1038/s41592-019-0686-2</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Watson</surname>
<given-names>D. F.</given-names>
</name>
</person-group> (<year>1981</year>). <article-title>Computing the n-dimensional Delaunay tessellation with application to Voronoi polytopes</article-title>. <source>Comput. J.</source> <volume>24</volume>, <fpage>167</fpage>&#x2013;<lpage>172</lpage>. <pub-id pub-id-type="doi">10.1093/comjnl/24.2.167</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zaninetti</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Poissonian and non-Poissonian Voronoi diagrams with application to the aggregation of molecules</article-title>. <source>Phys. Lett. A</source> <volume>373</volume>, <fpage>3223</fpage>&#x2013;<lpage>3229</lpage>. <pub-id pub-id-type="doi">10.1016/j.physleta.2009.07.010</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>