Abstract
Signal transduction and cell function are governed by the spatiotemporal organization of membrane-associated molecules. Despite significant advances in visualizing molecular distributions by 3D light microscopy, cell biologists still have limited quantitative understanding of the processes implicated in the regulation of molecular signals at the whole cell scale. In particular, complex and transient cell surface morphologies challenge the complete sampling of cell geometry, membrane-associated molecular concentration and activity and the computing of meaningful parameters such as the cofluctuation between morphology and signals. Here, we introduce u-Unwrap3D, a framework to remap arbitrarily complex 3D cell surfaces and membrane-associated signals into equivalent lower dimensional representations. The mappings are bidirectional, allowing the application of image processing operations in the data representation best suited for the task and to subsequently present the results in any of the other representations, including the original 3D cell surface. Leveraging this surface-guided computing paradigm, we track segmented surface motifs in 2D to quantify the recruitment of Septin polymers by blebbing events; we quantify actin enrichment in peripheral ruffles; and we measure the speed of ruffle movement along topographically complex cell surfaces. Thus, u-Unwrap3D provides access to spatiotemporal analyses of cell biological parameters on unconstrained 3D surface geometries and signals.
Main
Advances in 3D high-resolution live-cell microscopy and biosensor design enable integrative studies of the dynamic interplay and causal relations between cell morphology and signal transduction in vitro and in vivo. By reshaping the plasma membrane into diverse morphologies, cells sense, respond to and remodel their local environment1–6. Many cell types adopt shapes that are tailored to their characteristic function7–11. Cell morphology has thus long been recognised as a proxy of cell state and as a marker of differentiation9, 11, 12. Mechanically, the plasma membrane integrates internal and external forces, which affects cell fate through mechanotransductive proteins and changes in cytoskeleton and nuclear morphology13–15. Structurally, the plasma membrane serves as a platform for catalysing chemical reactions16–20 and as a spatiotemporal organiser of signalling activity through the creation of binding sites, local confinements and molecular concentration in scaffolds, diffusion traps, and by phase separation16, 21–23. These reactions occur locally at the nanometer or micron length scale or in global bursts that span the entire cell18, 24. Understanding the salient biophysical processes that govern the formation and persistence of these subcellular signalling domains and how these domains regulate biochemical signal transduction remains enigmatic. Systematic identification of this intricate regulatory interplay between cell shape and molecular signalling necessitates consistent temporal tracking of the local 3D cell geometry and conjoint sampling of the corresponding membrane-associated molecular concentration and activity.
Cell surfaces are extracted from binary segmented image volumes and stored as a mesh, a data structure described by a list of the Cartesian 3D vertex coordinates on the surface and a second list specifying how the individual vertices are connected into triangles or faces. Tracking the correspondence between two 3D surface meshes is an active area of research in computer graphics25–28 and none of the methods have been adopted to cell imaging. A particular technical challenge that arises when adapting techniques from computer graphics with applications to cell biology is the non-convexity, irregularity and high curvature of surface protrusions on most cell shapes. Very few methods have been proposed to accurately follow such geometries over time and have largely been demonstrated on well-defined shapes such as human pose29 or hands30, 31. Generally, these methods track by matching meshes from consecutive timepoints. To match meshes, methods attempt to assign a unique signature per vertex or face to establish a matching between vertices and faces by minimizing a loss metric32, 33. However, this approach is inherently sensitive to mesh quality, uniqueness of the signature, optimizer convergence and is difficult to generalize when tracking surfaces over many timepoints. Crucially, meshes segmented from two different timepoints have different numbers of vertices and faces and the lack of the exact same surface features poses ambiguity in matching. Alternatively, individual 3D image volumes may be first registered spatiotemporally before mesh extraction, as is done in neuroscience34–37. This approach is robust to mesh quality and sampling errors, however deformations must be small between timepoints. For example, long or thin cell surface structures such as lamellipodia and filopodia suffer voxel undersampling, limiting the registration to cell surfaces with largely globular features such as blebs38. This problem could be remedied by mapping the 3D surface to the unit sphere39–41. Indeed, in macroscopic imaging application, this procedure has enabled registration of complex geometrical features such as brain folds directly on the 3D sphere or in derivative 2D unwrapped images27, 42–44. Unfortunately, this strategy requires closed surface topologies with no holes (genus-0 surfaces), which is not generally guaranteed in live-cell microscopy. Alternatively, one can selectively segment surface motifs and track these in 3D whilst mapping surface-proximal molecular signal intensity38, 45–47. Like the 3D surface tracking, this approach is also susceptible to the variable quality of the segmented motifs used for matching and non-convexities of the surface.
Here, we develop a general and comprehensive software solution, u-Unwrap3D, for surface-guided computing. u-Unwrap3D remaps arbitrarily complex 3D subcellular morphology and membrane associated signals to equivalent lower dimensional representations that allow for optimized computation of surface features and spatiotemporal tracking and sampling of cell geometry and associated molecular entities. We demonstrate the power of this approach in applications to i) the unsupervised segmentation of diverse surface motifs; ii) the quantification of septin polymer recruitment to dynamic cell surface blebs and iii) the measurement of travel speed of actin-enriched surface ruffles.
Results
u-Unwrap3D for surface-guided computing
Given an input Cartesian 3D surface S(x, y, z) as a 3D mesh, u-Unwrap3D computes a series of equivalent surface representations (Fig. 1a, Suppl. Video 1). The input surface S(x, y, z) is smoothened to find a genus-0 reference surface Sref(x, y, z) and then mapped to the sphere, S2(x, y, z), unwrapped into a 2D Sref(u, v) using UV-unwrapping and the (u, v) parameterized Sref(x, y, z) propagated along the steepest gradient of its signed distance transform to construct a topographic representation of the input surface, S(d, u, v). The mappings between representations are bijective and constructed to minimize the associated conformal (preservation of aspect ratio) and equiareal (preservation of surface area fraction) errors48 (Extended Fig. 1a,b). We denote S(⋅) and V(⋅) as surfaces and volumes, respectively, relative to a coordinate system indicated in brackets. The variables Fi(S(·)) and Ii(V(·)) denote surface- and volume- associated signals of interest. These signals may describe geometrical quantities, (like mean curvature, H), integer labels (like segmented surface protrusions) or molecular activities (like molecular concentrations or activities). Thus, u-Unwrap3D provides a framework to map these variables between different surface representations, each of which is suited for different computational tasks.
Step 1 iteratively smoothens out salient surface features on S(x, y, z) using conformalized mean curvature flow (cMCF)49 to determine a genus-0 reference surface Sref(x, y, z) without holes or ‘handles’. The term ‘handle’ refers to the holes in a loop mesh structure such as the handle of a teacup that unlike ‘holes’ does not involve missing/incomplete surface patches in a mesh. cMCF iteratively displaces vertices with a speed proportional to the mean curvature at each vertex (Extended Fig. 1c). The input surface is thereby preferentially deformed into the largest inscribable sphere. In the absence of a priori markers for the reference shape such as cell cortex markers, the rate of decrease in mean absolute Gaussian curvature K is monitored to determine a stopping iteration (Methods). The Gaussian curvature K is a shape-invariant measure of local curvature. Accordingly, the same shape (e.g. a sphere) has identical K value irrespective of size50. K is thus well-suited as a criterion to terminate the cMCF iterations. cMCF is agnostic to minor mesh imperfections such as small holes and handles but does not change the genus. Any holes or handles in the input surface are still present. However, because of the smoothing, these holes are more regular and smaller. Still in Step 1, we compute a genus-0 mesh of the reference surface Sref(x, y, z) through filling all holes in the volume enclosed by the intermediary cMCF-processed surface and remeshing of the resulting body (Methods). The remeshing changes the vertex position and face topology. To restore bijectivity between the input surface S(x, y, z) and Sref(x, y, z) we match the mesh Sref(x, y, z) with the mesh of the intermediary cMCF-processed surface that is bijective to S(x, y, z), (Methods). Any associated measurements Fi(S(x, y, z)) are mapped to Fi(Sref(x, y, z)) by interpolation. In Step 2, the genus-0 reference surface, (Sref(x, y, z) is quasi-conformally mapped to the unit sphere without folds39, 51 (Extended Fig. 1d). This spherical parametrization is denoted (x, y, z). Per the uniformization theorem, such a mapping always exists for a genus-0 surface52–55. The quasi-conformal spherical parameterization (x, y, z) severely shrinks surface extremities deviating from the sphere27, even for roughly globular shapes (Extended Fig. 1d). Consequently, surface features with high curvature are undersampled and disproportionately represented relative to their original Cartesian 3D surface area. This can detrimentally affect downstream analyses such as segmentation and tracking27. To mitigate this problem, we iteratively diffuse in Step 3 the area distortion factor per face by advecting vertex positions on the sphere27 at the expense of increased conformal error (Extended Fig. 1e). In Step 4, this quasi-equiareal sphere (x, y, z) is bijectively unwrapped to the 2D plane, S(u, v), using equirectangular projection, in short UV-mapping, with (u, v) denoting the spherical polar and azimuthal angles, respectively. UV-mapping introduces the strongest distortions to signals at the north and south poles of the sphere. To visualize features of interest with minimal distortion, u-Unwrap3D optionally infers a rotation matrix based on a weighted principal component analysis of surface variables, such as the local curvature (Extended Fig. 1f,g, Methods). If the input Cartesian 3D surface mesh S(x, y, z) is genus-0, the generation of a reference surface, Sref(x, y, z) may be skipped and 2D equiareal surface unwrapping realised directly (Fig. 1b, Suppl. Video 2). We note that an input genus-X Cartesian 3D surface S(x, y, z) is also directly unwrapped into 2D through steps 1-4 of u-Unwrap3D, but not in an equiareal manner (Extended Fig. 1h). In Step 5, the first part remaps the Cartesian 3D volume V(x, y, z) and associated signals Ii(V(x, y, z)) into a topographic volume V(d, u, v) coordinate system that is normal to the reference surface, Sref(x, y, z). The second part establishes a bijective mapping of (d, u, v) to (x, y, z) coordinates, Sref(u, v), i.e. the (u, v) parameterized reference surface of Sref(x, y, z), is propagated in Cartesian 3D space in the surface normal direction at equidistant steps of α voxels along the steepest gradient of the signed distance function, ∇Φ(x, y, z), for a total of D steps. Interpolation of the respective Cartesian volumetric signal intensities, I(V(x, y, z) at the (x, y, z) coordinates indexed by (d, u, v) generates the topographic 3D volume equivalents, Ii(V(d, u, v)). Finally, in Step 6 the topographic 3D surface representation, (d, u, v) of the input surface S(x, y, z) is obtained by surface meshing the topographic binary volume segmentation.
In summary, u-Unwrap3D generates bijective mappings of a given genus-X surface between 5 equivalent surface representations; Cartesian 3D, (x, y, z), genus-0 reference 3D, Sref(x, y, z), the unit 3D sphere, S2(x, y, z), topographic 3D, S(d, u, v), and the 2D plane image, S(u, v) (Fig. 2a), while simultaneously transforming Cartesian 3D to topographic 3D volumes (Fig. 2b). This was made possible by two crucial choices; the use of cMCF and voxelization to construct a genus-0 reference surface, Sref(x, y, z) to realise spherical parameterization (Step 1) and the implementation of an efficient numerical scheme to relax area distortion on the 3D sphere (Step 3). The former allows us to construct Sref(x, y, z) as a proxy of the genus-X S(x, y, z) surface mesh and to unwrap this 3D surface into one 2D (u, v) image, instead of requiring multiple 2D (u, v) images, which simplifies downstream analysis56–59. The latter ensures that the unwrapped 2D (u, v) image captures the salient surface features of Sref(x, y, z), and by extension the genus-X S(x, y, z) surface. Importantly, the bijectivity of the mappings guarantees that for any point on any of the surface or volume representations matching points exist on any of the other surfaces or volumes. Moreover, the bijectivity guarantees preservation of the point topology, i.e. a series of points ordered in clockwise fashion on one surface representation maps to a series of points ordered in the same way on any of the other surface representations and preserves the local neighbourhood relationships. As a result, we can apply mathematical operations defined in any one of the representations and map the results to any other. u-Unwrap3D thus supports the optimal spatiotemporal analysis of unconstrained surface geometries and associated signals.
Validation of u-Unwrap3D on diverse surface motifs
We validated the generality and performance of u-Unwrap3D by application to 66 single cell images acquired by high-resolution light sheet imaging45, 60. The dataset span morphologically diverse cells with blebs, lamellipodia and filopodia. The cell surfaces were meshed with marching cubes and segmented within the u-Shape3D software45. Small errors in the initial segmentation and meshing process cause high-order genus surfaces with topological holes and handles, which cannot be unwrapped directly (Extended Fig. 2a). Holes can also generate non-watertight surface meshes – surfaces that are not closed and have no clearly defined inside volume48, 61 possessing potentially complex internal volumetric structures that violate the assumptions of standard 3D mesh processing algorithms.
We first tested the number of input cell surfaces for which u-Unwrap3D could successfully run all steps 1-6 and compute all 5 of the representations as a measure of generality and robustness. Notably only 6/66 (11%) input cell surfaces were genus-0 and only 36/66 (55%) were watertight (Extended Fig 2b). In 63/66 cases, (>95%) we successfully ran all steps and obtained all representations (Extended Fig 2b). The three failures occurred in scenarios, in which the holes and handles remaining after the application of cMCF were still too large for the volume dilation to generate a genus-0 reference surface after remeshing (Fig. 1b, Step 1) (Extended Fig. 2c). In all successful cases, cMCF and binary voxelization under volume dilation generated genus-0 reference surfaces within a median of 10 iterations (Extended Fig 2c, c.f. lamellipodia). Fig. 2c shows extracted representations for challenging examples with blebs, lamellipodia and filopodia (Suppl. Video 3-5).
We next tested the robustness and performance of the Sref(x, y, z) spherical parameterizations, (Fig. 1b, Steps 2-3). Extended Fig. 3a confirms that the quasi-conformal spherical parameterization (Step 2) minimizes the conformal error to the ideal value of 1, with the largest error in cells with filopodia (1.016±0.013). We also verified the need to relax local area distortion. Whilst quasi-conformal spherical parameterization is equiareal for blebs (0.978 ± 0.037), the median area distortion showed that the surface fraction of lamellipodia was down to 0.432 and in filopodia to just 0.140 with respect to their original area fraction on the reference 3D, Sref(x, y, z) surface, let alone S(x, y, z). Our scheme for area distortion relaxation (Methods) produces a quasi-equiareal spherical parameterization (Step 3) in blebs (0.985±0.012), and successfully achieves the ideal value of 1 in lamellipodia (1.000±0.000) and filopodia(1.000±0.001), within a maximum median of 23 iterations for lamellipodia (Extended Fig.3b, Table i). We further tested the ability of our relaxation scheme to balance the trade-off between the two extremes of conformal to equiareal spherical parameterizations using different stopping criteria (Extended Fig.3b, Table ii-iv). The initial parameterization without any area-distortion relaxation (iteration 0) is by design conformal but also found to satisfy the most isometric parameterization (MIP)62. Running for tΩ < a maximum of 50 iterations yields an equiareal parameterization for all motifs. At iterations the relaxed mesh jointly minimizes the summation (Q + ln λ, Methods) of conformal (Q) and area distortion (λ) errors. At t ≲ tΩ iterations the relaxed mesh is the area-preserving MIP63. As expected, this latter parameterization does not fully minimize area distortion (blebs (0.997±0.011), lamellipodia (0.979±0.005) and filopodia (0.980±0.028)) but exhibits slightly lower conformal errors and consequently higher quality faces than a pure equiareal mapping.
Lastly, we tested how accurately Stopo(x, y, z), which defines the topographic 3D mesh, S(d, u, v) (step 5) mapped back into Cartesian coordinates reconstructs the input surface, S(x, y, z). For all cells, (d, u, v) was computed with a (u, v) image grid size of 1024×512 pixels. The aspect ratio, 2N x N (N = 512) was chosen to preserve the ratio between the equatorial circumference and the length of the arc between north and south poles of a sphere. Compared to the input surface (x, y, z), S(d, u, v) is lower genus and provides higher face quality (Extended Fig. 3c). We assessed the discrepancy between Stopo(x, y, z) and S(x, y, z) using 4 metrics; Chamfer distance (CD), sliced Wasserstein distance (SW1)64, and differences in total surface area (ΔA) and volume (ΔV) (Extended Fig. 3d, Methods). Considering inevitable rasterization errors when mapping the floating-point precision 3D sphere to S(u, v) defined on an integer (u, v) image grid, we measured low vertex position errors according to CD and SW1. Cells with lamellipodia had the lowest error (median CD=1.77 voxel, SW1=0.93 voxel) and cells with blebs were slightly worse (median CD=2.79 voxel, SW1=4.28 voxel), likely due to their intrinsically small height (small topographic d). As one would expect, cells with long, thin filopodia displayed the largest discrepancies (median CD=10.33 voxel, SW1 =18.45 voxel). Correspondingly we measured a small ΔA (+1.2%) and ΔV (+7.9%) for cells with lamellipodia. ΔA was larger for cells with blebs (−11.6%) and measured to be too large for filopodia (−55.3%) when compared to ΔV differences measured after making S(x, y, z) watertight (+4.2% blebs, +3.4% filopodia). Visualization of exemplar cells show good geometric correspondence between Stopo(x, y, z) and S(x, y, z) (Extended Fig. 3e). Salient surface features were largely captured, albeit smoothened and blurred in Stopo(x, y, z) when local surface regions were underrepresented due to being distant relative to Sref(x, y, z) (Extended Fig. 3e, black triangles, 1st row blebs and 4th row lamellipodia). Most of the primary morphological features, namely the length and thickness of long, thin filopodia (Extended Fig. 3e, green triangles), except those located both densely together and distant relative to Sref(x, y, z) (Extended Fig. 3e, red triangles), were captured. u-Unwrap3D was able to capture both the complex lamellipodia folds and curved cell bodies to high accuracy (Extended Fig. 3e, row 2,4). Closer inspection of Stopo(x, y, z) and S(x, y, z) in these cells traced a large ΔA to meshing errors in the input surface S(x, y, z), which caused internal volumetric structures to be merged into the cell surface representation, and overestimation of total surface area. These errors affect the CD and SW1 to lesser extent.
In summary, our results demonstrate that u-Unwrap3D is robust and applicable to process unconstrained geometries. For maximum resolution of high curvature surface features, a genus-0 reference surface Sref(x, y, z) proximal to the input surface S(x, y, z) is recommended with a large (u, v) grid size N and small α step sizes when propagating Sref(u, v). However, these choices depend on the quality of the input surface mesh (x, y, z), which depends on the robustness of cell segmentation in the face of noisy image raw data.
u-Unwrap3D enables unsupervised instance segmentation of subcellular surface motifs
The unbiased identification and segmentation of individual protrusive features in unconstrained 3D surface geometries is nontrivial. Cellular protrusions present complex morphological characteristics that are difficult to define descriptively. Even well-known morphological motifs exhibit significant heterogeneity and ambiguity. Not all blebs are spherical, lamellipodia are often plate-like with high curvature ridges but otherwise have no readily-defined shape prior, and filopodia, though long and thin, can sprout haphazardly from elevated ‘stumps’ or even off of each other. In areas of dynamic and dense protrusions, where does one protrusion start and another end? Consequently, most existing approaches focus on particular surface features of interest such as ‘ridge’ networks that can be segmented by designed imaging filters or through trained semantic segmentation, with morphological processing and parameter tuning46, 47, 65, 66. With u-Shape3D we introduced a multi-class morphological motif detection by partitioning the 3D surface into convex patches and applying support vector machines trained with expert annotation to classify the patches into pre-specified motif types45. However, this approach cannot detect and segment all protrusions generally, only the limited motifs for which the supervised classifier has been trained on. Lastly, even after obtaining the segmentations, how do we systematically measure salient protrusion properties? For example, with respect to what reference surface should protrusion height be measured? Where is the protrusion width to be measured? How is the internal volume of a protrusion determined?
These segmentation and characterization problems can be significantly better defined in the topographic 3D surface representation (d, u, v), which captures in one field-of-view all surface features protruding normally to Sref(x, y, z). As d preserves the total Cartesian 3D curvilinear distance from S(x, y, z) to Sref(x, y, z) along the gradient of steepest descent we can formally define a ‘protrusive’ feature as having a d-coordinate greater than that of a reference topographic surface, Sref(dref, u, v), and measure the protrusion height as the difference, ℎ = d − dref. For example, protrusive features could be specified as those having the mean height of (d, u, v) relative to the planar topographic 3D cMCF surface (i.e. dref = f(u, v) = 0). However, this definition leads to under-segmentation (Extended Fig. 4a). A remedy would be an intermediate surface Sref(dref = fsmooth(u, v), u, v), which interpolates between the input rugged topographic cell surface, S(d, u, v) and the 2D planar cMCF cell surface , (Fig. 3a,b). Whereas this problem is difficult to frame in Cartesian 3D, in the topographic space the interpolation can be solved naturally by using asymmetric least squares (ALS) optimization with a Whittaker smoother67, 68, where the asymmetric weights allow us to account for the heterogeneous protrusion height; and the desired level of surface smoothness can be incorporated as a regularization term (Extended Fig. 4b, Methods). To use ALS, we create a (u, v) -parameterized approximation of (d, u, v) with d ≃ f(u, v) using straightforward image processing procedures (Extended Fig. 4b, Methods). By exploiting these properties of the topography space, we developed a general approach to segment any protrusion motif including blebs, lamellipodia and filopodia (Extended Fig. 4c,d) with minimal heuristic parameters to tune. Importantly, we did not need to design specialized image filters65, 66, compute and cluster feature descriptors46, 69–71, or require data training45–47.
We demonstrate the segmentation of individual protrusion instances, capturing motifs identified by uShape3D, but without the need for training annotations. By construction, in topographic 3D (d, u, v) space all surface protrusions are oriented upwards with increasing. Moreover, the tops of protrusions are individually separated as local regions of high topographic mean curvature, which we identify by thresholding and applying connected component labelling in the topographic volume, V(d, u, v) (Fig. 3c). Mapping the segmented regions back onto the topographic mesh S(d, u, v), we diffuse these initial ‘seed’ labels across the surface using a combined geodesic distance and dihedral angle affinity matrix to naturally segment the ‘stem’ of the individual protrusions (Methods). The dihedral angle measures the discontinuity in local mean curvature. It incorporates the prior intuition that the boundaries of a label should expand faster on local surfaces of homogeneous curvature such as that on a ‘hill’, compared to another label experiencing large curvature differences in its local surface region, such as in a valley between multiple ‘hills’. The combined affinity matrix thus introduces a morphology-aware competition between segmentation labels and provides a biophysical rationale for defining which surface patches belong to individual ‘seed’ protrusions. Furthermore, the dihedral angle is large between a protrusion and the main cortical cell surface and thus serves as a soft stopping criteria for diffusion (Extended Fig. 4d) in addition to applying the binary protrusion segmentation from above. Lastly, we filter out protrusions that are too small and close any small holes using the Cartesian 3D surface area. The final segmentation result qualitatively and quantitatively agrees with that obtained by supervised u-Shape3D for lamellipodia (Fig. 3d) but yields more contiguous labels and is less prone to over-segmentation (Fig. 3e). Importantly, this segmentation strategy is applicable, even when not all protrusions are equiareally represented in (d, u, v), as shown by the segmentation of the majority of blebs and filopodia in exemplar cells (Extended Fig. 4d).
Individual segmented protrusions are genus-0 open-surface 3D submeshes that can be directly mapped to the 2D plane (Fig. 3f). This allows us to further refine the segmentation, for example, by detecting and splitting under-segmented blebs by a gradient watershed algorithm (Methods). Thanks to bijectivity, the refined segmentation labels can be transferred back onto the original surface mesh (Fig. 3f,g, c.f. before and after refine, black triangles). Both the before (adjusted normalized mutual information, NMI=0.57) and the after refinement (adjusted NMI=0.54) segmentations agree with u-Shape3D. However, u-Unwrap3D segmented blebs are more complete, with more blebs of larger surface area (150 blebs in total). In contrast, u-Shape3D over-segments small blebs (742 blebs) that were found to originate from erroneous meshing of internal structures in (x, y, z) (see Extended Fig.3e). This example illustrates the potential pitfalls of identifying motifs from local surface patches only with potentially imperfect input 3D meshes. In contrast, with u-Unwrap3D any surfaces internal to the cell volume are readily removed when mapped into topography as these surfaces have d-coordinates less than the reference surface, Sref(dref = fsmooth(u, v), u, v).
Finally, the representation S(d, u, v) enables partitioning of the input cell volume into the sum of a reference volume representing the underlying cortical cell body and the unique volume occupied by individual protrusions (Fig. 3h). We do so by (u, v)-parameterizing the reference cortical surface submesh, Sref(d, u, v) after removing all individual protrusion submeshes as a grayscale image such that the pixel intensity value at (u, v) is the respective d -coordinate, and inpainting the missing d -coordinates at (u, v) coordinates corresponding to the subtracted protrusions to generate a full reference binary volume (Extended Fig. 4e, Methods). For the protrusions, we first devised a marker-controlled lateral watershed depth propagation to diffuse the surface-based protrusion segmentation labels uniquely throughout the full topographic (d, u, v) space slice-by-slice, top-to-bottom (Extended Fig. 4f). Then, individual protrusion volumes were generated by masking the propagated label volume with the reference binary volume (Extended Fig. 4g). We compared our topography-guided decomposition strategy to a fully Cartesian 3D mesh processing approach whereby individual protrusion submeshes were first closed by constructing a surface patch that minimized the local bending (or harmonic) energy72 (Methods). The closed reference volume was then generated using all such patches to impute the residual holes in the raw reference surface. Fig. 3i panels i-ii show that the computed surface area (slope=0.90) and volume (slope=0.95) of individual protrusions are similar for both methods. However, the 3D mesh processing protrusions consistently under-measure larger protrusions. Crucially, the imputed reference volume appears artefactual. Where protrusions were located, the surface is overly smooth, and even involuted. These regions contrast starkly with non-imputed surface areas between protrusions, creating artificial ‘peaks’ and ‘ridges’ of high mean curvature (black arrows). In comparison, the topography-guided reference volume is mechanically more plausible.
In summary, the ability to map freely between topographic and Cartesian 3D surfaces and their respective volumetric representations enabled us to design simple and generalizable methods to detect and segment in an unsupervised fashion individual morphological motifs from unconstrained surface geometries. To bijectively map the topographically segmented surface protrusion labels onto the 2D plane, which is an optimal representation for tracking the segmented motifs, we developed a topographic cMCF for u-Unwrap3D (Fig. 3j, Suppl. Video 6, Methods).
u-Unwrap3D enables tracking of 3D subcellular surface motifs and molecular activity in 2D
A central goal of live cell imaging in 3D is to visualize the spatiotemporal relations between molecular activities and cell behaviors, including morphodynamic outputs. Progress has been made on software developments that allow unbiased and statistically meaningful analysis of cell morphology and molecular distributions45, 47, 60, 73, 74. However, to remain algorithmically and computationally tractable these pipelines have been restricted to quasi-static representations of dynamic processes. Surface-guided computing with u-Unwrap3D allows us now to remedy this limitation. Dynamic behaviours on complex 3D cell shapes, including their morphological and molecular signal activity changes, can be mapped to 2D representations where powerful analytical pipelines exist for spatiotemporally consistent tracking. Results can be statistically evaluated and, if of interest, be visualized in 3D by leveraging the bijective properties of u-Unwrap3D mappings. Fig. 4 and 5 demonstrate this capacity based on two examples.
Individual blebs dynamically recruit Septins to local surface regions during retraction
We first analysed potential relations between dynamic surface blebbing and the recruitment of Septins. Blebs are globular membrane protrusions of 1-2 μm diameter that are thought to extend in areas of localized membrane detachment from the actin cortex75, 76. Intracellular pressure expands the budding blebs outward, followed by rapid assembly of a contractile actomyosin network that yields retraction. Cycles of protrusion and retraction have been described to last a few tens of seconds. Associated with the cycles are molecular activities both driving and responding to the morphological dynamics. One such process is the assembly of Septin protein polymers at sites of negative curvature (from a cell-external perspective) emerging at the bleb necks. Our previous work38 has shown that disrupting the bleb cycle diminishes Septin assembly at the cell surface. Here we now exploit the ability of u-Unwrap3D to track individual bleb cycles and quantify Septin accumulation by remapping surface morphology and a fluorescent marker of Septins to an appropriate 2D representation. We acquired 3D volumes of SEPT6-GFP-expressing MV3 melanoma cells every 1.2s for 200 timepoints. As the cortical cell body exhibits little temporal variation and blebs protrude normally to the surface, the temporal mean cell surface, is a good proxy of the cell cortex. We apply u-Unwrap3D to to create a common static (d, u, v) coordinate space for computing topographic 3D S(d, u, v) and 2D planar S(u, v) representations for each timepoint. was computed by meshing the mean binary volume across individual binary voxelizations of the cell surface over all 200 timepoints (Methods). Note the construction of a common topographic space from a single mesh for a timelapse is computationally efficient but applicable only if cell shape changes lie within the Cartesian subvolume mapped by the topographic space. For large shape changes u-Unwrap3D should be applied to individual timepoints and spatiotemporal registration used to align surfaces to a common reference using Sref(x, y, z) or S(u, v) representations. The segmentation tools discussed above were used to detect all bleb instances from S(d, u, v) and mapped to S(x, y, z) and S(u, v) for each timepoint (Fig. 4a, Suppl. Video 7). Similarly, the computed mean curvature and the normalized Septin intensity surface signals Fi(S(x, y, z)) from Cartesian 3D were mapped to topographic 3D Fi(S(d, u, v)) and into 2D, Fi(S(u, v)), to enable simple bleb tracking and timeseries analysis.
To track blebs in 2D we computed the bounding box of individual bleb instances in every timepoint after appropriate image padding to account for spherical periodicity (Fig. 4b left). In (u, v) bleb dynamics can readily be followed by an established 2D multi-object bounding box tracker77 with mean curvature optical flow-guided bipartite matching (Fig. 4b middle, Methods). The bijective mapping allows us to map the resulting trajectories from (u, v) coordinates (individually colored) to (x, y, z) coordinates to generate bleb tracks in Cartesian 3D (Fig. 4b right, Suppl. Video 7). Due to the fast temporal acquisition rate, only a northern portion of the cell can be maintained in-focus. Again, u-Unwrap3D’s bijectivity between 3D and 2D representation enabled us to easily map a manually annotated out-of-focus subvolume onto S(x, y, z) and into S(u, v) to retain for analysis only the bleb tracks that remain within the in-focus surface regions (Fig. 4c). The distribution of individual bleb track lifetimes showed a peak at 14s and a long tail up to 240s, suggestive of a mixture of short- and long-lived blebs (Fig. 4d). The mean bleb lifetime of 27s corresponded well with a 30s periodicity given by the first peak of the temporal autocorrelation of mean curvature (S(x, y, z, t)) in Cartesian 3D (Fig. 4e). This validates at the population level the accuracy of single bleb tracking after projection and segmentation of mean surface curvature in2D.
The temporal autocorrelation curves of mean curvature and Septin intensity showed a high level of similarity, suggesting co-fluctuation of the two surface signals. Indeed, we had previously shown that surface regions of high Septin intensity with negative surface curvature for at least 30s display a correlation between negative curvature value and Septin intensity38. Whilst the majority of Septin pulses endured only one cycle of bleb formation and retraction, de novo formation of stable Septin structures appeared to be driven by several Septin pulses occurring in short succession. We thus hypothesized that these were formed by iterative bleb-driven curvature generation events resulting in local levels of Septin oligomers surpassing a threshold necessary for inter-oligomer polymerization and enabling stabilization through formation of higher-order structures38. The ability to spatiotemporally track individual blebs enabled us now to quantitatively test this model. For the duration of each tracked bleb, we sampled within the 2D bounding box distortion-corrected timeseries of bleb surface area, on-/off-bleb surface mean curvature and Septin intensity (Methods). We used the 2D (u, v) bounding box to define a bleb’s spatial area-of-influence and its surface area. The Cartesian 3D (x, y, z) box area was taken as the bleb’s 3D surface area in each tracked frame. Within the 2D bleb bounding box, ‘on-bleb’ is the largest spatially contiguous region of high mean curvature. The remainder area is ‘off-bleb’. A single curvature threshold was computed by 3-class Otsu thresholding over all (S(u, v, t)) to define the regions of low/high mean curvature in S(u, v, t). Using the extracted timeseries we reconstructed the temporal profile of bleb area, on-/off-mean curvature and Septin intensity of a single mean bleb event in a window of 35s centered on the timepoint of maximum bleb area averaged over 545 single bleb events from 480 bleb tracks. We sample ±17.5s before and after the timepoint of maximum bleb area to exceed the 30s periodicity inferred from temporal autocorrelation by 5s and capture the full dynamics. We then broke the mean timeseries into four distinct temporal phases of bleb-mediated Septin recruitment, each ≈5s long (Fig.4f labels A-D). In phase A, the bleb begins to expand, increasing its surface area, accompanied by a sharp increase in on-bleb H and a decrease in Septin intensity as the plasma membrane detaches from the actin cortex. The expansion also reduces off-bleb H, causing a decrease in Septin intensity off-bleb, presumably due to disrupting Septin structures. In phase B, the bleb reaches maximum size and then begins to retract with decreasing surface area. Interestingly, unlike mean curvature, which begins to decrease before the maximum bleb area, the change in area is symmetrical, occurring ±2.5s relative to the time of maximum bleb area. Coincident with the bleb increasing to a maximum area, off-bleb H decreases to a minimum and Septin intensity both on/off bleb stabilizes at a minimum. As the bleb retracts and the actin cytoskeleton reassembles, off-bleb H increases and Septin intensity begins to increase both on/off bleb. In phase C (+2.5s to +8.0s after peak bleb area), the bleb area continues to decrease but at a slower rate. Unexpectedly, the off-bleb negative curvature H plateaus at a value lower than its starting value (before phase A) instead of continuing to increase. Concurrently, Septin intensity undergoes the greatest rate of increase on both on-bleb and off-bleb surfaces such that at the end of phase C, the Septin intensity is at the levels before phase A (c.f. -15s to -10s). In phase D (+8.0s to +14.0s), bleb area and on/off-bleb H recover to pre-expansion levels while Septin intensity continues to increase before plateauing on both on/off-bleb surfaces. Beyond phase D, the next bleb cycle begins, with similar temporal characteristics to phase A. Altogether these results indicate that blebs generate optimal curvature dynamics during retraction to recruit Septin polymers to the surface regions around blebs. Moreover, the data support our model of Septins being recruited to negative curvature patches in a cyclic fashion, where each bleb formation-retraction drives the local accumulation of a few more oligomers until a threshold concentration is reached to trigger inter-oligomer polymerization of a stable Septin assembly. Notably, none of these observations could have been made without u-Unwrap3D.
Ruffles are driven by locally enriched filamentous actin and migrate actively on the cell surface
We also applied the capacity of u-Unwrap3D to examine putative relations between the dynamics of membrane ruffles, filamentous actin and surface actin retrograde flow. Membrane ruffles are thin, rapidly-moving, actin-rich protrusions78, 79. They are thought to play a role in cell migration, and it has been proposed that ruffles arise as a consequence of inefficient adhesion in cellular lamellipodia80. Yet, it is unclear whether they have a specific function in migration or elsewhere, and the precise molecular and mechanical mechanisms of ruffle formation remain poorly understood. Although membrane ruffles have been the showcase for many of the recent advances in volumetric light sheet microscopy, there are no tools for quantitative assessment of membrane ruffling78, 81. The thin, lamellar appearance make ruffles extremely challenging to segment in 3D live-cell images46. Moreover, ruffles are transient and they exhibit significant heterogeneity in nature and distribution across the cell surface. These characteristics make ruffles difficult if not impossible to directly track in Cartesian 3D.
There are many unanswered questions about cell membrane ruffles. Here, we focus on defining a membrane ruffle by a set of objective criteria and then on measuring their speed. We acquired 3D volumes of SU.86.86 pancreatic ductal adenocarcinoma cells plated on fibronectin-coated cover glasses and co-expressing Tractin-mEmerald and myristoylated CyOFP1. Tractin is a marker for actin82, while myristoylated CyOFP1 served as a diffuse cell membrane marker. We acquired images every 2.27s for 30 timepoints, and used u-Unwrap3D to map the Cartesian 3D S(x, y, z) surface of every timepoint into topographic 3D, S(d, u, v) and into 2D, S(u, v) for tracking (Fig. 5a, Suppl. Video 8). The cortical shape change was relatively small but ruffles travel on the surface. Like for bleb tracking we constructed a common static topographic coordinate space (d, u, v) for all time points. Here, we used the reference surface, Sref(x, y, z, t = 0) for this purpose (Extended Fig.5a). We then sought to track the spatial location of ruffles as individual ‘ridge’ objects. To do so, we projected (d, u, v) onto the 2D plane, i.e. the (u, v) coordinate was the same as setting d = 0, (d = 0, u, v) instead of applying topographic cMCF. We computed the local enrichment of the actin signal as the ratio of Tractin-mEmerald to CyOFP1 intensity. Kymograph visualization of F(S(u, v, t)) for mean curvature, H and Tractin-mEmerald/CyOFP1 (TC) showed strong co-fluctuation of curvature and local actin intensity. It also highlighted the transient, ‘ripple-like’ nature of ruffles and their merging and dissipation with a delay between successive ruffles of ≈20s (Fig. 5b). To avoid complex image processing operations such as merging and splitting we applied optical flow-based region-of-interest (ROI) tracking83, 84 to the TC intensity to track simultaneously the protrusive membrane ruffling and retrograde surface actin flow (Fig. 5c, left). The (u, v) image grid size was 1025 x 512 pixels (not 1024 x 512 as ruffles required active contour cMCF to be used to generate S(d, u, v), see Methods) and the average dimensions of the tracked (u, v) ROI size was 23 x 23 pixels (approximately 0.06 x 0.11 μm pixel size in physical space). The resulting 2D ROI tracks exhibit unidirectional motion towards the cell center as shown by coloring directionality and remapping of (u, v) ROI tracks to polar (r, Φ) (Fig. 5c, middle, Extended Fig. 5b) and Cartesian 3D (x, y, z) coordinates (Fig. 5c, right) (Suppl. Video 8). The optical flow tracks measure the geodesic cellular surface speed. To measure specifically the component corresponding to mean lateral ruffle travel speed we must project the 3D optical flow velocities along the same plane as the flat cell bottom. The volumetric imaging of cells is acquired on a cover glass tilted at ≈450 (Extended Fig. 5c, left). Direct 3D plane-fitting to (x, y, z) to determine a precise angle is sensitive to outlier points and shapes deviating from an elongated ellipsoid. Thanks to the (u, v) representation of u-Unwrap3D mapping the curved proximal cell surface and the planar cell bottom to the upper and lower half of the unwrapped 2D image respectively, we could readily annotate in 2D (u, v) the cell bottom and fit a 3D plane to only this surface patch in (x, y, z) (Extended Fig. 5c, middle, right). Similarly, we could gate ROI tracks in (u, v) and compute the lateral speed only for those associated the lamellipodia and lamella surface. Doing so we found two populations in the speed histogram (Fig. 5d). Visualizing the speed on (x, y, z), the faster population corresponds to higher curvature ruffles with speeds ranging from 2-10 μm/min, and an average speed of 4.2 μm/min (Suppl. Video 8). This is at least two times faster than the slower population surface retrograde actin flow ranging from 0-1 μm/min, which are consistent with the flow speeds we used to measure by 2D fluorescent speckle microscopy in the lamella of epithelial cells85. This result suggests ruffles are actively produced and transported across the cell surface. To assess the synchronicity of actin and ruffles we extracted distortion-corrected timeseries of TC and mean curvature, H by sampling and averaging the respective values within a spatial window of 23 x 23 centered around the (u, v) coordinates of all ROI tracks on the lamellipodia and lamella surface. Averaging the temporal cross-correlation curves (mean±95% confidence interval) of individual ROI tracks we find a significant positive instantaneous (lag=0) correlation of 0.2 (Fig. 5e, left). Plotting the instantaneous (lag=0) correlation values of individual ROI tracks as a function of the mean H value of the same ROI track and visualizing the instantaneous correlation on S(x, y, z), we found that ruffles with higher positive surface curvature are more temporally correlated with TC intensity (Fig. 5e, middle, right). Altogether our results show that ruffles are highly dynamic, transient protrusions that actively migrate on the cell surface and driven by locally enriched filamentous actin. Our u-Unwrap3D framework provides now the platform for systematic investigation of the mechanisms that drive and regulate these dynamics.
Discussion
Analyzing the spatiotemporal organization of molecular distributions and signaling activities on cell surfaces in 3D has been limited by the lack of methods to represent, track and process these dynamics. Here we introduce a surface-guided computing framework, referred to as u-Unwrap3D, to bijectively map a genus-X Cartesian 3D surface to equivalent surface and volume representations that are optimally suited for a distinct analytical task. The mappings rely on two critical insights: i) the engineered surface deformation of S(x, y, z) to generate a genus-0 Sref(x, y, z) for which a 3D spherical parameterization exists; ii) a novel, efficient algorithm to relax geometric distortion on the 3D sphere in a bijective and tunable manner. Insight i) is fundamental to allowing Sref(x, y, z) to serve as a representative proxy that captures all the salient surface features of the genus-X S(x, y, z) surface and insight ii) to preserving this property when Sref(x, y, z) is unwrapped to the 2D plane. Using diverse cell examples we validated that u-Unwrap3D could be widely applied (>90% of cases) in a manner robust to the input surface mesh quality and that it accurately captures the cell geometry to transfer salient surface features, morphological or molecular, between all representations. We note that this 90% is an underestimation of the applicability. The validation dataset was assembled to be deliberately heterogeneous and was not segmented with the downstream aim of surface mapping. In practice, segmentation algorithms continue to improve and postprocessing techniques can be used to create improved surface meshes. Moreover we can leverage surface meshing algorithms that are more sophisticated than marching cubes, such as dual contouring86 and shrink-wrapping87, to guarantee watertight mesh creation. For timelapse acquisitions, as we showed in Fig. 4,5, the situation is even simpler. Only one timepoint or average surface is needed to generate a single common to unwrap all timepoints. u-Unwrap3D puts in place a generic platform for the spatiotemporal processing of unconstrained cell geometries.
u-Unwrap3D is applicable for arbitrary genus-X 3D surfaces, S(x, y, z) wherever a genus-0 reference surface, Sref(x, y, z) can be found from conformalized curvature flow (cMCF). It works best when Sref(x, y, z) is close to the S(x, y, z). In our current implementation, the generation of Sref(x, y, z) may be suboptimal or fail when either small handles in the mesh pinch together, causing early termination of the cMCF, or if the binary voxelization and morphological hole closing fails to infill large handles and holes in the cMCF Sref(x, y, z). Whilst we can increase the range of morphological hole closing in the latter case, we restrict dilation to a maximum 3-5 voxels to minimise smoothing out protrusion features in Sref(x, y, z). Mesh surgery methods have been developed in computer graphics to make non-watertight 3D meshes watertight88, 89, and fix imperfections like holes and handles to reduce genus90, 91 to generate higher quality 3D meshes. These have yet to be applied and fully tested for complex cell surfaces. Future development will investigate how to apply such procedures to allow u-Unwrap3D to be applied to input meshes of any quality. In our data we have paid attention during the acquisition to generating sufficient foreground-to-background contrast for reliable surface segmentation, thus minimizing mesh defects.
The concept of geometrical reduction of 3D into 2D geometry through the choice of an optimal coordinate transformation has long existed in mathematics and physics to simplify mathematical manipulation and plotting. For example, parametric coordinates describe the sphere, the cylinder, Mobius strip and helicoids amongst others92. In computer graphics this is realised in the common practice of mapping between surfaces through simpler intermediaries: for example, the texture mapping of arbitrary surfaces by optimal surface cutting and mapping of the cuts into individual 2D shapes57 and (u, v) surface parameterization by cutting and gluing individually mapped 2D planar patches93 or mapping to canonical shapes such as the triangle94, plane39 or polyhedra95 to minimize distortion. u-Unwrap3D draws inspiration from this thinking. Through the availability and development of rationalized multiple 3D-to-2D representations, u-Unwrap3D projects analyses that would otherwise require specialised mathematical operations into a sequence of simpler, computationally tractable procedures for 3D mesh processing, image processing and machine learning with specific consideration for single cell biology. Unlike computer graphics benchmarks, surface protrusions are irregular, high curvature and dense. First, we specifically chose representations that map the whole cell surface with well-behaved topologies such as the sphere and plane and designed a relaxation scheme to guarantee interpolation between the minimal conformal and area distortion. This bypasses the numerical instabilities of stitching multiple surface maps and only quasi-conformal mappings for the majority of literature methods. Second, although Sref(x, y, z) was conceived as a mathematical trick to enable spherical parameterization, because it is derived explicitly from S(x, y, z) and not as a canonical shape, it serves biologically to decompose S(x, y, z) as the ‘sum’ of a smooth cell cortex and surface protrusions. Our results suggest the introduced Sref(x, y, z) and Stopo(x, y, z) could open up new opportunities to model and quantify the interplay of dynamic membrane morphology and associated signals with more volumetric nuclear/cytoplasmic signalling. Lastly, we designed mappings to underlying representations, including Cartesian 3D, 3D sphere and 2D plane that are standard inputs in computer vision and machine learning.
With u-Unwrap3D standard computer vision, machine learning methods become directly applicable to computing tasks on rugged complex surfaces. More recently, research into combining different geometric representations are state-of-the-art in addressing complex computational problems such as multiple 2D image views to inform 3D mesh reconstruction96, 97, or 3D mesh vertex coordinates with 2D unwrapped images for feature extraction98, 99. u-Unwrap3D is fully complementary to these research developments - unifying the different representations into a single surface-guided computing framework for downstream analysis. The u-Unwrap3D framework is made available as a Python library. The resources and validation provided by this work will aid the cell biology community to generate testable hypotheses of the spatiotemporal organization and regulation of subcellular geometry and molecular activity.
Author Contributions
FYZ conceived and developed u-Unwrap3D and conducted the analyses. MD generated the uShape3D protrusion instance segmentations and surfaces used in validation. AW acquired timelapse of the blebbing MV3 cell. GMG, BJC and BC acquired timelapse of the ruffling SU.86.86 cell. FYZ and GD wrote the manuscript with input from all authors. GD provided supervision and obtained funding.
Competing Interests
The authors declare no competing interests.
Data Availability
All data presented herein are available from the corresponding author upon request.
Code Availability
u-Unwrap3D is open source, developed as a Python library and is available at: https://github.com/DanuserLab/u-unwrap3D.
Methods
u-Unwrap3D framework
Following we describe the algorithms underpinning each step of u-Unwrap3D depicted in Fig.1.
Step 1: S(x,y,z) to Sref(x,y,z)
Conformalized mean curvature flow (cMCF)
cMCF49 modifies the mean curvature flow (MCF) to avoid the formation of pinches and collapsed vertices that compromise bijectivity and cause early flow termination for watertight meshes with high curvature features. We find cMCF also reduces the size of holes and handles in (x, y, z). MCF evolves Φt, the mesh at time t according to where Δ is the Laplace-Beltrami operator induced by the metric gt and is the discrete mesh parameterization with N vertex positions vi(t) = {v1(t), …, vN(t)} ⊂ ℝ3, each vi(t) a 3D (xi(t), yi(t), zi(t)) coordinate tuple and {B1, …, BN} the local function basis, which for a triangle mesh is the linear hat basis spanned by the edge vectors. Galerkin’s method100 is used to find a weak, least-squares solution to the MCF equation within the span of {Bi }, by solving , ∀ 1 ≤ i ≤ N. S is the surface spanned by {Bi} and dμt the volume form. The equation is solved to obtain the vertex position, v(t + δt) at the next iteration, t + δt using backwards Euler integration; and noting the Laplace-Beltrami is the divergence of the gradient, Δ = ∇ ⋅ ∇ with respect to the local mesh metric gt to get . The integrals, and are called the mass (Mt) and Laplacian (Lt) matrices at time, t. Substituting this notation and rearranging, the linear algebra MCF equation is (t + δt) is then computed from v(t) by direct matrix inversion. cMCF modifies the MCF equation above by using the Laplacian matrix at time t = 0, L0 for all timepoints. The Laplacian matrix is a measure of stiffness between local mesh faces, see active contour cMCF below. Using L0 for all timepoints instead of recomputing implicitly constrains mesh faces to retain the same aspect ratio and this conformalizes the flow. We use the libigl library101 with the cotangent Laplacian and barycentric mass matrix as the default implementations of Mt, Lt respectively. We improve the numerics of solving cMCF by normalization of the surface area and recentering of vertex coordinates at the origin after each iteration as recommended in Alec Jacobson’s blog post (https://www.alecjacobson.com/weblog/?tag=mean-curvature-flow). u-Unwrap3D implements for optional usage the robust Laplacian of Sharp et al.102 instead of the cotangent Laplacian, which can improve numerical stability.
Automatic stopping criterion for cMCF
The ideal reference surface Sref(x, y, z) for topographic representation is the cortical cell shape without protrusions. We find that this corresponds to finding the ‘elbow point’ in the mean absolute Gaussian curvature (Fig. 1a) and not the convergence limit of cMCF which is the sphere49. The difference in the mean absolute Gaussian curvature over vertices, between successive iterations t − 1 and t is used as an automatic stopping criterion for cMCF, stopt = max(tmin, tK). tmin is a user-specified minimum iteration number and tK is the first iteration for which exceeds a user-specified threshold, We compute the discrete Gaussian curvature, Kvi at a vertex vi, given by the vertex’s angular deficit103, Kv = 2Π − ∑j∈(i) θij where N(i) are the triangles incident on vi and θij is the angle at vertex i in triangle j.
Mesh voxelization and remeshing
Mesh voxelization converts a surface mesh (x, y, z) to a binary volume image β where individual voxels are either 1 if they are interior to the surface or 0 if exterior. To do this we create a X × Y × Z voxel volume image larger than the surface with voxels initialised to 0. We then set the intensities of all voxels indexed by the mesh (x, y, z) barycenters to 1, i.e. (x, y, z) = 1. To ensure a closed binary volume with all interior voxel intensities = 1, S(x, y, z) was iteratively subdivided by replacing each triangle face by four new faces formed from adding new vertices at the midpoint of every edge until the mean triangle edge length is < 1 voxel. We use the barycenter coordinates of the final mesh Sfinal(x, y, z) to set the binary voxel values. In case of small holes in (x, y, z) that would prevent a closed binary volume by binary filling only, β was first dilated with a ball kernel, then binary infilled, and lastly binary eroded with a ball kernel. The postprocessed B was meshed using marching cubes104 followed by construction of an approximated centroidal voronoi diagram (ACVD)105 to produce a lower genus remeshing of S(x, y, z) with approximately equilateral triangle faces. If the input S(x, y, z) is a smooth shape with only small holes or handles such as the cMCF intermediary Sref(x, y, z) the proposed voxelization and remesh yields a genus-0 mesh.
Step 2:
Quasi-conformal spherical parametrization of genus-0 closed surfaces
For genus-0 closed surfaces the uniformization theorem52 guarantees the existence of a conformal map onto the unit sphere, 𝕊2. For a closed orientable surface such as Sref(x, y, z) we can compute the genus, g from the Euler characteristic, χ = 2 − 2g = #V − #E + #F. If g = 0 we applied the method of Choi et al.39, 51 which uses the theory of quasi-conformal composition to ensure a bijective spherical parametrization with bounded conformal error (i.e. quasi-conformal). In practice, we found conformal errors = 0 (Extended Fig. 3).
Step 3:
Equiareal spherical parameterization by mesh relaxation
We iteratively advect the vertex coordinates of , whilst preserving face connectivity and the spherical shape to minimise the per face area distortion factor, λ. The magnitude and direction to advect each vertex, the vector field was found as the solution to the linear heat equation27, , where Δ denotes the Laplacian. This is because an infinitesimal change in λ in the direction of is the Lie-derivative on 2-forms, such that we can set Δλ = −∇ ⋅ . As the Laplacian is the divergence of the gradient, Δλ = ∇ ⋅ (∇λ) we have. To ensure vertices are displaced geodesically on the surface of a sphere according to , instead of unwrapping the sphere to the 2D (u, v) plane as in Lee et al27, we developed a direct 3D advection scheme that displaces vertices in small constant step sizes ϵ using active contour cMCF (see below), and reprojecting to the sphere. λ and are recalculated for the new vertex positions and advection is repeated until an equiareal parameterization was achieved or the maximum number of iterations was reached. Details of our advection scheme is given algorithmically.
Step 4:
Automatic determination of unwrapping axis using weighted principal components analysis (PCA)
Mapping surface features of interest with minimal geometrical distortion into (u, v) is equivalent to finding an optimal north-south unwrapping axis for . This optimization is solved by weighted PCA. Let vi = (xi, yi, zi) denote the coordinate of vertex i on and wi the vertex weight, a score of the importance of mapping this vertex with minimum geometrical distortion. The 3×3 weighted covariance matrix, A = (WTv)(WTV)T over all vertices captures the spread of the weight over the sphere. Eigendecomposition applied to the symmetric matrix A finds the principal orthogonal directions of variance given by eigenvalues λ = [λ1, λ2, λ3], λ1 ≥ λ2 ≥ λ3 and eigenvectors e = [e1, e2, e3]. The eigenvalue captures the concentration of the weight w in the direction of the corresponding eigenvector. The optimal north-south unwrapping axis is the smallest eigenvector, e3. To unwrap with respect to e3 we rotate the vertex coordinates vi so that e3 is the new z-axis. As the eigenvector matrix e is orthonormal and thus a 3D rotation matrix, e is the rotation matrix R that maps the x-axis, For a ‘pure’ or proper rotation matrix without reflection the determinant of R must be +1, det(R) = +1. We derive a proper rotation, from R by flipping the sign of e1, e2 to have positive x- and y-components respectively; e1′ ← sgn(v1x, e2′ ← sgn(v2y)e2 is the sign function) and constructing as the cross product of and The matrix inverse of R′ (also the matrix transpose, ) is the desired rotation of such that is the new z-axis. maps the eigenvectors
UV-mapping the unit sphere
We construct an equidistant UV unwrap of the unit sphere where u, the column coordinate equidistantly samples the circumference of the sphere, a total length 2Π and v, the row coordinate equidistantly samples the arc from north to south pole, a total length Π. This specifies a N × 2N pixel UV image with N as a user-defined size. By default N = 256 pixels. The UV mapping is constructed by pullback. Let u = θ be the azimuthal and v = φ be the inclination angles of the sphere and setup the N × 2N grid of v vs u over the parameter space [−Π, 0] × [−Π, Π]. Convert the spherical coordinates, (1, θ, φ) to cartesian coordinates, (x, y, z) = (sinθ cos, sin θ sin φ, cos θ). Each (x, y, z) coordinate is matched by nearest distance to a triangle face, ABC of to compute barycentric coordinates giving (x, y, z) as a convex combination of the vertices A, B, C; μAA + μBB + μCC, μA, μB, μC ≥ 0 and μA + μB + μC = 1. By bijectivity of Sref(x, y, z) and , we set A, B, C to the respective Sref(x, y, z) vertex coordinates to produce the respective uv-coordinate mapping, (u, v) ↔ μAA + μBB + μCC. Note, setting A, B, C to be the vertex coordinates of any mesh bijective to e.g. S(x, y, z) in the direct unwrapping case produces similarly the corresponding uv-coordinate mapping for that mesh. The weights μA, μB, μC is also used to map any other vertex associated quantities such as curvature to Ii(S(u, v)), with vector-valued vertices A, B, C replaced now by scalar values. The construction of the UV map as described above replicates the first and last column of the resulting UV image. For applications such as texture mapping and active contour cMCF (see analysis of ruffles in Datasets section) where the UV image grid needs to be converted to a triangular mesh and the image boundaries ‘stitched’ together we instead use a N × 2N + 1 pixel UV image.
Step 5:
Topographic coordinate space (d, u, v) construction
UV-unwrapping establishes bijection between a 2D uv plane and a 3D Cartesian surface, (u, v) Sref(x, y, z). We construct a topographic (d, u, v) coordinate space, V(d, u, v) corresponding to a volume space normal to Sref(x, y, z) by propagating the (u, v) parameterized Sref(x, y, z) in Cartesian 3D at equidistant steps of α voxels, referred to as α -steps, along the steepest gradient of the signed distance function, ∇Φ(x, y, z) for a total of D steps, d ∈ −Din, …, Dout. D = Dout + Din is the total number of α -steps outwards and inwards relative to Sref(x, y, z) (which is d = 0) respectively. Dout is automatically determined to ensure (d, u, v) fully encapsulates S(x, y, z). Din is user-defined for computational efficiency or automatically determined as a fraction of the maximum internal distance transform. The signed distance function Φ(x, y, z) of Sref(x, y, z) is computed from the binary volume after voxelization. We voxelize the (u, v) parameterized Sref(x, y, z) directly using the same procedure as for meshes but employ image upscaling instead of mesh subdivision to ensure that the distance of 1 pixel in the (u, v) space is < 1 voxel in Cartesian (x, y, z) space. Using active contour cMCF (see below) to propagate the (u, v) parameterized Sref(x, y, z) for large D is slow; a 256×512 UV unwrap is 131,072 vertices. Moreover for a large Dout as the intra-spacing of 3D (x, y, z) positions increases, numerical instabilities arise that require implicit Laplacian smoothing107 to suppress, which is also slow. Instead we use explicit Euler integration for propagation; at α voxels from Sref(x, y, z) d and is the unit gradient of Φ(x, y, z). Computationally efficient image-based filtering is then applied to smooth Sref(x, y, z)d+α per iteration to maintain bijectivity and suppress instabilities. Tilinear interpolation of the respective Cartesian volumetric signal intensities, Ii(V(x, y, z)) at the (x, y, z) coordinates indexed by V(d, u, v) generates the topographic 3D equivalents, Ii(V(d, u, v)).
Step 6: Ii(V(d,u,v)) to S(d,u,v)
Topographic mesh (d, u, v) construction
(x, y, z) was voxelized to a binary volume, Ii(V(x, y, z)) as above and transformed to Ii(V(d, u, v)). Marching cubes were applied at isovalue = 0.5 to create an initial S(d, u, v) which was remeshed with ACVD to construct the final low-genus S(d, u, v) with near-equilateral triangle faces. The Cartesian 3D mesh, Stopo(x, y, z) of S(d, u, v) was constructed by interpolation of the (x, y, z) coordinates indexed by the corresponding (d, u, v) coordinates. To transform surface signals, Fi(S(x, y, z)) to Fi(S(d, u, v)), nearest neighbors was used to match S(x, y, z) and Stopo(x, y, z).
Mesh displacement by active contour cMCF
Active contours, or ‘snakes’ 108, define the boundary of an image region by minimizing its contour energy, E. The contour energy is the sum of an internal, Eint and an external energy, Eimage, (v, I) = Eimage(v, I) + Eint(v). The internal energy is set by Eint = ∫ α|v′|2 + β|v′′|2 ds, where the number of ′ denotes the order of the spatial derivative. Here, the first term is the tension and α the elasticity of the contour. The second term is the stiffness and β the rigidity of the contour. The external energy is set by Eimage = −∫ p ds, where p is an attractor image for the contour. Minimizing E is equivalent to solving the Euler-Lagrange equation, αv′′ − βv′′′′ = −∇p or in matrix form, Av + ∇p = 0, where A prescribes the constant coefficients for computing the second and fourth order derivatives by finite differences. Given a vertex position (t), the next position, v(t + 1) is computed that minimises the residual error Av + ∇p using gradient descent and backwards Euler is v(t + 1) = v(t) − (Atv(t + 1) + ∇p) and the linear system is (I + At)v(t + 1) = v(t) + ∇p, where I is the identity matrix. If β = 0, At only comprises the second order coefficients associated with v′′, and we have or equivalently, (Mt − αtLt)v(t + 1) = Mt(v(t) + ∇p) which is identical to the cMCF equation with Mt the mass matrix, Lt, the Laplacian matrix, αt = δt and Lt = L0 in response to an external force, ∇p. This general equation can be solved by direct matrix inversion to move surface meshes diffeomorphically. We refer to this as active contour cMCF in this paper. To evolve mesh vertices, (t) normal to the surface in equal α-steps, we set p = Φ, the signed distance function, and solve (Mt − αtLt)v(t + 1) = Mt(v(t) + α∇Φ) iteratively, with ∇Φ evaluated at v(t) for each iteration. A positive α moves a cell surface mesh normally outwards from the cell and a negative α moves the mesh normally into the cell.
Quantification of geometric deformation errors for meshes
Surface mappings do not conserve local geometrical measures like angles, edge lengths and face area. Quantification of the distortion in these measures enables a task-specific optimization of the mapping and correction of statistical measurements made on the mapped surface. There are two primary geometric distortions to quantify; conformal and area distortion error (Extended Fig. 1). An isometric deformation is one with no error; both conformal and area distortion errors are 0.
Conformal error
The conformal or quasi-conformal error, 𝒬i measures the extent the shape of a mesh element i, e.g. a triangle face, is stretched. It is 0 if the relative distances between vertices and the angles between edges are preserved after the mapping. We compute 𝒬 of mapping triangle ΔABC to ΔDEF in 3D by first isometrically projecting all triangles into 2D. Let A = (x1, y1, z1), B = (x2, y2, z2), C = (x3, y3, z3) with edge vectors , then an identical 2D triangle ΔA′B′C′is given by , A′, B′, C′ ∈ ℝ2 . Let , be the 3×3 homogeneous vertex coordinates of ΔA′B′C′ and the 3×3 homogeneous vertex coordinates of ΔD′E′F′ then we solve for the 3×3 matrix, A that maps X to Y = AX. A is affine and of the form where J is a 2×2 transformation matrix and T a translation matrix. Eigenvector decomposition of JTJ gives 2 eigenvalues λ1, λ2, λ < λ and the singular values of J, The ratio is the conformal error62. The global conformal error, 𝒬 of deforming a surface mesh S1 to a mesh S2 is the area weighted average of individual conformal errors 𝒬 of each triangle face f in S ; where is the area of face fi of S1.
Area distortion error
The area distortion error, λ measures the extent the surface area fraction of a mesh face is preserved during a surface mapping. One measure of λ is σ1σ2, the product of the singular values of J and the area of the distortion ellipse63. Here we use the surface area fraction ratio, as a direct measurement of the area distortion in mapping ΔABC to ΔDEF in 3D. The global area distortion error, for mapping a mesh S1 to a mesh S2 is the mean over all individual area distortion λfi of each triangle face f in S, with |f | the number of faces in S1and is the area distortion of face fi . The normalization of face area by total surface area is crucial to enable the computation of λ independent of scale.
Quantification of geometric deformation error for UV images
UV mapping defines a bijective relation between the 2D (u, v) rectilinear grid and a 3D surface, (u, v) ↔ S = S(x(u, v), y(u, v), z(u, v)). Differentials can be used to compute geometric quantities when the (u, v) spacing is comparable to the (x, y, z) spacing. The differential area of a (u, v) pixel is du, dv, where ) and are the image gradients of the x, y, z surface coordinates in u, v directions. The topographic space construction establishes bijection of the 3D (d, u, v) volumetric grid to a 3D volume, V, (u, v, d) ↔ V = (x(u, v, d), y(u, v, d), z(u, v, d)). The differential volume of a (d, u, v) voxel is du dv dd. The matrix is the 2×3 Jacobian matrix, J and the conformal error per pixel is where are the two eigenvalues of JTJ. The global conformal error 𝒬 of uv-mapping the surface mesh S is the differential area weighted average of individual conformal errors 𝒬uv of each uv pixel; where dAuv is the area element of the uv pixel. The area distortion error per uv pixel is the ratio between the surface area fraction of a uv pixel and the corresponding surface element on Note dudv = 1 and Σuv dudv = total number of uv pixels. The global area distortion error, for uv mapping a surface S is the mean over all individual area distortion λuv of each uv pixel.
Stopping criteria for area distortion relaxation of
We used three additional stopping criteria to demonstrate intermediate area distortion relaxation between fully conformal, (x,y,z) and fully equiareal, parameterization. We use the same nomenclature as for the above discussed geometric deformation error for meshes.
Most isometric parametrization (MIPS) error
The MIPS62 error is defined and is minimal when σ1 = σ2. This error is trivially minimal for a conformal spherical parametrization (Extended Fig. 3b).
Area-preserving MIPS
The area-preserving MIPS63 is defined . We use this metric with θ = 1, which measures the uniformity of stretch distortion over a surface. This error yields near-equiareal spherical parametrization (Extended Fig. 3b).
Isometric error
We observed tradeoff of conformal error, 𝒬 and log area distortion, log λ on a similar magnitude scale such that their summation has a unique global minima (Extended Fig. 1e). We thus define an isometric error metric, log λ with a constant θ ∈ [0,1] to weight the relative importance of jointly minimizing conformal and area distortion error. We use θ = 0.5 in Extended Fig. 3b.
Assessment of geometrical difference between two meshes
Four metrics were used to assess the difference between two meshes S1 and S2 possessing different number of vertices and faces; chamfer distance (CD), Wasserstein-1 distance (W1), the difference in surface area (ΔA) and the difference in volume (ΔV). CD is the mean Euclidean distance between all vertices of S1 when matched to the nearest vertex of S2 and vice versa . The Wasserstein-1 distance (W1) or Earth-mover’s distance (EMD) is the minimum total area weighted distance of 1-to-1 matching vertices on S1 and S2. W1 accounts for the area of triangle faces and is minimal if the vertices of S1 is a uniform sampling of S2 or vice versa. Exact computation of W1 is impractical, even for small meshes. We compute W1 using the sliced-Wasserstein, SW1approximation, which uses random spherical projections to sum multiple 1D EMD distances64. Specifically we use the ot.sliced.max_sliced_wasserstein_distance function from the Python POT library with 50 projections and average the result from 10 evaluations to report an estimate. The difference in total surface area is when given as a percentage. Total surface area was computed as the sum of individual triangle areas. The difference in total volume is and is when given as a percentage. The volume of a mesh was computed as the number of voxels in its binary voxelization computed as described above. We used the minimal possible dilation ball kernel size to ensure a correct volume computation - visual checking of binary voxelization and value at least 3x surface area. We use Stopo(x, y, z) and S2 = S(x, y, z) to compute the metrics of Extended Fig. 2,3.
Reference surface inference for measurement of protrusion height
An optimal reference surface for protrusion segmentation must be a (u, v) parameterized surface i.e. Sref(dref = f(u, v), u, v) where f(⋅) is injective such that every surface point is defined by a unique (d, u, v)-tuple. We prove this by contradiction. Suppose a surface, (d, u, v) has points with the same (u, v) but different d coordinates. The points with higher d must therefore be part of a surface protrusion and thus (d, u, v) cannot be a Sref(dref, u, v). A suitable Sref(dref, u, v) can thus be found as the (u, v) parametrized 2D ‘baseline’ surface, dref = fsmooth(u, v) to a 2D adaptation of the asymmetric least squares problem (ALS)109; with asymmetric weights, wuv wuv = p if and = 1 − p otherwise. The regularization parameter, λ controls the contribution of the Laplacian Δduv = ∇2du. The solution is a surface intermediate between a (u, v) -parameterization approximation, dS′(d,u,v) = f(u, v) of the topographic surface S(d ≈ f(u, v), u, v) and the flat 2D-plane (d = 0) (Extended Fig. 3a). The input 1024×512 pixels approximation was computed as an image by extending a vertical ray upwards at each (u, v) pixel and setting the image pixel value as the longest contiguous stretch of the topographic binary. We downsample 8x to 128×64 pixels for computational efficiency and additional smoothness regularization and solve for dref by running 10 iterations of ALS109 using p = 0.25, λ = 1. The solution, dref is resized back to 1024×512 pixels. The height, ℎ of S(d, u, v) relative to the inferred reference surface is the difference, ℎ = d − dref between a vertex’s d coordinate and dref of the matching point on Sref(dref = fsmooth(u, v), u, v) as found by interpolation.
Topography guided binary segmentation of protrusions
For cMCF binary segmentation of (d, u, v), the reference surface used is the 2d (u, v) plane, Sref(dref, u, v) = S(d = 0, u, v) and the height is ℎ = d. For more optimal segmentation, the reference surface, Sref(dref, u, v) was inferred as above and the height is ℎ = d − dref, relative to the matching point on Sref(dref, u, v) with identical (u, v) coordinate. For both, the mean height is the threshold to give the initial binary segmentation, . We postprocess by applying graph connected component analysis to remove small segmented regions with surface area < 200 voxels2; diffusing the result using two-class labelspreading110 with an affinity matrix, A, for 20 iterations, clamping ratio 0.99, and binarizing the label probability with threshold of 0.25 at the start of each iteration. Lastly, any remaining small regions with surface area < 500 voxels2 was removed. The affinity matrix69, A is a weighted sum (γ = 0.9) of an affinity matrix based on geodesic distance, Adist and one based on surface convexity, of S(d, u, v). where Ddist is the pairwise Euclidean distance matrix between two vertices i and j. where Dconvex is the pairwise Cosine distance, matrix of the dihedral angle, θij between the normal vectors at two vertices i and j. μ (D) denotes the mean value of the entries of matrix D.
Topography guided instance segmentation of protrusions
Individual protrusions are segmented by identifying high curvature protrusive features and applying connected components analysis. We compute the topographic mean curvature with the normal, given by the unit gradient of the signed distance transform of the binary topographic volume of the cell, Ibinary(V(d, u, v)). We compute a binary subvolume restricted to the surface, Isurf(V(d, u, v)), the intersection of the morphological dilation of Ibinary(V(d, u, v)) with ball kernel size 2, and the morphological erosion of Ibinary(V(d, u, v)) with ball kernel size 2. To identify high curvature surface regions, Hℎigℎ(d, u, v) for lamellipodia, we concatenate H(S(d, u, v)) Gaussian smoothed with σ = 1,3,5 as a 3-dimensional feature for all voxels in Isurf(V(d, u, v)) and apply Gaussian mixture model (GMM) clustering (# classes = 3), keeping the class with the highest mean H. To identify Hℎigℎ(V(d, u, v)) for blebs and filopodia which are circular and smaller, we use H(S(d, u, v)) Gaussian smoothed with σ = 1 as a 1-dimensional feature for all voxels in Isur(V(d, u, v)) and apply kmeans clustering (# classes = 3), keeping the class with the highest mean H. For efficiency, both GMM and kmeans clusterers are fitted on a random sampling of 10,000 surface voxels. Small regions with < 500 connected voxels are removed. Connected component analysis labels each disconnected region in Hℎigℎ(V(d, u, v)) as individual protrusions, Iprotrusions(V(d, u, v)). We expand labels by 3 voxels and transfer the segmentation to the surface mesh, S(d, u, v) by interpolation at the vertex coordinates, Fprotrusions(S(d, u, v)) for further surface-based processing. We first apply the binary protrusion segmentation above, Bprotrusions(S(d, u, v)) to Fprotrusions(S(d, u, v)), taking the intersection and keeping segmentations with size > 100 voxel2 Cartesian 3D surface area. We diffuse segmentation labels with labelspreading, clamping ratio 0.99 for 10 iterations, with affinity matrix A, γ = 0.9 as above. We do not rebinarize the label probability at the start of each iteration. Finally, we apply Bprotrusions(S(d, u, v)) to the diffused segmentations to get the final instance segmentation labels, Fprotrusions(S(d, u, v)).
Direct 2D unwrapping of protrusion submeshes
Segmented individual protrusions are open 3D surfaces with disk topology and can be directly unwrapped into 2D if they possess no holes or handles and have one boundary. The genus, g of an open orientable surface with b boundaries is computed from the Euler characteristic, χ = 2 − 2g − b = #V − #E + #F. Similar to the spherical parameterization of closed 3D surfaces, the open 3D surface is first mapped conformally to the unit disk then relaxed to get an equiareal disk parameterization.
Quasi-conformal disk parametrization of genus-0 open surfaces
We obtain a quasi-conformal map of an open 3D surface to the unit disk by harmonic parametrization111. The boundary vertices are first mapped to the boundary of the unit circle, whilst preserving edge length fractions. Interior vertices are then mapped to the disk interior by solving Laplace’s equation, ∇2Φ = 0.
Equiareal disk parameterization by mesh relaxation
We relax the conformal disk parametrization whilst preserving the boundary topology using the area-preserving flow method112. We solve Poisson’s equation to compute the smooth vector field for diffusing the area distortion and explicit Euler integration to advect vertex points iteratively with Delaunay triangle flips. The extent of area relaxation achieved is determined by the mesh quality and number of vertices with respect to the extremity of local area distortion. In general, relaxation was less stable compared to our relaxation for spherical surfaces above. For thin and long protrusions, prior downsampling and uniform remeshing of the protrusion submesh was necessary to enable full area distortion relaxation.
To convert a unit disk parameterization to an N x N pixel image, we ‘square’ the disk using the elliptical grid mapping formula113, multiply the resulting vertex coordinates by N/2 and interpolate the coordinates and associated vertex quantities onto a N x N pixel integer grid. This gives similar results to but is significantly faster than solving the Beltrami equation94.
Refinement of undersegmented blebs
Given S(x, y, z) and the vertex ids corresponding to protrusion i, (vi) we first impute any small holes in the segmentation; inner vertices not assigned to protrusion i but should be in order to ensure the protrusion submesh, Sprotrusion(x, y, z) is a genus-0 open surface. We do this by applying graph connected component analysis on the submesh formed by all vertex ids not part of protrusion i, {v}\{v}i. Any component with number of vertices <10% the total surface area of (x, y, z) is assigned to protrusion i to . The submesh Sprotrusion(x, y, z) is formed from . We downsample Sprotrusion(x, y, z) by ¼ the number of vertex points and remesh using ACVD as described above both for computational efficiency and to get a higher quality mesh, required for computing the intermediate equiareal disk parameterization for a final square parameterization. is directly unwrapped to a 2D 128 x 128 pixel square image as described above. Positive curvature ‘seed’ regions are identified by thresholding the mean curvature mapped to 2D, H with a global threshold and then applying morphological closing, disk kernel radius 1 pixel. To classify regions as having negative, flat and positive mean curvature, 3-class Otsu thresholding was applied to H(S(x, y, z)) to give two thresholds. All regions with mean curvature greater than the higher threshold Hthresh were positive curvature. Undersegmented blebs correspond to a binary composed of conjoined pseudo-circular regions. We use the gradient watershed114, 115 on the Euclidean distance transform of the high curvature region binary to automatically separate conjoined blebs without seed markers. Mesh matching and interpolation was used to map H and segmentation labels between Sprotrusion(x, y, z) and The refined segmentation were mapped as seed labels from Sprotrusion(x, y, z) for every protrusion back to S(x, y, z). The revised seed labels were then diffused across (x, y, z) using the combined geometrical and convexity affinity matrix from above for 10 iterations with α = 0.99. The binary protrusion segmentation from above is applied, and any segmentation with Cartesian 3D surface area < 10 voxels2 removed to give the final refined protrusion segmentation instances.
Topography guided decomposition of cell surface
The instance protrusion segmentation Fprotrusions(S(d, u, v)) above assigns a unique protrusion label ID to each vertex of the surface mesh, S(d, u, v). We use this surface-based Fprotrusions(S(d, u, v)) as seed labels to partition the total internal cell volume into the volume space unique to each protrusion i, and the reference cortical cell volume, Vref(d, u, v). This is done in three parts; the construction of Vref(d, u, v), volume propagation of Fprotrusions(S(d, u, v)), and using the previous two parts to volumize individual protrusions to obtain (Extended Fig. 4e-g).
Construction of reference surface by imputation
The reference surface with segmented protrusions removed, Sref(d, u, v) is of the functional form Sref(d = f(u, v), u, v) with f(⋅) injective and thus can be described by dref = d = (u, v) only. This is a 2D image with dref as the pixel value. We impute the subset of pixels with missing values corresponding to the removed surface protrusions from pixels with known dref using the fast marching image inpainting116 implemented in the Python OpenCV library with an inpaint radius = 1 (Extended Fig. 4e). The inpainted surface, Sref(dref = finpaint(u, v), u, v) is used to construct the binary reference cortical volume, Ibinary (Vref(d, u, v)) which is 1 for all voxels whose d < dref = finpaint(u, v).
Volume propagation of surface-based instance protrusion segmentation
The surface-based protrusion segmentation, Fprotrusions(S(d, u, v)) is converted to voxel-based by setting the value of the voxels corresponding to the integer discretized S(d, u, v) coordinates to the matching protrusion label ID. We expand the labels by 3 voxels using the Python Scikit-Image skimage.segmentation.expand_labels function and mask with the topographic binary cell volume Ibinary(V(d, u, v)) to get the initial topographic volume protrusion segmentation, Iprotrusions(V(d, u, v)) with only the surface of protrusions labelled. We apply marker watershed segmentation slice-by-slice to propagate labels laterally into the protrusion volume within a slice and labels from previous slices, from the top, d = +Dout to the bottom, d = −Din of the topographic volume. At a slice d = d0, we use the Euclidean distance transform of Ibinary(V(d = d0, u, v)) for watershed with the seed markers given by the labels of the previous slice, d = d0 + 1 combined with the current labels of Iprotrusions(V(d = d0, u, v)) at slice d = d0. In combining labels, the labels of the previous slice d = d0 + 1 takes precedence and overwrites the label of Iprotrusions(V(d = d0, u, v)). The result, Iprotrusions(V(d, u, v)) assigns a protrusion ID to all voxels in the entire cell volume Ibinary(V(d, u, v)) (Extended Fig. 4f).
Volumization of individual protrusions
The binary reference cortical volume, Ibinary (Vref(d, u, v)) is applied to exclude all cortical volume voxels in the watershed depth propagated Iprotrusions(V(d, u, v)). We then apply connected component analysis to each unique protrusion label in Iprotrusions(V(d, u, v)) and keep for each label, the largest contiguous volume region. The resulting Iprotrusions(V(d, u, v)) is the final volume segmentation of all individual protrusions. For each unique protrusion, we generate a closed surface mesh by marching cubes. If the marching cubes mesh has > 1000 vertices, we downsample the mesh by a factor of 4 and remesh with ACVD. This last step is to keep the combined number of vertices across all protrusions and the reference surface reasonable for rendering and processing.
Direct Cartesian 3D decomposition of cell surface
For each segmented protrusion i, we construct the Cartesian 3D submesh, We find the set of vertices on the open boundary, {v}boundary using the Python libigl library function, igl.boundary_loop, compute the mean of these points, and form a submesh, Scap(x, y, z) with {v}boundary and We upsample Scap by successive mesh subdivision 3 times, each time replacing a triangle face by the four new faces formed by adding vertices at the midpoint of every edge, giving a mesh with ≈ 43 = 64 times more vertices. Finally we solve the Possion problem72 to find the vertex coordinates of Scap corresponding to the least bending energy. and Sref(x, y, z) are merged to form a closed surface mesh of protrusion i. Similarly Scap(x, y, z) is merged with the residual reference surface with segmented protrusions removed, Sref(x, y, z) to impute and close the hole left by protrusion i.
Conformalized mean curvature flow (cMCF) for flattening topographic surfaces, (d, u, v)
(d, u, v) are open surfaces. Application of cMCF49, which is designed for closed surfaces, maps (d, u, v) onto the 2D plane as an elliptical disk and in the limit to a point. We want the flow to converge to the planar (u, v) rectangle. To do so, we impose additional no-flux constraints in the u-, v-directions on the boundary, δS but allow flow in the depth, d direction by adding to the right hand side of the cMCF equation an external force term that applies only in the u-, v-directions. In interior vertices, the flow follows the standard cMCF.
where on the boundary, δS we use the mass, and Laplacian, matrix defined for a 2D line and is the mass and Laplacian matrices defined for a 3D triangle mesh. [A|B] is used to denote the augmented matrix formed by appending the columns of matrix A and B. We solve for the vertex position at the next timepoint (t + δt) as with cMCF by direct matrix inversion.
Surface curvature measurement
The mean curvature, H of a 3D surface was measured as the divergence of n̂, the unit surface normal103, n̂. The surface mesh is voxelized to a binary volume, B and n̂ is computed as the gradient of the signed distance transform of B with the Euclidean distance metric. H computed in this manner as opposed to from the mesh directly using discrete differential geometry103 or quadric plane fitting117 which is less affected by the number of mesh vertices or the mesh quality.
Mesh quality measurement
The radius ratio defined as twice the ratio between inradius and circumradius was used to measure the face quality for a triangle mesh in Extended. Fig. 2,3. It is a mesh quality measure in the sense that the radius ratio obtains its maximum value of 1 for an equilateral triangle; the shape which jointly maximizes all internal angles and gives the best conditioning number for the mesh Laplacian matrix118.
Surface rendering
Triangle meshes were exported from Python using the Python Trimesh library into .obj mesh files and visualized in MeshLab119. Volumetric images were rendered in Fiji ImageJ through the volume viewer plugin, and intensities were contrast enhanced for inclusion in the figures using Microsoft PowerPoint. The local surface maximum intensity projection image of Fig. 4c was produced by extending z-axis (depth) rays at every xy pixel, and taking the maximum intensity of voxels within ±9 voxels (±1μm) of the cell surface.
Datasets
Cell morphology validation dataset
To validate u-Unwrap3D (Fig. 2,3 and Extended Fig. 2-4), we used 66 cell surfaces segmented and surface protrusions classified using u-Shape3D and acquired from high resolution light sheet microscopy4,120 as previously described45. The surfaces include 19 MV3 melanoma cells expressing Lifeact-GFP showing blebs, 38 dendritic cells expressing Lifeact-GFP showing lamellipodia, and 9 human bronchial epithelial (HBEC) cells expressing Tractin-GFP. We applied u-Unwrap 3D to these datasets with the following parameters for each step: for Step 1, cMCF with maximum iterations = 50, δt = 5 × 10−4, stopping threshold, Δthresh = 1 × 10−5 for blebs, = 1 × 10−5 for lamellipodia, = 1 × 10−4 for filopodia, Sref(x, y, z) mesh voxelization with morphological dilation and erosion with ball kernel radius 5 voxels, Gaussian smoothing σ = 1 of binary volume and initial Sref(x, y, z) meshing with marching cubes at isovalue 0.5, ACVD remeshing with number of clusters = 90% the number of vertices in the marching cubes mesh; for Step 3, area distortion relaxation with maximum iterations = 100, δt = 0.1, stepsize ε = 1 and if equiareal was not achieved, repeat relaxation with a slower δ = 5 × 10−3; for Step 4, the mean curvature of Sref(x, y, z) was used as the weight for determining the unwrapping axis, and a 1024 x 512 pixel (u, v) grid; for Step 5, an upsampling factor of 3 for binary voxelization, α = 0.5 voxel steps, a specified Din = 40 steps and 2D robust smoothing121 with smoothing factor = 50 for each iteration; for Step 6, binarization of the topographic 3D mapped binary cell segmentation with a threshold of 0.5, then Gaussian smoothing σ = 1 and initial marching cubes meshing at isovalue 0.5, ACVD remeshing with number of clusters = 50% the number of vertices in the marching cubes mesh.
3D timelapse lightsheet imaging and analysis of blebs
Cell culture and timelapse imaging. All details of the cell line creation, culture and imaging of the MV3 GFP-expressing melanoma cell movie in Fig. 4 were previously published38. The movie is a total of 200 frames acquired at a frequency of 1.21 s per frame. Each frame is a 104 x 512 x 512 size 3D volume with a voxel resolution of 0.300 x 0.104 x 0.104 μm.
Cell segmentation and surface meshing
The 200 timepoints were spatiotemporally registered volumetrically to the first timepoint, t = 0 as previously described38. The cell surface at t = 0 was segmented using a multi-level method122 involving local contrast enhancement, deconvolution and edge enhancement and surface meshed as described above to obtain St=0(x, y, z). Images were deconvolved using the Wiener-Hunt deconvolution approach123 with our previously published point-spread function45.The surface mesh at all subsequent timepoints, S(x, y, z) were reconstructed using the non-rigid registration deformation field from volumetric registration38. The vertex Septin intensity was calculated by extending from the surface a trajectory to an absolute depth of 1 μm along the steepest gradient of the distance transform to the mesh surface, and assigning the 95th percentile of intensity sampled along that trajectory to the originating vertex to capture the systematically brightest accumulation of Septin signal in the cortical shell. The raw Septin intensity suffers decay from bleaching. We simultaneously normalized and corrected the vertex Septin intensity by computing a normalized Septin intensity as the raw intensity divided by the mean Septin intensity in the whole cell volume at each timepoint.
u-Unwrap3D analysis
We computed a mean surface mesh, from all St(x, y, z) as the input surface to u-Unwrap3D. This was done by surface meshing the mean binary volume over all binary voxelizations of individual S(x, y, z) at an isovalue of 0.5. u-Unwrap3D was applied to to create a common static (d, u, v) coordinate space that all St(x, y, z) is mapped to in Step 5 of u-Unwrap3D to generate St(d, u, v). u-Unwrap3D was run with the same parameters for all steps as for blebs in the validation dataset, except for the following modifications: step 1, the same automatic stopping iteration number but +5 steps, and ACVD with 10% of the marching cubes mesh to get a smoother Sref(x, y, z); step 4, a smaller 512 x 256 pixel size (u, v) grid and not using the unwrapping axis inferred by curvature-weighted PCA - this axis passed through a large bleb and affected tracking; step 5, Din = 96 steps - a total of 5μm. Topographic cMCF with the robust mesh Laplacian102, mollify factor = 1 × 10−5, δt = 5 × 104 was applied to each S(d, u, v) for 10 iterations to compute the corresponding St(u, v).
Bleb segmentation and tracking
Blebs were segmented from (d, u, v) at every timepoint using the instance segmentation algorithm with refinement for undersegmented blebs as described above. In computing the binary protrusion segmentation we use a downsampling factor of 4 due to the smaller 512 x 256 pixel (u, v) grid and diffuse the segmentation for 5 iterations as the blebs were smaller than the validation dataset. The segmented 512 x 256 (u, v) bleb images, Fbleb(S(u, v)) were padded 50 pixels on all four sides respecting spherical topology. This is done by periodic padding along the u- axis. For the v- axis, we pad the top of the image by reflecting the pixels with respect to the first image row (i.e. all pixels in row 2 to row 51) and then flipping in the u- axis. Similarly, the bottom is padded by refecting the pixels with respect to the last image row (i.e. all pixels in row 2 to row 511) and then flipping in the u- axis. For each unique bleb in every timepoint, we computed the bounding box of the bleb given by top left, (umin, vmin) and bottom right (umax, vmax) coordinates. The bleb bounding boxes were tracked using an optical flow assisted bounding box tracker77.
Boxes were linked over time into tracks using bipartite matching and the intersection over union (IoU>0.25 for valid match) of bounding boxes as the distance function between pairs. To handle large changes in box size, the matching between the current and next frame was carried out on the predicted bounding box coordinates by local optical flow124. Optical flow was computed using the mean curvature, (S(u, v)) after rescaling H(S(u, v)) to be an 8-bit grayscale image using the global minimum and maximum curvature values over time. In case of temporary occlusion or missed segmentation, any non-matched blebs were propagated for up to 5 frames (6s) using the estimated optical flow before track termination. Tracks with > 5 frames (6s) and a mean positive curvature, H > 0.1 μm−1 were retained as bleb tracks. The coordinates of retained tracks was corrected to account for the initial padding of 50 pixels. To remove erroneous and duplicated tracks, we uniquely match every segmented bleb in each timepoint to a track by IoU. For each track, we then computed the fraction of its lifetime that could be matched to a bleb and removed all tracks for which this proportion was < 50%. Lastly for each track we checked for sudden changes in the bounding box area, which was indicative of an erroneous bounding box in need of substitution by an inferred corrected bounding box. We applied this procedure to each track in order to construct the timeseries of the bounding box area over the track lifetime and compute a smooth reference timeseries using the central moving average with a window of 3 frames. The bounding box at a timepoint is erroneous if the instantaneous difference between the raw and smooth bounding box area > 500 pixel2 (the mean (u, v) bleb box area is 361 pixel2). The coordinates of a corrected bounding box is inferred from non-erroneous bounding boxes by interpolation using a linear spline. The tracks that remained fully in-focus over its lifetime were retained for analysis.
Bleb timeseries extraction
We detected (u, v) pixels on blebs by labelling spatially contiguous areas of positive mean curvature based on 3-class Otsu thresholding defining positive, flat or negative curvature. The largest connected component within a bleb bounding box was defined as on-bleb and the remainder area within the bounding box as off-bleb. We extracted distortion-corrected average timeseries of bleb area, mean curvature and septin intensity, that is of a scalar quantity, F by observing that the mean of F over a Cartesian 3D surface area is equivalent to computing a weighted mean over the equivalent (u, v) area . The weight, dA is the magnitude of the differential area element, described above.
Bleb event alignment
Individual blebbing events were detected within a track by applying peak finding after central moving averaging of bleb area timeseries with a window of 3 timepoints. A peak was defined as having a prominence > 0.5 and separated from a neighboring peak by at least 3 timepoints. Individual bleb event timeseries were constructed and temporally aligned using the detected timepoint of maximal bleb area as timepoint 0 and taking a window of 14 timepoints on either side (a total 29 timepoints, 35 s).
3D timelapse lightsheet imaging and analysis of ruffles
Cell culture and timelapse lightsheet imaging
SU.86.86 cells were purchased from American Type Culture Collection (CRL-1837). The cells were transfected with integrating lentiviral plasmids carrying genes for myristoylated CyOFP1 and Tractin-mEmerald. The cells were cultured in RPMI medium supplemented with 10% fetal bovine serum and 1% anti-anti (Gibco 15240062), at 37°C in a humidified incubator and 5% CO2. SU.86.86 cells were imaged on fibronectin-coated coverslips on a custom axially swept light sheet microscope125. The microscope detection system comprises a 25X NA1.1 water immersion objective (Nikon, CFI75 Apo, MRD77220) and a 500mm tube lens. The illumination was done through a 28.6X NA0.66 water immersion objective (Special Optics, 54-10-7). The movie analysed in Fig.5 is a total of 30 frames acquired at a frequency of 2.27 s per frame. Each frame is a two-channel 151 x 1024 x 1024 size 3D volume with a voxel resolution of 0.300 x 0.104 x 0.104 μm.
Cell segmentation and surface meshing
All timepoints were rigid registered volumetrically to the first timepoint, t = 0 to compensate for drift. The CyOFP1 image was also rigid registered to the Tractin-mEmerald in each timepoint. For every timepoint, the volumetric image was segmented using a multi-level method122 involving local contrast enhancement, deconvolution and edge enhancement and surface meshed as described above to obtain the surface mesh, S(x, y, z). The vertex Tractin-mEmerald and CyOFP1 intensities were calculated by extending a trajectory to an absolute depth of 1 μm along the steepest gradient of the distance transform to the mesh surface, and taking the mean intensity along the trajectory.
u-Unwrap3D analysis
The first timepoint surface mesh was used as the input S(x, y, z) to u-Unwrap3D to create a common static (d, u, v) coordinate space that the surface meshes from all timepoints is mapped to in Step 5 of u-Unwrap3D to generate St(d, u, v). We use Unwrap-3D with the following parameters for each step: Step 1, cMCF with maximum iterations = 50, δt = 1 × 10−5, automatic stopping threshold, Δthresh = 5 × 10−5, Sref(x, y, z) mesh voxelization with morphological dilation and erosion with ball kernel radius 5 voxels, Gaussian smoothing σ = 1 of the binary volume and initial marching cubes meshing at isovalue 0.5, ACVD remeshing with number of clusters = 10% the number of vertices in the marchin cubes mesh, and further volume constrained Laplacian mesh smoothing126 with implicit time integration, time step 0.5 for 15 iterations; for Step 3 area distortion relaxation with maximum iterations = 100, δt = 0.1, stepsize ε = 1; for Step 4 we use the binary positive curvature region of Sref(x, y, z) given by 3-class Otsu thresholding as the weight for determining the unwrapping axis, and use a 1025 x 512 pixel (u, v) grid; for Step 5, for outwards propagation, an upsampling factor of 3 for binary voxelization, α = minimum of 0.5 and voxel-steps where Δu, Δv is the mean Cartesian 3D distance of traversing one pixel in u, v directions and a separable 1D uniform box filter smoother with a window 5 pixels; for inwards propagation, we use active contour cMCF with δt = 5 × 10−4, and robust mesh Laplacian102, mollify factor 1 × 10−5 for better numerical stability with the (u, v) parameterized Sref(x, y, z) converted into a triangle mesh by triangulating the quadrilateral pixel connectivity and inserting additional triangles to ‘stitch’ the image boundaries into a spherical topology, (note the latter stitching requires an even number of columns after discounting that the last column is the same as the first column, hence a 1025 x 512 grid) and Din = (maximum internal distance transform value) / α steps; for Step 6, marching cubes meshing of the topographic 3D mapped binary cell segmentation at isovalue 0.5 following Gaussian smoothing σ = 1, ACVD remesh with number of clusters = 50% the number of vertices in the marching cubes mesh and retaining the largest connected component mesh. Topographic cMCF with robust mesh Laplacian102, mollify factor = 1 × 10−5, δ = 5 × 104 was applied to each S(d, u, v) for 10 iterations to compute the corresponding S(u, v).
Optical flow ROI tracking
We used motion sensing superpixels (MOSES)83, 84 in dense tracking mode which automatically monitors the spatial coverage of ROIs and introduces new ROIs dynamically to ensure uniform spatial tracking at every timepoint. We partitioned the image with an initial user-specified 1000 non-overlapping rectangular regions-of-interest (ROI). Each ROI was tracked over time by subsequently updating its centroid by the median optical flow124 within the ROI. Optical flow was computed from the Traction/CyOFP1 (TC) signal after rescaling TC(S(u, v)) to be an 8-bit grayscale image using the video minimum and maximum TC values.
ROI timeseries extraction and cross-correlation
Distortion-corrected average timeseries of mean Tractin/CyOFP1 (TC) and H were computed for a track using the same weighted mean as for blebs. A square bounding box of the mean MOSES ROI width centered at the track (u, v) coordinate was used to sample the scalar values at each timepoint. The distortion-corrected timeseries can be treated as standard 1D timeseries. The 1D normalized cross-correlation was thus computed between the distortion-corrected TC and H timeseries for individual tracks without modification. ROI cross-correlation curves were averaged at all time-lags to derive the mean and 95% confidence interval ROI cross-correlation curve. A deviation of the curve greater than the 95% confidence interval at a time lag of 0 indicated significant instantaneous correlation.
Retrograde actin flow and mean ruffle travel speed
Computing the speed histogram with 25 bins and speed range 0-10 μm/min showed a slow and fast population (Fig. 5d). We inferred the mean speed of the two populations as the two thresholds generated by 3-class Otsu thresholding. The lower and faster of the thresholds are the mean speed of retrograde actin flow and ruffles respectively.
Cross-correlation and curvature relationship
We computed the continuous relationship of mean curvature, H and the lag 0 cross-correlation of TC and H (Fig. 5e) over ROI tracks using kernel density. Gaussian kernel density with a bandwidth set by Scott’s rule was used to derive the joint density distribution of H and cross-correlation i.e. p(X, Y), with X: H, Y: cross-correlation over the closed intervals X ∈ [−0.2, 0.6] and Y ∈ [−1, 1]. The continuous relationship is then given by the marginal expectation with capital denoting the random variable and 𝔼[⋅] the expectation operator, with standard deviation equivalently defined as the square root of the variance, . The evaluation of the integrals uses 100 bins for both H and cross-correlation.
Supplementary Videos
Supplementary Video 1. Overview of the six key steps of u-Unwrap3D.
Supplementary Video 2. Application of u-Unwrap3D to directly unwrap a genus-0 cell surface mesh in conjunction with the spatial activation pattern of PI3K signaling products.
Supplementary Video 3. Application of u-Unwrap3D to an MV3 melanoma cell with bleb surface motifs segmented by the u-shape3D software. Each bleb is labelled with a random color to demonstrate the local surface mappings and their distortions.
Supplementary Video 4. Application of u-Unwrap3D to a dendritic cell with lamellipodia surface motifs segmented by the u-shape3D software. Each lamellipodium is labelled with a random color to demonstrate the local surface mappings and their distortions.
Supplementary Video 5. Application of u-Unwrap3D to an HBEC cell with filopodia surface motifs segmented by the u-shape3D software. Each filopodium is labelled with a random color to demonstrate the local surface mappings and their distortions.
Supplementary Video 6. Application of topographic conformalized mean curvature flow to directly map the topographic surface S(d, u, v) of a dendritic cell with segmented lamellipodia surface motifs to the 2D plane, (u, v) for two different time steps, δ = 100 and δ = 5000. The smaller δ enables gradual relaxation and the ability to sample and use intermediate shapes during the flow. However smooth low curvature folds remain such that we do not fully converge to the plane even if continued to 100 iterations. For direct mapping to the plane we always use the large δ to ensure convergence within 50 iterations.
Supplementary Video 7. Application of u-Unwrap3D to enable segmentation and tracking of blebs on a MV3 melanoma cell in topographic representation. View 1: Projections of cell surface, mean curvature and normalized SEPT6-GFP into topographic surface and (u, v) unwrapped reference surface representations. Individual blebs are segmented by thresholding in the topographic surface representation. Leveraging the bijectivity of u-Unwrap3D mappings bleb labels are projected back to the 3D surface. View 2: The 2D segmented blebs are tracked and trajectories projected back to the original 3D surface. The timelapse volumes were acquired every 1.21s for 200 frames. Scalebar: 10μm.
Supplementary Video 8. Application of u-Unwrap3D to track the surface ruffling and actin flows of a SU.86.86 pancreatic adenocarcinoma. View 1: Projections of cell surface, mean curvature and Tractin-mEmerald into topographic surface and (u, v) unwrapped reference surface representations. View 2: Regional ruffling and actin flows are tracked in 2D with optical flow and trajectories projected into a 2D polar representation and back to the original 3D surface. View 3: Select measurement of instantaneous ruffle and actin flow speeds and cross-correlation of actin and curvature within the lamella and lamellipodia taking advantage of the unwrapped (u, v) representation is projected back to the original 3D surface. The timelapse volumes were acquired every 2.27s for 30 frames. Scalebar: 20μm.
Acknowledgments
We thank Hanieh Mazloom Farsibaf and Zach Marin for discussions on mesh processing. We also thank Qiongjing Zou for putting the Python library into a continuous integration coding framework. Funding for this work in the Danuser lab was provided by the grant R35 GM136428 (NIH). AW is a fellow of the Jane Coffin Childs Memorial Fund. GMG is a Damon Runyon Fellow (DRG 2422-21).
Footnotes
Figure 3 updated to the correct version.
References
- 1.↵
- 2.↵
- 3.
- 4.
- 5.
- 6.↵
- 7.↵
- 8.
- 9.↵
- 10.
- 11.↵
- 12.↵
- 13.↵
- 14.
- 15.↵
- 16.↵
- 17.
- 18.↵
- 19.
- 20.↵
- 21.↵
- 22.
- 23.↵
- 24.↵
- 25.↵
- 26.
- 27.↵
- 28.↵
- 29.↵
- 30.↵
- 31.↵
- 32.↵
- 33.↵
- 34.↵
- 35.
- 36.
- 37.↵
- 38.↵
- 39.↵
- 40.
- 41.↵
- 42.↵
- 43.
- 44.↵
- 45.↵
- 46.↵
- 47.↵
- 48.↵
- 49.↵
- 50.↵
- 51.↵
- 52.↵
- 53.
- 54.
- 55.↵
- 56.↵
- 57.↵
- 58.
- 59.↵
- 60.↵
- 61.↵
- 62.↵
- 63.↵
- 64.↵
- 65.↵
- 66.↵
- 67.↵
- 68.↵
- 69.↵
- 70.
- 71.↵
- 72.↵
- 73.↵
- 74.↵
- 75.↵
- 76.↵
- 77.↵
- 78.↵
- 79.↵
- 80.↵
- 81.↵
- 82.↵
- 83.↵
- 84.↵
- 85.↵
- 86.↵
- 87.↵
- 88.↵
- 89.↵
- 90.↵
- 91.↵
- 92.↵
- 93.↵
- 94.↵
- 95.↵
- 96.↵
- 97.↵
- 98.↵
- 99.↵
- 100.↵
- 101.↵
- 102.↵
- 103.↵
- 104.↵
- 105.↵
- 106.
- 107.↵
- 108.↵
- 109.↵
- 110.↵
- 111.↵
- 112.↵
- 113.↵
- 114.↵
- 115.↵
- 116.↵
- 117.↵
- 118.↵
- 119.↵
- 120.↵
- 121.↵
- 122.↵
- 123.↵
- 124.↵
- 125.↵
- 126.↵