<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Archiving and Interchange DTD v2.3 20070202//EN" "archivearticle.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="methods-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Comput. Sci.</journal-id>
<journal-title>Frontiers in Computer Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Comput. Sci.</abbrev-journal-title>
<issn pub-type="epub">2624-9898</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fcomp.2022.777615</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Computer Science</subject>
<subj-group>
<subject>Methods</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>&#x003BC;Match: 3D Shape Correspondence for Biological Image Data</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Klatzow</surname> <given-names>James</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1597359/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Dalmasso</surname> <given-names>Giovanni</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1481249/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Mart&#x000ED;nez-Abad&#x000ED;as</surname> <given-names>Neus</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1597293/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Sharpe</surname> <given-names>James</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/587361/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Uhlmann</surname> <given-names>Virginie</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1057597/overview"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>European Bioinformatics Institute (EMBL-EBI), European Molecular Biology Laboratory (EMBL)</institution>, <addr-line>Cambridge</addr-line>, <country>United Kingdom</country></aff>
<aff id="aff2"><sup>2</sup><institution>European Molecular Biology Laboratory Barcelona (EMBL)</institution>, <addr-line>Barcelona</addr-line>, <country>Spain</country></aff>
<aff id="aff3"><sup>3</sup><institution>Research Group in Biological Anthropology (GREAB), Department of Evolutionary Biology, Ecology, and Environmental Sciences (BEECA), Universitat de Barcelona</institution>, <addr-line>Barcelona</addr-line>, <country>Spain</country></aff>
<aff id="aff4"><sup>4</sup><institution>Instituci&#x000F3; Catalana de Recerca i Estudis Avan&#x000E7;ats (ICREA)</institution>, <addr-line>Barcelona</addr-line>, <country>Spain</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Horst Bischof, Graz University of Technology, Austria</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Davide Boscaini, Bruno Kessler Foundation (FBK), Italy; Thomas Boudier, Aix-Marseille Universit&#x000E9;, France; Meghan Driscoll, University of Texas Southwestern Medical Center, United States</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Virginie Uhlmann <email>uhlmann&#x00040;ebi.ac.uk</email></corresp>
<fn fn-type="other" id="fn001"><p>This article was submitted to Computer Vision, a section of the journal Frontiers in Computer Science</p></fn></author-notes>
<pub-date pub-type="epub">
<day>15</day>
<month>02</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>4</volume>
<elocation-id>777615</elocation-id>
<history>
<date date-type="received">
<day>15</day>
<month>09</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>10</day>
<month>01</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2022 Klatzow, Dalmasso, Mart&#x000ED;nez-Abad&#x000ED;as, Sharpe and Uhlmann.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Klatzow, Dalmasso, Mart&#x000ED;nez-Abad&#x000ED;as, Sharpe and Uhlmann</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license></permissions>
<abstract>
<p>Modern microscopy technologies allow imaging biological objects in 3D over a wide range of spatial and temporal scales, opening the way for a quantitative assessment of morphology. However, establishing a correspondence between objects to be compared, a first necessary step of most shape analysis workflows, remains challenging for soft-tissue objects without striking features allowing them to be landmarked. To address this issue, we introduce the &#x003BC;Match 3D shape correspondence pipeline. &#x003BC;Match implements a state-of-the-art correspondence algorithm initially developed for computer graphics and packages it in a streamlined pipeline including tools to carry out all steps from input data pre-processing to classical shape analysis routines. Importantly, &#x003BC;Match does not require any landmarks on the object surface and establishes correspondence in a fully automated manner. Our open-source method is implemented in Python and can be used to process collections of objects described as triangular meshes. We quantitatively assess the validity of &#x003BC;Match relying on a well-known benchmark dataset and further demonstrate its reliability by reproducing published results previously obtained through manual landmarking.</p></abstract>
<kwd-group>
<kwd>bioimage analysis</kwd>
<kwd>shape quantification</kwd>
<kwd>correspondence</kwd>
<kwd>alignment</kwd>
<kwd>computational morphometry</kwd>
</kwd-group>
<contract-sponsor id="cn001">European Molecular Biology Laboratory<named-content content-type="fundref-id">10.13039/100013060</named-content></contract-sponsor>
<contract-sponsor id="cn002">European Bioinformatics Institute<named-content content-type="fundref-id">10.13039/100012116</named-content></contract-sponsor>
<contract-sponsor id="cn003">FP7 People: Marie-Curie Actions<named-content content-type="fundref-id">10.13039/100011264</named-content></contract-sponsor>
<contract-sponsor id="cn004">European Research Council<named-content content-type="fundref-id">10.13039/501100000781</named-content></contract-sponsor>
<counts>
<fig-count count="9"/>
<table-count count="3"/>
<equation-count count="20"/>
<ref-count count="67"/>
<page-count count="16"/>
<word-count count="12487"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Recent progress in microscopy technologies and computational imaging enable the acquisition of large volumes of high-resolution 3D bioimage datasets (Ramirez et al., <xref ref-type="bibr" rid="B50">2019</xref>; Voigt et al., <xref ref-type="bibr" rid="B63">2019</xref>). This increase in imaging quality and throughput makes it possible to visually investigate the tri-dimensional morphology of biological systems at the mesoscopic (Hahn et al., <xref ref-type="bibr" rid="B18">2020</xref>) and microscopic scales (Belay et al., <xref ref-type="bibr" rid="B3">2021</xref>). As a consequence, a growing number of studies focus on quantitatively describing shape variability in the 3D structure of biological objects as observed in biological images (Kalinin et al., <xref ref-type="bibr" rid="B24">2018</xref>; Driscoll et al., <xref ref-type="bibr" rid="B12">2019</xref>; Heinrich et al., <xref ref-type="bibr" rid="B20">2020</xref>).</p>
<p>The quantitative comparison of the shape of objects usually requires that a point-to-point mapping between them, also referred to as correspondence, matching, or registration, is established. This fundamental task is however in general non-trivial because the number of possible mappings scales factorially with the size of the object&#x00027;s surface. The problem of automating shape correspondence has therefore been extensively studied in computer vision (Van Kaick et al., <xref ref-type="bibr" rid="B61">2011</xref>), with applications to medical image analysis (B&#x000F4;ne et al., <xref ref-type="bibr" rid="B6">2018</xref>) and evolutionary biology (Mart&#x000ED;nez-Abad&#x000ED;as et al., <xref ref-type="bibr" rid="B38">2012</xref>). Existing 3D shape correspondence methods are however overwhelmingly designed for macroscopic, highly-stereotypical data such as human organs or skeletal scans and do not translate easily to soft-tissue objects with less predictable morphological variations, extracted from noisy biological images at the micro- or mesoscopic scale. Biological entities such as cells, tissues, and small organisms indeed exhibit a significant degree of variation in morphology, even within groups of similar objects (e.g., cell types, organoids, early embryos). In addition, biological images also generally offer a much lower signal-to-noise ratio than 3D medical acquisition devices or object scanners. Object surfaces extracted from bioimages are thus likely to require extensive &#x0201C;cleaning&#x0201D; prior to shape analysis. Finally, biological experiments most often involve large populations of objects, calling for computationally light and scalable approaches. While several microscopy-specific methods have been proposed for intensity (volume)-based registration (Preibisch et al., <xref ref-type="bibr" rid="B49">2010</xref>; Paul-Gilloteaux et al., <xref ref-type="bibr" rid="B46">2017</xref>), fewer focus on the problem of surface-based registration and existing ones require either manual intervention (Boehm et al., <xref ref-type="bibr" rid="B5">2011</xref>) or specific equipment (Horstmann et al., <xref ref-type="bibr" rid="B21">2018</xref>), or rely on the construction of a shape atlas (Grocott et al., <xref ref-type="bibr" rid="B17">2016</xref>; Toussaint et al., <xref ref-type="bibr" rid="B59">2021</xref>), limiting their use to collections with small amount of shape variability.</p>
<p>In this work, we present &#x003BC;Match (pronounced <italic>microMatch</italic>), a 3D shape correspondence pipeline tailored to the particularities of structures as they appear in bioimage data. &#x003BC;Match automates the computation of dense correspondence maps between pairs of 3D mesh surfaces, without the need for any (pseudo-) landmarks. Mesh surfaces are particularly convenient representations for computational geometry and can easily be extracted from segmented voxel data. This input format is therefore ideally suited to the various operations needed for correspondence retrieval and general enough to accommodate a vast range of object geometries, making &#x003BC;Match amenable to a wide range of bioimage analysis applications. We combine state-of-the-art methods initially developed for graphics and computer vision applications, and package them into a user-friendly, open-source end-to-end Python pipeline. In particular, &#x003BC;Match contains tools to facilitate each steps required to align collections of 3D shapes of biological objects described as triangular meshes, ranging from mesh cleaning to symmetry identification, correspondence map extraction, and ultimately basic shape analysis. Our pipeline is designed to be computationally light and is thus amenable to the analysis of large shape collections.</p>
<p>The paper is organized as follows: in Section 2, we review the shape correspondence literature that is most relevant to our work and define the notations used through the manuscript. We present &#x003BC;Match in Section 3 and provide technical details describing each step in the pipeline. We then quantitatively assess in Section 4 the performance of &#x003BC;Match on a biologically-relevant benchmark dataset for shape correspondence, and demonstrate &#x003BC;Match&#x00027;s ability to recover previously reported morphological differences in embryonic limb development of wild-type and Apert syndrome mouse models. Finally, we conclude with a discussion in Section 5.</p></sec>
<sec id="s2">
<title>2. The Shape Correspondence Problem</title>
<sec>
<title>2.1. Literature Overview</title>
<p>Biological morphometry historically relies on manually selected homologous landmarks, defined as anatomically unambiguous and consistent features of the object of interest (Bookstein, <xref ref-type="bibr" rid="B7">1997</xref>). Relying on these landmark points provides an implicit form of sparse correspondence between objects, which then allows aligning collections of specimen via Procrustes analysis, a classical strategy consisting of removing geometrical transformations that do not affect the shape of an object (specifically, translations, scaling and rotations) so as to statistically study the extent and nature of shape differences (Rohlf and Slice, <xref ref-type="bibr" rid="B51">1990</xref>).</p>
<p>Landmark-based morphometry, also called geometric morphometrics (Dryden and Mardia, <xref ref-type="bibr" rid="B13">2016</xref>), is actively used at the macroscopic scale in the context of medical imaging (Yeh et al., <xref ref-type="bibr" rid="B67">2021</xref>), anatomy (Finka et al., <xref ref-type="bibr" rid="B15">2019</xref>), taxonomy (Karanovic and Bl&#x000E1;ha, <xref ref-type="bibr" rid="B25">2019</xref>), and plant science (Lucas et al., <xref ref-type="bibr" rid="B37">2013</xref>). However, when considered at the smaller mesoscopic or microscopic scales, biological objects such as soft tissues and cells in isolation rarely possess well-localized and unambiguously-identifiable features that could reliably act as landmarks, despite having non-trivial shapes. In geometric morphometrics, the fact that landmarks are homologous and that they correspond to the same biological structure or function across different individuals is relevant (Klingenberg, <xref ref-type="bibr" rid="B30">2008</xref>). For the non-rigid, featureless objects most often encountered in microscopy, a more appropriate alternative consists of identifying a dense (continuous) correspondence that only uses geometry and does not rely on the existence of a finite set of unique, localized features derived from functional or evolutionary factors. This type of approach is successfully used in several frameworks in 2D (Laga et al., <xref ref-type="bibr" rid="B32">2014</xref>; Phillip et al., <xref ref-type="bibr" rid="B47">2021</xref>). Extending these methods to 3D shapes is unfortunately challenging when at all possible, and existing solutions impose strong constraints on the topology of input objects and on the way they are parameterized (Srivastava et al., <xref ref-type="bibr" rid="B57">2010</xref>; Koehl and Hass, <xref ref-type="bibr" rid="B31">2015</xref>). As a result, most 3D shape correspondence workflow involving objects extracted from bioimages still rely on manually annotated (pseudo-) landmarks (Boehm et al., <xref ref-type="bibr" rid="B5">2011</xref>; White et al., <xref ref-type="bibr" rid="B64">2019</xref>).</p>
<p>Several algorithms that automatically retrieve a dense correspondence between 3D surfaces have been proposed by the computational geometry and computer graphics communities. Herein it is generally assumed that the shapes to correspond are near-isometric, meaning that they do not exhibit significant deformations. This assumption alone unfortunately makes the vast majority of solutions unsuitable to problems involving collections of biological objects, where natural individual-to-individual variability may fully deviate from isometry. Most popular approaches retrieve a correspondence map that minimizes a measure of distortion, such as the degree of stretching or bending, using continuous optimisation techniques (Schreiner et al., <xref ref-type="bibr" rid="B53">2004</xref>; Sorkine and Alexa, <xref ref-type="bibr" rid="B56">2007</xref>; Schmidt et al., <xref ref-type="bibr" rid="B52">2019</xref>). These methods however suffer from highly non-convex energy landscapes composed of many sub-optimal local minima, and thus require a relatively good initialization to converge to a good solution. This problem is circumvented by Windheuser et al. (<xref ref-type="bibr" rid="B65">2011</xref>), in which a global solution is found using a sophisticated technique to reduce the solution space and then solve the optimization problem using a linear programming approach. The latter approach is guaranteed to yield the lowest distortion mapping and is therefore less likely to suffer from symmetry problems and possible mis-assignments provided that an appropriate distortion function is used. Each matching however then requires hours of processing time even with GPU speedup, making it poorly scalable to large bioimage datasets.</p>
<p>Another class of methods approaches the problem by mapping each of the objects to correspond into intermediate domains and then recovers a mapping between these domains. One such example exploiting the relatively easier task of finding mapping between intermediate domains is provided by Lipman and Funkhouser (<xref ref-type="bibr" rid="B33">2009</xref>), available at <ext-link ext-link-type="uri" xlink:href="https://github.com/pedrofreire/shape-matching">https://github.com/pedrofreire/shape-matching</ext-link>. There, a conformal parameterisation (i.e., an angle-preserving mapping of the objects to the plane &#x0211D;<sup>2</sup>) is used to flip the problem into searching for conformal automorphisms of the plane using M&#x000F6;bius transformations. This method, however, requires good landmarks for initialization and is restricted to shapes of specific topology. Finally, Ovsjanikov et al. (<xref ref-type="bibr" rid="B44">2012</xref>) take a more abstract approach by using the scalar function space associated with each object as intermediate domain, in a strategy referred to as functional mapping. The function space is defined as the set of all functions from the object&#x00027;s surface, represented as a mesh <inline-formula><mml:math id="M1"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula>, to the real numbers, <inline-formula><mml:math id="M2"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> &#x0003D; {<italic>f</italic>:<inline-formula><mml:math id="M3"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula> &#x02192; &#x0211D;}. This last technique is particularly interesting for biological shape correspondence for a number of reasons: firstly, it reduces 3D correspondence to a linear problem that does not require initialization; secondly, it is relatively robust to non-isometry and flexible compared to other continuous approaches as it imposes few constraints on the input shapes; and finally, it provides a computationally efficient means of determining correspondences. For these reasons, we chose to make use of this approach in the &#x003BC;Match pipeline.</p>
<p>The above literature overview, and the design of the &#x003BC;Match pipeline, focuses solely on surface-based alignment. An alternative could have been to review and rely on volume-based alignment methods. Our rationale for choosing a surface-based strategy instead is as follows. Volume-based alignment approaches, as implemented for instance in the popular elastix software (Klein et al., <xref ref-type="bibr" rid="B29">2009</xref>) and commonly used in medical imaging, are unable to handle objects with significantly different orientations. Images must then be pre-aligned or a close-enough initialization must be provided (Miao et al., <xref ref-type="bibr" rid="B41">2016</xref>; Yang et al., <xref ref-type="bibr" rid="B66">2017</xref>). While medical image data often exhibit small enough variations in object orientation (due to the acquisition protocols) and small enough sample variation (due to the nature of the objects being imaged) for this issue to be addressed with <italic>ad-hoc</italic> methods, the extent of sample variation and orientation difference in biological experiments cannot be known a priori. In contrast, the performance of surface-based approaches is not affected by the orientation difference and, as a consequence, they do not require any pre-alignment step. A further issue with biological data lies in the anisotropic nature of microscopy image volumes, making additional steps of interpolation mandatory when relying on voxels to align and further complicating the task of volume-based strategies in the case of large orientation differences. Surface-based methods, as they rely on meshes, have the advantage of being blind to the anisotropy of the input data. In addition to these technical aspects, most alignment algorithms for bioimage analysis originate from medical imaging in general and neuroimaging in particular, in which surface-based alignment is now accepted to be superior to volume-based alignment. Surface-based matching has indeed been shown to map borders more accurately between brains than volume-based registration (Brodoehl et al., <xref ref-type="bibr" rid="B9">2020</xref>), further strengthening the case for a surface-based approach. Finally, since biological images most often capture objects that purely have a surface signal (e.g., from membrane stains) and rarely have a conserved inner structure akin to human organs, the information available for alignment is overwhelmingly held in the object&#x00027;s surface, making it all the more relevant to rely on a surface-based method.</p></sec>
<sec>
<title>2.2. Notations and Problem Formulation</title>
<p>Through the article, we focus on the problem of establishing correspondence between 3D biological objects represented as meshes. We in particular do not study the downstream problems of object segmentation and voxel set meshing. Obtaining object segmentation from possibly noisy biological data can be challenging but is beyond the scope of this paper. This problem has been extensively studied and several robust state-of-the-art methods relying on deep learning, such as the popular 3D U-net (Isensee et al., <xref ref-type="bibr" rid="B22">2021</xref>), are now freely available in user-friendly softwares (Lucas et al., <xref ref-type="bibr" rid="B36">2021</xref>). Once segmented, voxel sets can reliably be meshed using classical methods such as the popular marching cubes algorithm (Lorensen and Cline, <xref ref-type="bibr" rid="B35">1987</xref>), provided in widely-used 3D image processing Python libraries such as scikit-image (van der Walt et al., <xref ref-type="bibr" rid="B60">2014</xref>).</p>
<p>Triangular meshes are discrete approximations of 3D surfaces commonly used as representations for computer graphics and computational geometry. A mesh <inline-formula><mml:math id="M4"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula> is composed of vertices, edges, and (triangular) faces to form a continuous but not smooth surface, due to the presence of sharp edges connecting any two neighboring faces. A mesh is generally defined by two arrays of numbers, the first one containing the spatial positions of the vertices, <inline-formula><mml:math id="M5"><mml:mi>v</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>, and the second one the mesh faces, <inline-formula><mml:math id="M6"><mml:mi>f</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. Increasing the number of vertices of a mesh provides increased resolution and smoothness, at the expense of increased complexity and memory requirements.</p>
<p>Numerous classical Euclidean operators can be extended to manifolds, and as a consequence to discrete meshes, including the gradient &#x02207; and the Laplacian &#x00394; &#x0003D; &#x02207;<sup>2</sup> &#x0003D; &#x02207;&#x000B7;&#x02207; operators. The Laplacian is interesting in particular because its eigenfunctions (i.e., the functions that are only scaled by the action of the operator) provide a geometrically informative basis for the scalar space of the manifold. The Laplace-Beltrami operator is the generalization of the Laplacian to triangular meshes. For a mesh of <italic>n</italic><sub><italic>v</italic></sub> vertices, the Laplace-Beltrami operator is represented as a sparse <italic>n</italic><sub><italic>v</italic></sub> &#x000D7; <italic>n</italic><sub><italic>v</italic></sub> matrix. Because a mesh is not differentiable, such a discretisation requires care in order to reproduce the expected behavior of the Laplacian: the most common formalism for doing is the cotangent Laplace-Beltrami operator (Pinkall and Polthier, <xref ref-type="bibr" rid="B48">1993</xref>), given by</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M7"><mml:mrow><mml:msub><mml:mo>&#x00394;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mi>cot</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>cot</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mo>&#x02211;</mml:mo><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mo>&#x00394;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mtext>otherwise</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<p>where &#x003B1;<sub><italic>ij</italic></sub> is the angle adjacent to the edge <italic>ij</italic>, <inline-formula><mml:math id="M8"><mml:mi mathvariant="-tex-caligraphic">N</mml:mi></mml:math></inline-formula>(<italic>i</italic>) the connected neighbors of the <italic>i</italic><sup>th</sup> vertex, and cot the cotangent operator.</p>
<p>The shortest distance between any two points on a mesh is given by a geodesic path, as illustrated in <xref ref-type="fig" rid="F1">Figure 1</xref>. Formally, given a triangular mesh <inline-formula><mml:math id="M9"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula> with associated metric <italic>g</italic>, the geodesic path <italic>x</italic> parameterized by <italic>t</italic> &#x02208; &#x0211D; between two points <italic>a</italic> and <italic>b</italic> on the mesh is defined as</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M10"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder><mml:mrow><mml:mo class="qopname">argmin</mml:mo></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003BC;and &#x003BD; correspond to coordinates on the mesh.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Geodesic path between two points on a surface. A geodesic corresponds to the shortest path connecting any two arbitrary points on a mesh. Molar tooth mesh data from Boyer et al. (<xref ref-type="bibr" rid="B8">2011</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0001.tif"/>
</fig>
<p>Two meshes are equivalent if there is a map between them that preserves the metrics, and therefore the geodesic distances, on them. The degree of deformation induced by a map can thus be measured by calculating the extent to which geodesic distances are altered by the map, captured in the geodesic matrix <inline-formula><mml:math id="M11"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The geodesic matrix is constructed by computing all pairwise geodesic distances such that [<inline-formula><mml:math id="M12"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>]<sub><italic>ij</italic></sub> contains the geodesic distance between the two vertices <italic>i</italic> and <italic>j</italic> on the mesh <inline-formula><mml:math id="M13"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula>.</p>
<p>A symmetry of a surface is defined as a self-mapping (i.e., automorphism) &#x003A8; of the mesh that leaves the geodesic matrix unchanged, which is formally expressed as &#x003A8;:<inline-formula><mml:math id="M14"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula>&#x02192;<inline-formula><mml:math id="M15"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula> such that [<inline-formula><mml:math id="M16"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>]<sub><italic>x,y</italic></sub> &#x0003D; [<inline-formula><mml:math id="M17"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>]<sub>&#x003A8;(<italic>x</italic>), &#x003A8;(<italic>y</italic>)</sub> for every <italic>x, y</italic> &#x02208; <inline-formula><mml:math id="M18"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula>.</p>
<p>Finally, a correspondence &#x003A6; between two meshes is formally defined as a mapping that assigns each vertex on a first mesh <inline-formula><mml:math id="M19"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> to each vertex on a second mesh <inline-formula><mml:math id="M20"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> as &#x003A6;:<inline-formula><mml:math id="M21"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> &#x02192; <inline-formula><mml:math id="M22"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>. A functional mapping <italic>T</italic>:<inline-formula><mml:math id="M23"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> &#x02192; <inline-formula><mml:math id="M24"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> maps the space of scalar functions on one mesh (<inline-formula><mml:math id="M25"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> ) to the scalar functional space on the other (<inline-formula><mml:math id="M26"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>). As will be extensively discussed through the paper, the functional mapping provides a useful way of representing the correspondence between two meshes. In order to use it, we need a concrete representation in the form of a finite (<italic>k</italic> &#x000D7; <italic>k</italic>) correspondence matrix, denoted as <bold>C</bold><sub>&#x003A6;</sub>.</p></sec></sec>
<sec id="s3">
<title>3. &#x003BC;Match Pipeline</title>
<p>We hereafter detail each step of the &#x003BC;Match pipeline that automatically retrieves a one-to-one mapping between pairs of biological objects which surfaces are represented as triangular meshes. The considered objects can be of any nature as long as a mapping reasonably exists between them. To provide an intuitive, non-biological toy example of what a reasonable mapping means: while any four-legged animal such as cats and dogs can plausibly be matched onto one another, they cannot not be plausibly matched with a snake. It is worth noting that there is no formal criterion to determine whether two shapes can meaningfully be put in correspondence, nor for evaluating the quality of the resulting correspondence in the absence of a ground truth. The quality of a matching is therefore usually left to qualitative evaluation.</p>
<p>The &#x003BC;Match pipeline, summarized in <xref ref-type="fig" rid="F2">Figure 2</xref>, is composed of three main modules. It starts with a pre-processing stage in which the meshes are prepared and cleaned and some important quantities are pre-computed. The second step is the matching algorithm itself, which exploits the functional mapping strategy. Finally, the retrieved correspondence map can be further used for shape analysis. &#x003BC;Match is implemented in Python 3.7 and is available at <ext-link ext-link-type="uri" xlink:href="http://github.com/uhlmanngroup/muMatch"><italic>github.com/uhlmanngroup/muMatch</italic></ext-link>. In addition to the code itself, we also provide sample data and a script exemplifying the use of the pipeline. For ease of use, all tunable parameters involved in &#x003BC;Match are gathered in a <monospace>.yml</monospace> file along with a description of their meaning and range.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Overview of &#x003BC;Match. The pipeline, composed of three main steps, automatically retrieves a dense correspondence map between two arbitrary surfaces of biological objects represented as triangular meshes. Individual substeps are listed in each of the boxes.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0002.tif"/>
</fig>
<sec>
<title>3.1. Pre-processing</title>
<p>To make them amenable to processing with &#x003BC;Match, the input objects must satisfy a number of technical requirements. First, each object&#x00027;s surface must be represented in the form of a triangular mesh. These meshes must additionally be both connected and manifold. Being connected implies that, given any two vertices in the mesh, it is possible to find a path consisting of a subset of the mesh edges (i.e., the sides of the faces) that links the two. The manifold condition imposes that the mesh must represent a physically realizable continuous surface. More specifically, it means that each edge in the mesh should be incident to at most two faces, and that the faces attached to a vertex should form an open disk or half-disk around the vertex. An example of non-manifold mesh may involve two parts that are connected by a single vertex, or the presence of an internal face. These different notions are illustrated in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Connectivity and manifold properties. Connectivity attributes expected in a manifold mesh: <bold>(A)</bold> internal vertex with a full loop of surrounding faces; <bold>(B)</bold> boundary vertex with a partial loop of surrounding faces. Two examples of non-manifold connectivity: <bold>(C)</bold> sub-meshes connected by only a single vertex; <bold>(D)</bold> a single edge shared by more than two triangular faces.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0003.tif"/>
</fig>
<p>In addition, the matching process assumes that the correspondence map is a bijection, meaning that it defines a way to match <inline-formula><mml:math id="M27"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> to <inline-formula><mml:math id="M28"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> as much as a way to match <inline-formula><mml:math id="M29"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> to <inline-formula><mml:math id="M30"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula>. It is therefore crucial that the pairs of meshes have the same coverage, which implies that for each point in <inline-formula><mml:math id="M31"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula>, a corresponding point exists in <inline-formula><mml:math id="M32"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> and vice versa. Finally, it is important for all meshes in the collection to be constructed by sampling as uniformly as possible the object&#x00027;s surface. This translates to vertices in the mesh being equally spaced on each surface, or equivalently to triangular faces having a constant area. &#x003BC;Match makes use of a number of geometric quantities associated with each mesh, including the geodesic matrix and the Laplace-Beltrami eigen-decomposition introduced in Section 2.2, that may be adversely affected by a non-uniform sampling.</p>
<p>In &#x003BC;Match, input meshes are cleaned using PyMeshFix 0.14.1 (Attene, <xref ref-type="bibr" rid="B1">2010</xref>), which offers built-in functionalities to remove common errors in triangular meshes, including degenerate and intersecting faces. As a result, output meshes are manifold and watertight with a single connected component. Meshes are subsequently resampled to a user-defined number of vertices <italic>N</italic> that is smaller or equal than the total number of vertices in the smallest of the input meshes. Importantly, this resampling step processes all meshes to have the same number of vertices regardless of the original number of vertices they were composed of, relieving users from having to handle this constraint. The value of <italic>N</italic> should be chosen so as to aim at having fine enough meshes to capture important shape features, while limiting the number of vertices to what is necessary in order to avoid overburdening the matching process later.</p>
<p>A final preprocessing step in &#x003BC;Match, consists of calculating the geodesic matrix of each input mesh using Lib-igl (Jacobson and Panozzo, <xref ref-type="bibr" rid="B23">2018</xref>). Although Lib-igl implements the fast exact geodesic algorithm (Mitchell et al., <xref ref-type="bibr" rid="B42">1985</xref>), it is still computationally demanding with a run-time of <italic>O</italic>(<italic>N</italic><sup>2</sup>log<italic>N</italic>) and memory requirement of <italic>O</italic>(<italic>N</italic><sup>2</sup>), with <italic>N</italic> the number of vertices in the mesh. For the sake of computational efficiency, we therefore provide a custom data preparation script that precomputes the geodesic matrices for the whole collection of objects and save them to disk prior to the correspondence pipeline.</p></sec>
<sec>
<title>3.2. Correspondence</title>
<p>The core of &#x003BC;Match is a landmark-free dense correspondence algorithm adapted from Ovsjanikov et al. (<xref ref-type="bibr" rid="B44">2012</xref>), Litany et al. (<xref ref-type="bibr" rid="B34">2017</xref>), and Halimi et al. (<xref ref-type="bibr" rid="B19">2019</xref>). The correspondence matrix, describing the final mapping, is built from a collection of feature descriptors and refined through filtering steps. The overall workflow is summarized in <xref ref-type="fig" rid="F4">Figure 4</xref>.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Overview of &#x003BC;Match&#x00027;s correspondence workflow. The main elements involved in each steps are listed in the corresponding boxes.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0004.tif"/>
</fig>
<sec>
<title>3.2.1. Feature Descriptors</title>
<p>Surface matching begins with the calculation of point-wise feature descriptors, referred to as signature functions. Signature functions describe the intrinsic geometry of an object and will therefore return similar values at geometrically similar points on each mesh to be matched. A number of such descriptors have been developed and proposed for the specific purpose of shape correspondence. The first and perhaps most intuitive one is the Gaussian curvature of the mesh, defined as the product of the two principal curvatures, calculated at different scales. More sophisticated techniques include the heat kernel signature (HKS) (Sun et al., <xref ref-type="bibr" rid="B58">2009</xref>), based on solutions of the classical heat equation &#x02202;<sub><italic>t</italic></sub><italic>T</italic> &#x0003D; &#x00394;<italic>T</italic>, where &#x00394; is the Laplace-Beltrami operator and <italic>T</italic> a temperature. The rough idea behind the HKS is to express the remaining temperature after some time <italic>t</italic> for an initial &#x0201C;heat impulse&#x0201D; fully concentrated at a given point of the mesh. The HKS can be computed for multiple values of <italic>t</italic> at each point on a mesh to generate a collection of feature descriptors. In practice, the HKS can be calculated efficiently as</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M33"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi>&#x003D5;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where {&#x003BB;<sub><italic>i</italic></sub>, &#x003D5;<sub><italic>i</italic></sub>} are the pairs of eigenvalues and eigenvectors of the Laplace-Beltrami operator (calculated with Lib-igl in &#x003BC;Match).</p>
<p>The wave kernel signature (WKS) (Aubry et al., <xref ref-type="bibr" rid="B2">2011</xref>) is closely related to the HKS but instead uses the Schr&#x000F6;dinger wave equation (<italic>i&#x02202;</italic><sub><italic>t</italic></sub> &#x0002B; &#x00394;)&#x003C8; &#x0003D; 0, which ordinarily governs the dynamics of particles in quantum mechanics. Unlike HKS, WKS assume an approximate particle energy and then determines the long time (i.e., <italic>t</italic> &#x02192; &#x0221E;) averaged probability distribution for finding the particle in a particular location on the surface. Sampling these distributions for different values of particle energy once again produces a collection of feature descriptors at each point on the mesh. For <inline-formula><mml:math id="M34"><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mtext>exp</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>5</mml:mn><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003F5;</mml:mi><mml:mo>-</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">log</mml:mtext></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>/</mml:mo><mml:msup><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, where &#x003F5; is the particle energy and &#x003C3; a scale factor set by the difference between the eigenvalues, it can be shown that the WKS is obtained as</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M35"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi>&#x003D5;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Examples of several HKS and WKS, exhibiting these descriptors&#x00027; ability to capture geometrically similar features across comparable objects, are illustrated in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Feature descriptors computed in &#x003BC;Match. A subset of the descriptors computed from the eigen-decomposition of the Laplacian operator are shown in two different meshes of the TEETH dataset: <bold>(A)</bold> heat kernel signatures (HKS) for different values of <italic>t</italic>; <bold>(B)</bold> wave kernel signatures (WKS) for different values of &#x003F5;. Both types of descriptors can be observed to behave similarly in corresponding areas of the two meshes. Molar teeth mesh data from Boyer et al. (<xref ref-type="bibr" rid="B8">2011</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0005.tif"/>
</fig>
<p>In order to obtain robust and quickly-computed feature descriptors for use on biological objects exhibiting potentially subtle shape features, &#x003BC;Match combines HKS and WKS. In practice these quantities are calculated using only the eigenvalues and eigenvectors of the Laplace-Beltrami operator as input, together with the number of functions desired. The total number of extracted HKS and WKS signature functions must be greater or equal as the dimension of the functional space, which corresponds to the size of the correspondence matrix to extract. This parameter can be freely adjusted in &#x003BC;Match and is set to 100 by default.</p>
<p>A final step in the computation of signature functions consists of passing them through a neural network to improve their overall quality in a process called deep functional maps. Following Halimi et al. (<xref ref-type="bibr" rid="B19">2019</xref>), &#x003BC;Match implements a 7-layer ResNet, which is trained in an unsupervised fashion. Each layer acts on the signature functions by first taking weighted linear combinations of the different signature functions and then passing the result through a non-linear activation function (ReLU). The weights in the linear combination are adjustable parameters that are tuned during the training process such that the output signature functions span the functional space better and therefore produce correspondence maps with lower distortion. Note that while the loss is formulated on the geodesic distance, the neural network is however constrained by the input signature functions. Minimizing the geodesic distance between the two inputs therefore amounts to minimizing distortion subject to aligning the signature functions. As such, the optimization is carried out on intrinsic shape properties (as captured by the signature functions) and not on the geodesic matrix itself. In order to train the network, a subset of the collection of objects to be put in correspondence must serve as training set. As ever, the size of the training set is a trade-off between the ability of the trained network to effectively generalize and the training time, and there is no universal rule to determine how many objects should be included for training. In practice, however, all objects may be used whenever the collection is small. For collections composed of more than a hundred of meshes, a representative subset can be chosen as the training set to speed up computations. We recall that preparing the training set does not require any manual annotation since the network is trained in an unsupervised manner. For each mesh in the training set, the geodesic matrix, the Laplace-Beltrami eigenvectors, an array area encoding the area around each vertex, and the feature descriptors of each mesh are precomputed and saved to a single TensorFlow <monospace>.tfrecords</monospace> file for fast data access.</p></sec>
<sec>
<title>3.2.2. Assignment Problem</title>
<p>The correspondence matching algorithm used in &#x003BC;Match is based on a method known as functional mapping (Ovsjanikov et al., <xref ref-type="bibr" rid="B44">2012</xref>, <xref ref-type="bibr" rid="B45">2016</xref>) and entirely relies on the computed feature descriptors. The core principle of functional maps is that any mapping between two surfaces induces a corresponding linear mapping between their functional spaces. Formally, this can be demonstrated as follows. Assuming that two surfaces <inline-formula><mml:math id="M36"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M37"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> are put in correspondence by a smooth mapping &#x003A6;:<inline-formula><mml:math id="M38"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> &#x02192; <inline-formula><mml:math id="M39"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, one can define a space of scalar functions on the surface <inline-formula><mml:math id="M40"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mo>&#x003BD;</mml:mo></mml:msub></mml:math></inline-formula> as <inline-formula><mml:math id="M41"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mo>&#x003BD;</mml:mo></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> &#x0003D; {<italic>f</italic>:<inline-formula><mml:math id="M42"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mo>&#x003BD;</mml:mo></mml:msub></mml:math></inline-formula> &#x02192; &#x0211D;} for &#x003BD; &#x0003D; 1, 2. These spaces can be shown to be infinite dimensional linear vector spaces and the smooth mapping &#x003A6; thus induces a linear map <italic>T</italic><sub>&#x003A6;</sub>:<inline-formula><mml:math id="M43"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> &#x02192; <inline-formula><mml:math id="M44"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> through <inline-formula><mml:math id="M45"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x02218;</mml:mo><mml:msup><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>, called functional mapping. The linear map <italic>T</italic><sub>&#x003A6;</sub> can be represented as a finite correspondence matrix <bold>C</bold><sub>&#x003A6;</sub> by choosing a (finite) set of <italic>k</italic> basis functions on the vector spaces <inline-formula><mml:math id="M46"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M47"><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">F</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. The eigenfunctions of the Laplace-Beltrami operator, <inline-formula><mml:math id="M48"><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003D5;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, can be shown to form a complete orthogonal basis of each respective functional space (Ovsjanikov et al., <xref ref-type="bibr" rid="B44">2012</xref>) and encode spatial resolution (also referred to as frequency) when ordered according to their eigenvalues, denoted <inline-formula><mml:math id="M49"><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, making their choice geometrically meaningful. Because only the <italic>k</italic> first eigenfunctions are selected, they are referred to as the reduced spectral basis.</p>
<p>A correspondence should first and foremost preserve the signature functions. Given a set of <italic>n</italic> feature descriptors for each mesh, <bold>A</bold> &#x02208; &#x0211D;<sup><italic>k</italic>&#x000D7;<italic>n</italic></sup> and <bold>B</bold> &#x02208; &#x0211D;<sup><italic>k</italic>&#x000D7;<italic>n</italic></sup> expressed in the reduced spectral basis, this requirement implies that <bold>C</bold><sub>&#x003A6;</sub><bold>A</bold> &#x02243; <bold>B</bold>. In the case of perfect isometry, the functional mapping can be shown to commute with the Laplace-Beltrami operator such that <bold>C</bold><sub>&#x003A6;</sub><bold>L</bold><sub>1</sub> &#x0003D; <bold>L</bold><sub>2</sub><bold>C</bold><sub>&#x003A6;</sub>, with <bold>L</bold><sub>&#x003BD;</sub> the Laplace-Beltrami operator expressed in the spectral basis of <inline-formula><mml:math id="M50"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mo>&#x003BD;</mml:mo></mml:msub></mml:math></inline-formula>, simply corresponding to a diagonal matrix of the eigenvalues. Whilst exact equality is no longer true in the general case, this relation still approximately holds and can be exploited as a regulariser. The correspondence matrix can be retrieved by solving the regularized linear least squares problem</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M51"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo class="qopname">argmin</mml:mo></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow></mml:munder></mml:mstyle><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle><mml:mstyle mathvariant="bold"><mml:mtext>A</mml:mtext></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle mathvariant="bold"><mml:mtext>B</mml:mtext></mml:mstyle><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x0002B;</mml:mo><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mstyle mathvariant="bold"><mml:mtext>L</mml:mtext></mml:mstyle><mml:mo>&#x02299;</mml:mo><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x02299; is the Hadamard product and <inline-formula><mml:math id="M52"><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mi>&#x003B4;</mml:mi><mml:mstyle mathvariant="bold"><mml:mtext>L</mml:mtext></mml:mstyle></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula>, with <inline-formula><mml:math id="M53"><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> the eigenvalues of the Laplace-Beltrami operator on <inline-formula><mml:math id="M54"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mo>&#x003BD;</mml:mo></mml:msub></mml:math></inline-formula>.</p>
<p>In the presence of any intrinsic symmetries in the mesh, a subset of eigenfunctions called the anti-symmetric space are undistinguishable up to a flip of sign. The signature functions therefore do not provide sufficient information to unambiguously determine how this subset of the function space is mapped between the two meshes. This can lead to parts of the object being mapped with different orientations, leaving large tear discontinuities in-between. To solve this, &#x003BC;Match implements an additional step after solving (Equation 5) in order to ensure that the resulting map has low distortion. We begin by noting that, much like any scalar function can be decomposed using the spectral basis, so too can any bivariate function, <italic>F</italic>:<inline-formula><mml:math id="M55"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mo>&#x003BD;</mml:mo></mml:msub></mml:math></inline-formula> &#x000D7; <inline-formula><mml:math id="M56"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mo>&#x003BD;</mml:mo></mml:msub></mml:math></inline-formula> &#x021A6; &#x0211D;, the result being a <italic>k</italic>&#x000D7;<italic>k</italic> array. Also, given such a bivariate function <italic>F</italic> on <inline-formula><mml:math id="M57"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and a mapping &#x003A6;:<inline-formula><mml:math id="M58"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> &#x021A6; <inline-formula><mml:math id="M59"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, &#x003A6; maps <italic>F</italic> to a bivariate function <italic>F</italic><sub>&#x003A6;</sub> on <inline-formula><mml:math id="M60"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, defined by <inline-formula><mml:math id="M61"><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x000B7;</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>&#x000B7;</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>&#x000B7;</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. When expressed in the spectral basis with the correspondence matrix, it reduces to the matrix product <inline-formula><mml:math id="M62"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>F</mml:mi></mml:mstyle><mml:mo>&#x003A6;</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>C</mml:mi></mml:mstyle><mml:mo>&#x003A6;</mml:mo></mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>F</mml:mi></mml:mstyle><mml:msubsup><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>C</mml:mi></mml:mstyle><mml:mo>&#x003A6;</mml:mo><mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>. The class of bivariate functions that is particularly interesting for the purpose of shape correspondence is the geodesic matrix and functions derived from it. In &#x003BC;Match, we don&#x00027;t consider the geodesic matrix directly, but rather its Gaussian at several scales &#x003C3;, defined as <inline-formula><mml:math id="M63"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo class="qopname">exp</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>G</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>/</mml:mo><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, which better encodes neighborhood information. Thus, we expect</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M64"><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>C</mml:mi></mml:mstyle><mml:mo>&#x003A6;</mml:mo></mml:msub><mml:msubsup><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>K</mml:mi></mml:mstyle><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msubsup><mml:msubsup><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>C</mml:mi></mml:mstyle><mml:mo>&#x003A6;</mml:mo><mml:mi>T</mml:mi></mml:msubsup><mml:mo>&#x02243;</mml:mo><mml:msubsup><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>K</mml:mi></mml:mstyle><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:math></disp-formula>
<p>The <inline-formula><mml:math id="M65"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula> matrices contain off-diagonal entries that provide information on how different eigenfunctions should relate to one-another, including for the anti-symmetric ones that are not captured by the signature functions. In &#x003BC;Match, a few fixed values of &#x003C3; are chosen corresponding to &#x003C3; &#x02208; [0.25&#x003BC;(<inline-formula><mml:math id="M66"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), 0.75&#x003BC;(<inline-formula><mml:math id="M67"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>)], where &#x003BC;(<inline-formula><mml:math id="M68"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) is the mean surface distance defined as</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M69"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>&#x003BC;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>G</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:msub><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:msub></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>G</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>x</mml:mi><mml:msup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>y</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>for a mesh <inline-formula><mml:math id="M70"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula> with geodesic matrix <inline-formula><mml:math id="M71"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and surface area <inline-formula><mml:math id="M72"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
<p>Decreasing the dimension of the spectral basis, captured by the number of basis functions <italic>k</italic>, increases the stability of the solution of Equation (5). It is therefore better to solve for the correspondence matrix <bold>C</bold><sub>&#x003A6;</sub> at relatively low dimension, generally lying in the range of <italic>k</italic> &#x0003D; 5 to 12 (&#x003BC;Match uses <italic>k</italic> &#x0003D; 8 by default), and then scale up in a process known as ZoomOut Upsampling (Melzi et al., <xref ref-type="bibr" rid="B40">2019</xref>). The downside of working at low dimensions is that much of the off-diagonal information is lost by the omission of higher frequency components from the matrices <inline-formula><mml:math id="M73"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula>. Therefore, in order to retain the high frequency information that is required for computing the final <italic>k</italic><sub>max</sub>-dimensional correspondence matrix, we first compute <inline-formula><mml:math id="M74"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula> matrices at the full dimension <italic>k</italic><sub>max</sub>, and from this derive the following three reduced (<italic>k</italic> &#x000D7; <italic>k</italic>) matrices</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M75"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>J</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E9"><label>(9)</label><mml:math id="M76"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>J</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">max</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E10"><label>(10)</label><mml:math id="M77"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>J</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">max</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>for <italic>i, j</italic> &#x02208; {1, &#x02026;, <italic>k</italic>}. The reduced matrices <inline-formula><mml:math id="M78"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>J</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M79"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>J</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula> capture off-diagonal information related to the first <italic>k</italic> eigenfunctions that would otherwise be lost in the <italic>k</italic> &#x000D7; <italic>k</italic> version of <inline-formula><mml:math id="M80"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula> (corresponding to <inline-formula><mml:math id="M81"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>J</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula>). A <italic>k</italic> &#x000D7; <italic>k</italic> correspondence matrix <inline-formula><mml:math id="M82"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula> can then be obtained by solving the continuous optimisation problem</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M83"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo class="qopname">argmin</mml:mo></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:mstyle displaystyle="true"><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>J</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>J</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo>|</mml:mo><mml:msubsup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mstyle><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>using the solution of Equation (5) as initial value.</p>
<p>The final, full resolution correspondence matrix is obtained by iteratively increasing <italic>k</italic> as follows. First, given <inline-formula><mml:math id="M84"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>&#x003A6;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula>, we solve for the point-to-point map by computing a transition matrix <bold>Q</bold> given as</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M85"><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>Q</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>A</mml:mi></mml:mstyle><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:msubsup><mml:mi>&#x003D5;</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>C</mml:mi></mml:mstyle><mml:mo>&#x003A6;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>&#x003D5;</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo>,</mml:mo></mml:math></disp-formula>
<p>and a probability matrix <bold>P</bold> given as</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M86"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>P</mml:mtext></mml:mstyle></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>Q</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>Q</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The point-to-point mapping &#x003A6; is then retrieved by passing <italic>P</italic> to a linear assignment algorithm (Crouse, <xref ref-type="bibr" rid="B11">2016</xref>), which assigns the indices of vertices of one mesh to those of the other, yielding the maximum probability point-wise correspondence. Conversely, given the point-to-point mapping &#x003A6;:<inline-formula><mml:math id="M87"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> &#x021A6; <inline-formula><mml:math id="M88"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, the associated correspondence matrix of dimension <italic>k</italic> &#x0002B; 1 can be computed as</p>
<disp-formula id="E14"><label>(14)</label><mml:math id="M89"><mml:msubsup><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>C</mml:mi></mml:mstyle><mml:mo>&#x003A6;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>&#x003D5;</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mn>1</mml:mn></mml:mstyle></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>k</mml:mi></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mn>1</mml:mn></mml:mstyle><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>A</mml:mi></mml:mstyle><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>&#x003A0;</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msubsup><mml:mi>&#x003D5;</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M90"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mtext>M</mml:mtext></mml:mstyle><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:msub></mml:mrow></mml:math></inline-formula> is the mesh mass matrix encoding the area around each vertex on <inline-formula><mml:math id="M91"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula>, and <inline-formula><mml:math id="M92"><mml:msubsup><mml:mrow><mml:mi>&#x003D5;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula> are matrices which columns correspond to the first <italic>k</italic> Laplace-Beltrami eigenvectors of the mesh <inline-formula><mml:math id="M93"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mo>&#x003BD;</mml:mo></mml:msub></mml:math></inline-formula>. Finally, &#x003A0; is the matrix representation of &#x003A6; given by</p>
<disp-formula id="E15"><label>(15)</label><mml:math id="M94"><mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mo>&#x003A0;</mml:mo><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mn>1</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mo>&#x003A6;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mtext>otherwise</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula>
<p>ZoomOut Upsampling thus proceeds to alternate between solving for &#x003A0; and <bold>C</bold><sub>&#x003A6;</sub>, incrementing the dimension by one each time we solve for <bold>C</bold><sub>&#x003A6;</sub> and repeating until <italic>k</italic> &#x0003D; <italic>k</italic><sub>max</sub>, where <italic>k</italic><sub>max</sub> is the dimension of the reduced spectral basis, chosen such that it provides sufficient resolution for an accurate mapping.</p></sec>
<sec>
<title>3.2.3. Filtering</title>
<p>The occasional assignment errors and discontinuities that may remain after the correspondence procedure can be filtered out using a technique known as product manifold filter (PMF, Vestner et al., <xref ref-type="bibr" rid="B62">2017</xref>). The PMF aims at producing a bijective and continuous correspondence map by using kernel density estimation. Assuming a noisy and potentially sparse set of <italic>I</italic> correspondences {<sub><italic>x</italic><sub><italic>i</italic></sub> &#x02192; <italic>y</italic><sub><italic>i</italic></sub>}<italic>i</italic> &#x0003D; 1, &#x02026;, <italic>I</italic></sub> and a kernel &#x003BA; (i.e., window function), the function <italic>F</italic>:<inline-formula><mml:math id="M95"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> &#x000D7; <inline-formula><mml:math id="M96"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> &#x02192; &#x0211D; defined as</p>
<disp-formula id="E16"><label>(16)</label><mml:math id="M97"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mi>&#x003BA;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>&#x003BA;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>d</italic> is a distance measure (the geodesic distance in our case). The expression (Equation 16) will be maximized when the distance between <italic>y</italic> and <italic>y</italic><sub><italic>i</italic></sub> is similar to that between <italic>x</italic> and <italic>x</italic><sub><italic>i</italic></sub> for each <italic>i</italic> &#x0003D; 1, &#x02026;, <italic>I</italic>.</p>
<p>A clean mapping &#x003A6;:<italic>x</italic> &#x02192; <italic>y</italic> can thus be retrieved when <italic>y</italic> maximizes (Equation 16), which can be expressed in matrix form as <inline-formula><mml:math id="M98"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup></mml:math></inline-formula>, where <inline-formula><mml:math id="M99"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>K</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo class="qopname">exp</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>G</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BD;</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>/</mml:mo><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> and &#x003C3; &#x0003D; 0.3&#x003BC;(<bold>G</bold>) as recommended in Vestner et al. (<xref ref-type="bibr" rid="B62">2017</xref>) (see Equation 7). The matrix <bold>F</bold> is once again passed to a linear assignment algorithm to yield a mapping of vertex indices from one mesh to the other, as done for the probability matrix <bold>P</bold> in Section 3.2.2, to obtain an updated correspondence.</p>
<p>Ultimately, for a pair of meshes fed into the correspondence pipeline, &#x003BC;Match returns a correspondence in the form of two matrices, <bold>N</bold><sub>1</sub> and <bold>N</bold><sub>2</sub>, where <bold>N</bold><sub>1</sub> are the indices of vertices on the first mesh and <bold>N</bold><sub>2</sub> on the second, such that [<sub><bold>N</bold><sub>1</sub>]<italic>n</italic></sub> &#x021A6; [<sub><bold>N</bold><sub>2</sub>]<italic>n</italic></sub> for each <italic>n</italic> &#x02208; <bold>N</bold><sub>1</sub>. These arrays are saved to disk for reuse in the shape analysis module or outside of &#x003BC;Match.</p></sec></sec>
<sec>
<title>3.3. Shape Analysis</title>
<sec>
<title>3.3.1. Alignment and Statistical Shape Analysis</title>
<p>&#x003BC;Match allows putting collections of objects in correspondence in order to computationally retrieve the average shape and morphological variations within the collection relying on Procrustes analysis (Kendall, <xref ref-type="bibr" rid="B26">1989</xref>). All objects in the collections are first centered at the origin and scaled to be of unitary root mean square norm. An arbitrary object in the collection is then selected to act as reference, and correspondence maps between this reference and all other objects in the collection are extracted. The final step is to find the best alignment of each object in the collection onto the reference by rotating it. The optimal rotation angle is retrieved by solving the classical orthogonal Procrustes problem (Gower and Dijksterhuis, <xref ref-type="bibr" rid="B16">2004</xref>). Once all objects have been aligned onto the reference, a new reference is obtained by calculating the mean across the entire collection for each corresponding points. The whole process is then repeated, now aligning every shape in the collection to this new reference, and a new updated mean is computed until convergence. The final result is taken as mean shape for the collection.</p>
<p>Relying on the mean of the collection and each object aligned to it, deviations from the mean can be extracted as follows. For each point on the mean shape, &#x003BC;Match calculates the standard deviation of corresponding points across the entire collection. This results in a scalar function on the reference shape indicating where morphological variations occur and to which extent, and can be visualized as a colormap on the mean shape mesh relying on the vedo visualization library (Musy, <xref ref-type="bibr" rid="B43">2021</xref>). In &#x003BC;Match, the script implementing this procedure takes as input a directory containing a collection of meshes together with a path to their pre-computed correspondences. The correspondences need only be calculated between the reference shape and each of the other shapes in the collection.</p></sec>
<sec>
<title>3.3.2. Morphing</title>
<p>Once correspondence between two shapes is established, a continuous morphing between them can be extracted by first aligning the two shapes via translation and rotation (similar to the procedure described in Section 3.3.1, but without scaling), then calculating the geodesic path connecting the two meshes, and sampling shapes along that path. A geodesic being defined as the shortest path connecting any two points in a space, its computation solely requires a notion of distance between points in that space. In <xref ref-type="fig" rid="F1">Figure 1</xref>, we illustrated a geodesic path on a mesh <inline-formula><mml:math id="M100"><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:math></inline-formula>, where samples along the path correspond to positions on the mesh. In the case of morphing, the space of interest is instead that of surfaces represented by meshes of fixed connectivity meeting the conditions introduced in Section 3.1: points in the space correspond to the vertex positions and the distance is determined by their connectivity. Samples along the resulting path therefore correspond to meshes. Continuous morphing, going beyond shape analysis of collections of equivalent samples, is of particular interest for image-based modeling, for instance in the context of developmental studies. In <xref ref-type="fig" rid="F6">Figure 6A</xref>, we illustrate as an example the surfaces of a developing mouse limb bud synthetically generated by interpolating between a young and an old limb bud sample. While the older limb bud sample has features (<italic>e.g</italic>., distributions of surface curvature) for which there is no simple mapping onto the youngest limb bud, the collection of extracted signature functions (<xref ref-type="fig" rid="F6">Figures 6B,C</xref>) manages to capture the local arrangement of these geometrical details with respect to the overall bud shape and allows mapping them to the younger, smoother limb bud in a qualitatively sensible way. As a result, the morphing obtained based on this correspondence produce a visually realistic evolution from one shape onto the other.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Morphing between two objects in correspondence. <bold>(A)</bold> Computationally retrieved &#x0201C;growth&#x0201D; of a mouse forelimb obtained by interpolating between two matched meshes of mouse limb buds at early (E10 - E10.5) and late (E11 - E11.5) developmental stages. Meshes in green correspond to samples from the MOUSE_LIMB dataset, while meshes in blue have been synthetically generated through by interpolating along the geodesic path connecting the green meshes. Examples of the set of <bold>(B)</bold> HKS and <bold>(C)</bold> WKS used to extract the correspondence. Mesh data from Mart&#x000ED;nez-Abad&#x000ED;as et al. (<xref ref-type="bibr" rid="B39">2018</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0006.tif"/>
</fig>
<p>Technically, the continuous morphing is obtained following the algorithm proposed in Kilian et al. (<xref ref-type="bibr" rid="B27">2007</xref>). Consider a mesh <inline-formula><mml:math id="M101"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> with vertices <italic>v</italic>, edges <italic>E</italic>, and a vector field <bold>X</bold> describing the deformation of <inline-formula><mml:math id="M102"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> onto some other mesh <inline-formula><mml:math id="M103"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>. The vector field <bold>X</bold> is given by difference vectors between the two meshes and thus assumes that a correspondence between <inline-formula><mml:math id="M104"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M105"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> has been calculated. Then, the norm &#x003F5;, defined as</p>
<disp-formula id="E17"><label>(17)</label><mml:math id="M106"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>&#x003F5;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>X</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>E</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo>&#x02329;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>X</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>X</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>measures the deformation between the two meshes. In order to generate a sequence of meshes morphing the meshes onto one another, the quantity (Equation 17) is minimized through a multi-scale continuous optimisation procedure, starting with low mesh resolution and few intermediate steps and sequentially increasing both. The final geodesic path consists of a set of intermediate meshes that reflects the continuous deformation of one surface onto the other.</p></sec></sec></sec>
<sec id="s4">
<title>4. Experiments</title>
<sec>
<title>4.1. Quantitative Validation</title>
<p>In order to quantitatively validate &#x003BC;Match, we use a teeth scan dataset originally introduced by Boyer et al. (<xref ref-type="bibr" rid="B8">2011</xref>) and available at <ext-link ext-link-type="uri" xlink:href="http://www.wisdom.weizmann.ac.il/&#x0007E;ylipman/CPsurfcomp/">www.wisdom.weizmann.ac.il/&#x0007E;ylipman/CPsurfcomp/</ext-link> and commonly exploited to assess 3D morphometry algorithms. The dataset includes 45 meshes corresponding to mandibular second molars of a variety of prosimian primates and their close non-primate evolutionary relatives, summarized in <bold>Table 2</bold>. Each specimen is annotated with a set of 16 manually-determined landmarks placed by expert morphometricians that can be used as ground-truth to assess the quality of an automatically-retrieved correspondence. Although this dataset is composed of objects toward the macroscale of the spectrum, it is one of the rare available resources of biological objects for which a ground truth sparse correspondence is available and is as such an excellent candidate for benchmarking. Performance assessment is then carried out following the Princeton benchmark protocol (Shilane et al., <xref ref-type="bibr" rid="B55">2004</xref>; Kim et al., <xref ref-type="bibr" rid="B28">2011</xref>) by computing the mean geodesic error (GE) expressed as</p>
<disp-formula id="E18"><label>(18)</label><mml:math id="M107"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mtext>GE</mml:mtext><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>16</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>G</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>&#x003A6;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M108"><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>16</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M109"><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>16</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> are the ground-truth landmarks on <inline-formula><mml:math id="M110"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M111"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, respectively, &#x003A6; is the point-to-point mapping, and <inline-formula><mml:math id="M112"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M113"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the geodesic matrix and the surface area of the mesh <inline-formula><mml:math id="M114"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, respectively. The GE therefore measures how well the main features of the objects have been mapped, regardless of the amount of deformation there may be elsewhere on the surface.</p>
<p>Several processing steps of the &#x003BC;Match correspondence module (<xref ref-type="fig" rid="F4">Figure 4</xref>), namely the deep functional maps and product manifold filter, aim at improving the final correspondence but are not strictly necessary. While we do recommend including them whenever possible, these steps do increase computation time and the extent of the improvement they will bring cannot be predicted in general for any arbitrary dataset. To provide users with an example of the cost and gains involved, we have quantified the quality of the retrieved correspondence in different settings, by enabling and disabling the deep functional maps and product manifold filter in the &#x003BC;Match pipeline. In <xref ref-type="table" rid="T1">Table 1</xref>, we report the average GE between ground-truth landmarks and correspondence points obtained automatically with &#x003BC;Match for the whole dataset. We also indicate the average runtime to establish correspondence in any given pair. A breakdown of the average GE by species and the cumulative error curves are provided in <xref ref-type="fig" rid="F7">Figure 7A</xref> and <xref ref-type="table" rid="T2">Table 2</xref>, respectively. We observe the respective merits of the deep functional maps and product manifold filter to be as follows. The deep functional maps improve the signature functions but do not impose smoothness in the final correspondence, resulting in large GE variance. While the correspondence runtime is not affected by deep functional maps since the network is trained during preprocessing, a significant extra amount of compute (&#x0007E;3 h for this dataset) is required ahead of the matching itself, impacting the total duration of the pipeline. In contrast, the product manifold filter ensures that the final correspondence is smooth and does not feature major tears or discontinuities, resulting in small GE variance. It is limited by the correspondence quality that can be obtained from the original signature functions alone and doubles the runtime per pair, but as a trade-off requires no prior computation or training. The combination of the two yields the best results, as it allows obtaining a smooth correspondence from improved signature functions. The cost is however a high runtime per pair for the correspondence itself, and the necessity to go through an expensive training stage during preprocessing.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Summary of results on the TEETH dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th/>
<th valign="top" align="center"><bold>No DFM, no PMF</bold></th>
<th valign="top" align="center"><bold>DFM, no PMF</bold></th>
<th valign="top" align="center"><bold>No DFM, PMF</bold></th>
<th valign="top" align="center"><bold>DFM, PMF</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Average GE</td>
<td valign="top" align="center">10.7&#x000B1; 14.8</td>
<td valign="top" align="center">9.3 &#x000B1; 12.8</td>
<td valign="top" align="center">6.5 &#x000B1; 9.5</td>
<td valign="top" align="center"><bold>4.8 &#x000B1; 3.8</bold></td>
</tr>
<tr>
<td valign="top" align="left">Average runtime (seconds)</td>
<td valign="top" align="center"><bold>5</bold></td>
<td valign="top" align="center"><bold>5</bold></td>
<td valign="top" align="center">11</td>
<td valign="top" align="center">11</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>The average and standard deviation of the mean geodesic error (GE, Equation 18) between ground truth landmarks and predicted correspondence obtained with &#x003BC;Match is reported for different setting including or not the deep functional maps (DFM) and product manifold filter (PMF) steps, along with the average runtime per pair (the complete dataset is composed of 990 unique pairs). The GE is reported in units of normalized geodesic length, with lower values indicating better results. The complete &#x003BC;Match pipeline corresponds to the last column (DMF, PMF). Best results for each metrics are highlighted in bold</italic>.</p>
</table-wrap-foot>
</table-wrap>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Validation of &#x003BC;Match. <bold>(A)</bold> Cumulative geodesic error curve, reporting the proportion of predicted correspondence with an error (Equation 18) smaller than a variable threshold, for different setting including or not the deep functional maps (DFM) and product manifold filter (PMF) steps. The complete &#x003BC;Match pipeline corresponds to the solid black curve (DMF, PMF). <bold>(B)</bold> Matrix of average geodesic distance (Equation 19) between species based on the correspondences obtained with the full &#x003BC;Match pipeline.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0007.tif"/>
</fig>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Per-specie breakdown of results on the TEETH dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th valign="top" align="left"><bold>Species</bold></th>
<th valign="top" align="center"><bold>Human</bold></th>
<th valign="top" align="center"><bold>Bonobo</bold></th>
<th valign="top" align="center"><bold>Chimpanzee</bold></th>
<th valign="top" align="center"><bold>Orangutan</bold></th>
<th valign="top" align="center"><bold>Gorilla</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">&#x00023; samples</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">9</td>
</tr>
<tr>
<td valign="top" align="left">GE (No DFM, no PMF)</td>
<td valign="top" align="center">7.4 &#x000B1; 12.1</td>
<td valign="top" align="center">5.8 &#x000B1; 8.3</td>
<td valign="top" align="center">8.3 &#x000B1; 12.8</td>
<td valign="top" align="center">17.0 &#x000B1; 21.1</td>
<td valign="top" align="center">7.0 &#x000B1; 9.5</td>
</tr>
<tr>
<td valign="top" align="left">GE (DFM, no PMF)</td>
<td valign="top" align="center">7.2 &#x000B1; 11.9</td>
<td valign="top" align="center">5.8 &#x000B1; 8.3</td>
<td valign="top" align="center">8.2 &#x000B1; 12.7</td>
<td valign="top" align="center">12.0 &#x000B1; 15.7</td>
<td valign="top" align="center">6.9 &#x000B1; 9.3</td>
</tr>
<tr>
<td valign="top" align="left">GE (No DFM, PMF)</td>
<td valign="top" align="center"><bold>3.2 &#x000B1; 2.1</bold></td>
<td valign="top" align="center">3.3 &#x000B1; 2.1</td>
<td valign="top" align="center"><bold>3.7 &#x000B1; 2.6</bold></td>
<td valign="top" align="center">11.9 &#x000B1; 17.6</td>
<td valign="top" align="center">4.6 &#x000B1; 2.9</td>
</tr>
<tr>
<td valign="top" align="left">GE (DFM, PMF)</td>
<td valign="top" align="center"><bold>3.2 &#x000B1; 2.1</bold></td>
<td valign="top" align="center"><bold>3.2 &#x000B1; 1.9</bold></td>
<td valign="top" align="center"><bold>3.7 &#x000B1; 2.5</bold></td>
<td valign="top" align="center"><bold>5.0 &#x000B1; 3.6</bold></td>
<td valign="top" align="center"><bold>4.3 &#x000B1; 2.8</bold></td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>For each class, 0.5 &#x000D7; n &#x000D7; (n&#x02212;1) unique pairs can be put in correspondence, where n is the number of samples. The average and standard deviation of the mean geodesic error (GE, Equation 18) between ground truth landmarks and predicted correspondence obtained with &#x003BC;Match is reported for different setting including or not the deep functional maps (DFM) and product manifold filter (PMF) steps. The GE is reported in units of normalized geodesic length, with lower values indicating better results. The complete &#x003BC;Match pipeline corresponds to the last row (DMF, PMF). Best results for each specie are highlighted in bold</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>Once correspondence has been established between all meshes in the collection, we carry out a further sanity check by reporting the geodesic distance, or deformation, given by</p>
<disp-formula id="E19"><label>(19)</label><mml:math id="M115"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>&#x003B4;</mml:mi><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>G</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle="true"><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>G</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>G</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x003A6;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x003A6;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mstyle><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>E</italic> is the set of edges of the meshes <inline-formula><mml:math id="M116"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M117"><mml:msub><mml:mi mathvariant="-tex-caligraphic">M</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, and observing how it compares between the different species present in the dataset. We hypothesize that samples from different species will exhibit more shape deviations than individuals from the same species, and investigate whether this can be observed in the geodesic distances retrieved after correspondence established by &#x003BC;Match. The quantity (Equation 19) is calculated between all pairs in the collection, producing a <italic>n</italic> &#x000D7; <italic>n</italic> matrix &#x003B4;<bold>G</bold>, with <italic>n</italic> the number of meshes in the collection. Each sub-blocks of the matrix corresponding to the different species can be averaged to produce a reduced distance matrix, depicted in <xref ref-type="fig" rid="F7">Figure 7B</xref> for the full &#x003BC;Match pipeline (with deep functional maps and product manifold filter). The geodesic distances between species match what would be expected from their phylogeny: molar surfaces of chimpanzees and bonobos are highly similar, and also closely resemble human teeth, while gorilla and orangutan molars are observed to be morphologically more dissimilar. In addition to their differences with other species, samples from the orangutan class appear to be extremely diverse, resulting in a large intra-class distance. This experiment provides a sanity check assessing the validity of the algorithms implemented in the &#x003BC;Match pipeline. We orient the reader interested in a comparative assessment of the relative performance of the selected correspondence algorithms against published alternatives to the original works introducing functional mapping (Ovsjanikov et al., <xref ref-type="bibr" rid="B44">2012</xref>, <xref ref-type="bibr" rid="B45">2016</xref>).</p></sec>
<sec>
<title>4.2. Case Study: Joint Shape Analysis of Embryonic Limbs and <italic>Dusp6</italic> Gene Expression Patterns</title>
<p>In our previous study (Mart&#x000ED;nez-Abad&#x000ED;as et al., <xref ref-type="bibr" rid="B39">2018</xref>), we performed geometric morphogenesis on a mouse model of Apert syndrome, in which the <italic>Fgfr2</italic> gene contains a mutation which models the human syndrome. The goal was to explore whether shape analysis of a gene expression pattern could suggest the molecular basis of the phenotype. In addition to analyzing the developing anatomical changes in the limb, we also analyzed the 3D expression pattern of <italic>Dusp6</italic>, a gene whose expression reflects the activity of FGF signaling. This allowed subtle alterations in the gene expression pattern to be detected before the anatomical phenotype was apparent, thus strengthening the idea that altered FGF signaling is directly responsible for the phenotype. That previous analysis however depended on manual annotation of 3D landmarks on the data, a process which was very labor-intensive and taking many weeks to achieve. Here, we demonstrate that &#x003BC;Match can be used to automate this process, jointly quantify the evolution of the shape of embryonic limb and gene expression pattern over developmental time without human bias and achieving similar results in a fraction of the time. We have chosen to reproduce the results of this study to illustrate the use of &#x003BC;Match on real biological data containing objects that differ in size, orientation, and shape, and exhibit a mixture of inter-group and intra-group variations of morphology.</p>
<p>The dataset we refer to as MOUSE_LIMB, publicly available at <ext-link ext-link-type="uri" xlink:href="http://dx.doi.org/10.5061/dryad.8h646s0">dx.doi.org/10.5061/dryad.8h646s0</ext-link>, contains meshes extracted from real optical projection tomography scans (Sharpe et al., <xref ref-type="bibr" rid="B54">2002</xref>) of the limbs and of the <italic>Dusp6</italic> gene expression domains of Apert syndrome (<italic>Fgfr2</italic> mutants) mouse embryos and unaffected littermates ranging from E10 to E11.5, where EN stands for N days after conception. Extracting these meshes requires the raw image data to be first segmented, a step that can be carried out by different methods. We refer readers interested in the details of the segmentation process to the original study (Mart&#x000ED;nez-Abad&#x000ED;as et al., <xref ref-type="bibr" rid="B39">2018</xref>). The meshes are grouped into forelimbs and hind limbs of early (&#x0007E;E10), mid (&#x0007E;E10.5 to &#x0007E;E11) and late (&#x0007E;E11.5) developmental periods, according to <xref ref-type="table" rid="T3">Table 3</xref>. To process these data, we set the number of vertices <italic>N</italic> to be 2000, and use default &#x003BC;Match values, namely a functional space dimension of <italic>k</italic> &#x0003D; 100, and 100 computed heat kernel and wave kernel signatures.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Summary of the MOUSE_LIMB dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th style="border-right: thin solid #000000;"/>
<th valign="top" align="center" colspan="2" style="border-right: thin solid #000000;"><bold>Early (</bold>&#x0007E;<bold>E10)</bold></th>
<th valign="top" align="center" colspan="2" style="border-right: thin solid #000000;"><bold>Mid (</bold>&#x0007E;<bold>E10.5 to</bold> &#x0007E;<bold>E11)</bold></th>
<th valign="top" align="center" colspan="2"><bold>Late (</bold>&#x0007E;<bold>E11.5)</bold></th>
</tr>
<tr>
<th style="border-right: thin solid #000000;"/>
<th valign="top" align="center"><bold>Limb</bold></th>
<th valign="top" align="center" style="border-right: thin solid #000000;"><bold><italic>Dusp6</italic></bold></th>
<th valign="top" align="center"><bold>Limb</bold></th>
<th valign="top" align="center" style="border-right: thin solid #000000;"><bold><italic>Dusp6</italic></bold></th>
<th valign="top" align="center"><bold>Limb</bold></th>
<th valign="top" align="center"><bold><italic>Dusp6</italic></bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left" style="border-right: thin solid #000000;">Unaffected</td>
<td valign="top" align="center">12/11</td>
<td valign="top" align="center" style="border-right: thin solid #000000;">9/5</td>
<td valign="top" align="center">7/6</td>
<td valign="top" align="center" style="border-right: thin solid #000000;">6/2</td>
<td valign="top" align="center">2/3</td>
<td valign="top" align="center">1/1</td>
</tr>
<tr>
<td valign="top" align="left" style="border-right: thin solid #000000;"><italic>Fgfr2</italic> mutant</td>
<td valign="top" align="center">3/11</td>
<td valign="top" align="center" style="border-right: thin solid #000000;">6/7</td>
<td valign="top" align="center">8/8</td>
<td valign="top" align="center" style="border-right: thin solid #000000;">3/3</td>
<td valign="top" align="center">7/5</td>
<td valign="top" align="center">2/5</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>For each condition, the number of available fore and hind samples of limb surface and Dusp6 gene expression are indicated. Gene expression patterns are not available for all limb samples, hence the smaller sample sizes</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>For each age and genetic background group, a template shape is chosen at random and used to initiate correspondences with the remaining samples. From the mesh correspondences obtained with &#x003BC;Match, a Procrustes alignment of the limbs surfaces is obtained following the procedure described in Section 3.3.1, yielding an average limb with an associated measure of variance at each vertex. Once limb surfaces are matched, the correspondence can be further used to map internal processes between them, allowing in particular to compare <italic>Dusp6</italic> gene expression data available for some of the limbs. The parameters obtained from the limb alignment can then be used to do a rigid registration of the gene expression patterns. This is then further refined by iterative closest point alignment (Besl and McKay, <xref ref-type="bibr" rid="B4">1992</xref>; Chen and Medioni, <xref ref-type="bibr" rid="B10">1992</xref>) and thin plate spline (TPS) deformation to finely warp the objects onto one another (Duchon, <xref ref-type="bibr" rid="B14">1977</xref>). To implement the TPS deformation, the surfaces are first sub-sampled to obtain <italic>M</italic> control points <inline-formula><mml:math id="M118"><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and the warping is obtained as</p>
<disp-formula id="E20"><label>(20)</label><mml:math id="M119"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>&#x003B4;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mi>&#x003C8;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003C8;(<italic>r</italic>) &#x0003D; <italic>r</italic><sup>2</sup>log(<italic>r</italic>) is the thin plate spline kernel. The coefficients <inline-formula><mml:math id="M120"><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> are found by solving for <bold>A&#x003C9;</bold> &#x0003D; <bold>v</bold>, where [<bold>A</bold>]<sub><italic>ij</italic></sub> &#x0003D; &#x003C8;(||<italic>c</italic><sub><italic>i</italic></sub>&#x02212;<italic>c</italic><sub><italic>j</italic></sub>||)&#x02200;<italic>i, j</italic> &#x0003D; 1, &#x02026;, <italic>M</italic> and [<bold>v</bold>]<sub><italic>m</italic></sub> is the difference vector between the source and target surface at the control points <italic>m</italic> &#x0003D; 1, &#x02026;, <italic>M</italic>. Once the objects have been warped onto one another in this manner, a simple nearest neighbors search is used to obtain a correspondence and the shape analysis procedure described in Section 3.3.1 can be carried out again for the gene expression data. The resulting average limbs and gene expression patterns, color-coded according to local variance, are shown in <xref ref-type="fig" rid="F8">Figure 8</xref>. Following Mart&#x000ED;nez-Abad&#x000ED;as et al. (<xref ref-type="bibr" rid="B39">2018</xref>), we display results for hind limbs of the early and mid-early stages, and fore limbs of the mid-late and late stages.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Average limb and <italic>Dusp6</italic> gene expression across the MOUSE_LIMB dataset. The averaged surfaces are color-coded according to the local variance (see colorbars). The geodesic distance between the average shape of the unaffected specimen and <italic>Fgfr2</italic> mutant is also reported for the limb and <italic>Dusp6</italic> gene expression pattern.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0008.tif"/>
</fig>
<p>In Mart&#x000ED;nez-Abad&#x000ED;as et al. (<xref ref-type="bibr" rid="B39">2018</xref>), the limb buds of <italic>Fgfr2</italic> mutants from the late period (&#x0007E;E11.5) were observed to separate from those of unaffected littermates. During the mid-early (&#x0007E;E10.5) and early (&#x0007E;E10) periods, the limbs of <italic>Fgfr2</italic> mutant mice were however undistinguishable from those of unaffected specimen. Significant difference in <italic>Dusp6</italic> gene expression pattern was observed between <italic>Fgfr2</italic> mutant animals and their unaffected littermates for all groups except for the early time period. We recover the same results using &#x003BC;Match, as illustrated in <xref ref-type="fig" rid="F9">Figure 9</xref>, demonstrating the validity of the automatically retrieved correspondence. The difference in shapes was originally quantified by Procrustes analysis relying on sparse set of semi-landmarks along the most distal edge and on the dorsal and ventral sides of the limb (Mart&#x000ED;nez-Abad&#x000ED;as et al., <xref ref-type="bibr" rid="B39">2018</xref>). In contrast, our approach solves for a dense correspondence, taking into account the entire object&#x00027;s surface. The major advantage of &#x003BC;Micro is that it is entirely landmark-free and fully automated. Once limb surfaces are put in correspondence, their geodesic distance can be used to further quantify the extent of their morphological difference, and the recovered matching used to also align their corresponding gene expression. As such, provided that gene expression patterns have been acquired so as to be appropriately registered inside the limb, comparing the shape of gene expression patterns does neither require artificial landmarking nor a separate correspondence map: they instead get aligned based on their &#x0201C;container.&#x0201D; These results demonstrate that &#x003BC;Match can reliably be used on real bioimage data, which may be noisy, in which samples may exhibit too large variations in their morphology or orientation to rely on volume-based alignment, and which may involve extracted meshes of different numbers of vertices.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Analysis of the MOUSE_LIMB dataset based on geodesic distances of aligned objects. Vertex-wise deviations from the average shape are concatenated for each mesh in the collection, and reduced by principal component analysis. The resulting two largest principal components are plotted for each sample to quantify the morphological difference between the limbs and <italic>Dusp6</italic> gene expression patterns of <italic>Fgfr2</italic> mutants and unaffected littermates. The average limb (in yellow) and <italic>Dusp6</italic> gene expression pattern (in blue) for each group is displayed on top.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-04-777615-g0009.tif"/>
</fig></sec></sec>
<sec id="s5">
<title>5. Discussion and Conclusions</title>
<p>We developed &#x003BC;Match, an automated 3D shape correspondence pipeline tailored to biological objects that are difficult or impossible to landmark. The core element of the pipeline is the correspondence algorithm, which is based on functional mapping. As such, &#x003BC;Match relies entirely on automatically-extracted signature functions that capture the local geometry of the object&#x00027;s surface to retrieve an optimal matching. In addition to the correspondence algoritm itself, &#x003BC;Match includes scripts to facilitate the whole workflow, from data pre-processing (including mesh cleaning and pre-computation of important quantities to speed up the correspondence process) to basic shape analysis (including Procrustes analysis and morphing). Since the input data format required by &#x003BC;Match, namely triangular meshes, is very generic, the pipeline can be used for a broad range of objects. While &#x003BC;Match has no hard limit on the input mesh size, larger meshes will result in more computationally demanding operations and therefore affect execution time. In our experiments, considered meshes were composed of 2,000 to 3,000 vertices (corresponding to 4,000 to 6,000 faces). For much larger meshes, we recommend to establish a first correspondence at a lower resolution (i.e., on decimated meshes) and then extending it to the full sized meshes. As a reference runtime for standard laptops, establishing correspondence between two meshes of 2,000 vertices took approximately 17 s on a laptop with 16Gb of RAM, an Intel Core i7 8th Generation CPU (8 cores), and an Intel Corporation UHD Graphics 620 (rev 07) GPU. &#x003BC;Match, is implemented in Python and is freely available on GitHub under BSD-3 Clause license.</p>
<p>We quantitatively validated &#x003BC;Match relying on the TEETH benchmark dataset (Boyer et al., <xref ref-type="bibr" rid="B8">2011</xref>) for which ground truth correspondence is available. Then, we explored the use of &#x003BC;Match to automate the analysis of a dataset of optical projection tomography scans of mouse limbs (MOUSE_LIMB dataset, Mart&#x000ED;nez-Abad&#x000ED;as et al., <xref ref-type="bibr" rid="B39">2018</xref>) and demonstrated that our pipeline allows retrieving published results. This dataset also includes gene expression patterns which morphologies had originally been studied relying on landmarking. We demonstrated that the limb surface correspondence obtained with &#x003BC;Match can be used to align the corresponding gene expression patterns without the need for any landmarks, and subsequently characterize their morphological differences. Although involving rather small sample sizes, this experiment is a proof-of-principle that the alignments provided by &#x003BC;Match can be used to compare the spatial morphology of processes that are internal to the surfaces being matched. Beyond allowing to reproduce and automate morphometry from data at the mesoscopic scale, we hope that &#x003BC;Match will make it possible to investigate new shape-related questions at the cellular or subcellular scale. Being able to reliably put soft-tissue objects without landmarks in correspondence and use their alignment to register internal processes is a first step toward atlas-free registration, which would be useful in many biological studies involving for instance spatial transcriptomics data.</p>
<p>In addition to enabling the quantitative study of collection of equivalent 3D shapes, dense correspondence maps also allow for continuous morphing between meshes. An exciting future direction of this work is therefore to explore how &#x003BC;Match can be used to build spatiotemporal models of deforming objects. In a biological context, for instance during development or morphogenesis, complexity will almost always significantly increase over time, resulting in possibly challenging correspondence problems between younger, morphologically simpler surfaces and older ones exhibiting more complex shapes. Because correspondence is an essential first step toward mining 3D surface data extracted from bioimages, we hope that &#x003BC;Match will help enable new avenues in computational morphometry and modeling for biology and lower the entry cost for life scientists intending to rely on statistical shape analysis to explore their data.</p></sec>
<sec sec-type="data-availability" id="s6">
<title>Data Availability Statement</title>
<p>Publicly available datasets were analyzed in this study. This data can be found here: <ext-link ext-link-type="uri" xlink:href="http://www.wisdom.weizmann.ac.il/&#x0007E;ylipman/CPsurfcomp/">www.wisdom.weizmann.ac.il/&#x0007E;ylipman/CPsurfcomp/</ext-link>; <ext-link ext-link-type="uri" xlink:href="http://dx.doi.org/10.5061/dryad.8h646s0">dx.doi.org/10.5061/dryad.8h646s0</ext-link>.</p></sec>
<sec id="s7">
<title>Author Contributions</title>
<p>JK and VU contributed to the conception and design of the work, implemented the methods, carried out the experiments, and wrote the first draft of the manuscript. GD, NM-A, and JS prepared the mouse embryo limb dataset and contributed to the experiments. All authors contributed to final manuscript editing, read, and approved the submitted version.</p></sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>JK, JS, and VU are supported by EMBL internal funding. NM-A was supported by the European Union Seventh Framework Program (FP7/2007-2013) under grant agreement Marie Curie Fellowship FP7-PEOPLE-2012-IIF 327382 and by the Grup de Recerca Consolidat en Antropologia Biol&#x000F2;gica (2017 SGR 1630). GD was supported by the ERC Advanced Grant SIMBIONT (670555) and the Spanish Plan Estatal project: LIMBNET-3D PID2019-110868GB-I00.</p></sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p></sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x00027;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p></sec>
</body>
<back>
<ack><p>JK and VU acknowledge the NVIDIA Corporation for the donation of a Titan V GPU that made this research possible.</p>
</ack>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Attene</surname> <given-names>M</given-names></name></person-group>. (<year>2010</year>). <article-title>A lightweight approach to repairing digitized polygon meshes</article-title>. <source>Vis. Comput</source>. <volume>26</volume>, <fpage>1393</fpage>&#x02013;<lpage>1406</lpage>. <pub-id pub-id-type="doi">10.1007/s00371-010-0416-3</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Aubry</surname> <given-names>M.</given-names></name> <name><surname>Schlickewei</surname> <given-names>U.</given-names></name> <name><surname>Cremers</surname> <given-names>D.</given-names></name></person-group> (<year>2011</year>). <article-title>The wave kernel signature: a quantum mechanical approach to shape analysis,</article-title> in <source>IEEE International Conference on Computer Vision Workshops</source> (<publisher-loc>Barcelona</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1626</fpage>&#x02013;<lpage>1633</lpage>.</citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Belay</surname> <given-names>B.</given-names></name> <name><surname>Koivisto</surname> <given-names>J.</given-names></name> <name><surname>Parraga</surname> <given-names>J.</given-names></name> <name><surname>Koskela</surname> <given-names>O.</given-names></name> <name><surname>Montonen</surname> <given-names>T.</given-names></name> <name><surname>Kellom&#x000E4;ki</surname> <given-names>M.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>Optical projection tomography as a quantitative tool for analysis of cell morphology and density in 3d hydrogels</article-title>. <source>Sci. Rep</source>. <volume>11</volume>, <fpage>1</fpage>&#x02013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-021-85996-8</pub-id><pub-id pub-id-type="pmid">33753803</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Besl</surname> <given-names>P.</given-names></name> <name><surname>McKay</surname> <given-names>N.</given-names></name></person-group> (<year>1992</year>). <article-title>A method for registration of 3-d shapes</article-title>. <source>IEEE Trans. Pattern Anal. Mach. Intell</source>. <volume>14</volume>, <fpage>239</fpage>&#x02013;<lpage>256</lpage>. <pub-id pub-id-type="doi">10.1109/34.121791</pub-id><pub-id pub-id-type="pmid">27295638</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Boehm</surname> <given-names>B.</given-names></name> <name><surname>Rautschka</surname> <given-names>M.</given-names></name> <name><surname>Quintana</surname> <given-names>L.</given-names></name> <name><surname>Raspopovic</surname> <given-names>J.</given-names></name> <name><surname>Jan</surname> <given-names>,&#x002C7; Z.</given-names></name> <name><surname>Sharpe</surname> <given-names>J.</given-names></name></person-group> (<year>2011</year>). <article-title>A landmark-free morphometric staging system for the mouse limb bud</article-title>. <source>Development</source> <volume>138</volume>, <fpage>1227</fpage>&#x02013;<lpage>1234</lpage>. <pub-id pub-id-type="doi">10.1242/dev.057547</pub-id><pub-id pub-id-type="pmid">21307091</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>B&#x000F4;ne</surname> <given-names>A.</given-names></name> <name><surname>Louis</surname> <given-names>M.</given-names></name> <name><surname>Martin</surname> <given-names>B.</given-names></name> <name><surname>Durrleman</surname> <given-names>S.</given-names></name></person-group> (<year>2018</year>). <article-title>Deformetrica 4: an open-source software for statistical shape analysis,</article-title> in <source>International Workshop on Shape in Medical Imaging</source> (<publisher-loc>Granada</publisher-loc>), <fpage>3</fpage>&#x02013;<lpage>13</lpage>.</citation></ref>
<ref id="B7">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Bookstein</surname> <given-names>F. L</given-names></name></person-group>. (<year>1997</year>). <source>Morphometric Tools for Landmark Data: Geometry and Biology</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Boyer</surname> <given-names>D.</given-names></name> <name><surname>Lipman</surname> <given-names>Y.</given-names></name> <name><surname>Clair</surname> <given-names>E.</given-names></name> <name><surname>Puente</surname> <given-names>J.</given-names></name> <name><surname>Patel</surname> <given-names>B.</given-names></name> <name><surname>Funkhouser</surname> <given-names>T.</given-names></name> <etal/></person-group>. (<year>2011</year>). <article-title>Algorithms to automatically quantify the geometric similarity of anatomical surfaces</article-title>. <source>Proc. Natl. Acad. Sci. U.S.A</source>. <volume>108</volume>, <fpage>18221</fpage>&#x02013;<lpage>18226</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.1112822108</pub-id><pub-id pub-id-type="pmid">22025685</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Brodoehl</surname> <given-names>S.</given-names></name> <name><surname>Gaser</surname> <given-names>C.</given-names></name> <name><surname>Dahnke</surname> <given-names>R.</given-names></name> <name><surname>Witte</surname> <given-names>O.</given-names></name> <name><surname>Klingner</surname> <given-names>C.</given-names></name></person-group> (<year>2020</year>). <article-title>Surface-based analysis increases the specificity of cortical activation patterns and connectivity results</article-title>. <source>Sci. Rep</source>. <volume>10</volume>, <fpage>1</fpage>&#x02013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-020-62832-z</pub-id><pub-id pub-id-type="pmid">32235885</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>Y.</given-names></name> <name><surname>Medioni</surname> <given-names>G.</given-names></name></person-group> (<year>1992</year>). <article-title>Object modelling by registration of multiple range images</article-title>. <source>Image Vis. Comput</source>. <volume>10</volume>, <fpage>145</fpage>&#x02013;<lpage>155</lpage>. <pub-id pub-id-type="doi">10.1016/0262-8856(92)90066-C</pub-id></citation></ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Crouse</surname> <given-names>D</given-names></name></person-group>. (<year>2016</year>). <article-title>On implementing 2d rectangular assignment algorithms</article-title>. <source>IEEE Trans. Aerosp Electron. Syst</source>. <volume>52</volume>, <fpage>1679</fpage>&#x02013;<lpage>1696</lpage>. <pub-id pub-id-type="doi">10.1109/TAES.2016.140952</pub-id><pub-id pub-id-type="pmid">27295638</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Driscoll</surname> <given-names>M.</given-names></name> <name><surname>Welf</surname> <given-names>E.</given-names></name> <name><surname>Jamieson</surname> <given-names>A.</given-names></name> <name><surname>Dean</surname> <given-names>K.</given-names></name> <name><surname>Isogai</surname> <given-names>T.</given-names></name> <name><surname>Fiolka</surname> <given-names>R.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Robust and automated detection of subcellular morphological motifs in 3d microscopy images</article-title>. <source>Nat. Methods</source> <volume>16</volume>, <fpage>1037</fpage>&#x02013;<lpage>1044</lpage>. <pub-id pub-id-type="doi">10.1038/s41592-019-0539-z</pub-id><pub-id pub-id-type="pmid">31501548</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dryden</surname> <given-names>I.</given-names></name> <name><surname>Mardia</surname> <given-names>K.</given-names></name></person-group> (<year>2016</year>). <source>Statistical Shape Analysis: With Applications in R, Vol. 995</source>. <publisher-loc>Hoboken, NJ</publisher-loc>: <publisher-name>John Wiley &#x00026; Sons</publisher-name>.</citation></ref>
<ref id="B14">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Duchon</surname> <given-names>J</given-names></name></person-group>. (<year>1977</year>). <article-title>Splines minimizing rotation-invariant semi-norms in sobolev spaces,</article-title> in <source>Constructive Theory of Functions of Several Variables</source> (<publisher-loc>Oberwolfach</publisher-loc>), <fpage>85</fpage>&#x02013;<lpage>100</lpage>.</citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Finka</surname> <given-names>L.</given-names></name> <name><surname>Luna</surname> <given-names>S.</given-names></name> <name><surname>Brondani</surname> <given-names>J.</given-names></name> <name><surname>Tzimiropoulos</surname> <given-names>Y.</given-names></name> <name><surname>McDonagh</surname> <given-names>J.</given-names></name> <name><surname>Farnworth</surname> <given-names>M.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Geometric morphometrics for the study of facial expressions in non-human animals, using the domestic cat as an exemplar</article-title>. <source>Sci. Rep</source>. <volume>9</volume>, <fpage>1</fpage>&#x02013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-019-46330-5</pub-id><pub-id pub-id-type="pmid">31285531</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gower</surname> <given-names>J.</given-names></name> <name><surname>Dijksterhuis</surname> <given-names>G.</given-names></name></person-group> (<year>2004</year>). <source>Procrustes Problems, Vol. 30</source>. <publisher-loc>Oxford</publisher-loc>: <publisher-name>Oxford University Press</publisher-name>.</citation></ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Grocott</surname> <given-names>T.</given-names></name> <name><surname>Thomas</surname> <given-names>P.</given-names></name> <name><surname>M&#x000FC;nsterberg</surname> <given-names>A.</given-names></name></person-group> (<year>2016</year>). <article-title>Atlas toolkit: fast registration of 3d morphological datasets in the absence of landmarks</article-title>. <source>Sci. Rep</source>. <volume>6</volume>, <fpage>1</fpage>&#x02013;<lpage>7</lpage>. <pub-id pub-id-type="doi">10.1038/srep20732</pub-id><pub-id pub-id-type="pmid">26864723</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hahn</surname> <given-names>M.</given-names></name> <name><surname>Nord</surname> <given-names>C.</given-names></name> <name><surname>Franklin</surname> <given-names>O.</given-names></name> <name><surname>Alanentalo</surname> <given-names>T.</given-names></name> <name><surname>Mett&#x000E4;vainio</surname> <given-names>M.</given-names></name> <name><surname>Morini</surname> <given-names>F.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>Mesoscopic 3d imaging of pancreatic cancer and langerhans islets based on tissue autofluorescence</article-title>. <source>Sci. Rep</source>. <volume>10</volume>, <fpage>1</fpage>&#x02013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-020-74616-6</pub-id><pub-id pub-id-type="pmid">33106532</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Halimi</surname> <given-names>O.</given-names></name> <name><surname>Litany</surname> <given-names>O.</given-names></name> <name><surname>Rodola</surname> <given-names>E.</given-names></name> <name><surname>Bronstein</surname> <given-names>A.</given-names></name> <name><surname>Kimmel</surname> <given-names>R.</given-names></name></person-group> (<year>2019</year>). <article-title>Unsupervised learning of dense shape correspondence,</article-title> in <source>IEEE Conference on Computer Vision and Pattern Recognition</source> (<publisher-loc>Long Beach, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>4370</fpage>&#x02013;<lpage>4379</lpage>.<pub-id pub-id-type="pmid">34293535</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Heinrich</surname> <given-names>L.</given-names></name> <name><surname>Bennett</surname> <given-names>D.</given-names></name> <name><surname>Ackerman</surname> <given-names>D.</given-names></name> <name><surname>Park</surname> <given-names>W.</given-names></name> <name><surname>Bogovic</surname> <given-names>J.</given-names></name> <name><surname>Eckstein</surname> <given-names>N.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>Automatic whole cell organelle segmentation in volumetric electron microscopy</article-title>. <source>bioRxiv</source>. <pub-id pub-id-type="doi">10.1101/2020.11.14.382143</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Horstmann</surname> <given-names>M.</given-names></name> <name><surname>Topham</surname> <given-names>A.</given-names></name> <name><surname>Stamm</surname> <given-names>P.</given-names></name> <name><surname>Kruppert</surname> <given-names>S.</given-names></name> <name><surname>Colbourne</surname> <given-names>J.</given-names></name> <name><surname>Tollrian</surname> <given-names>R.</given-names></name> <etal/></person-group>. (<year>2018</year>). <article-title>Scan, extract, wrap, compute a 3d method to analyse morphological shape differences</article-title>. <source>PeerJ</source>. <volume>6</volume>:<fpage>e4861</fpage>. <pub-id pub-id-type="doi">10.7717/peerj.4861</pub-id><pub-id pub-id-type="pmid">29900069</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Isensee</surname> <given-names>F.</given-names></name> <name><surname>Jaeger</surname> <given-names>P.</given-names></name> <name><surname>Kohl</surname> <given-names>S.</given-names></name> <name><surname>Petersen</surname> <given-names>J.</given-names></name> <name><surname>Maier-Hein</surname> <given-names>K.</given-names></name></person-group> (<year>2021</year>). <article-title>nnu-net: a self-configuring method for deep learning-based biomedical image segmentation</article-title>. <source>Nat. Methods</source> <volume>18</volume>, <fpage>203</fpage>&#x02013;<lpage>211</lpage>. <pub-id pub-id-type="doi">10.1038/s41592-020-01008-z</pub-id><pub-id pub-id-type="pmid">33288961</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jacobson</surname> <given-names>A.</given-names></name> <name><surname>Panozzo</surname> <given-names>D.</given-names></name></person-group> (<year>2018</year>). <source>Libigl: A Simple C</source>&#x0002B;&#x0002B; <italic>Geometry Processing Library</italic>. Available online at: https://libigl.github.io/.</citation></ref>
<ref id="B24">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kalinin</surname> <given-names>A.</given-names></name> <name><surname>Allyn-Feuer</surname> <given-names>A.</given-names></name> <name><surname>Ade</surname> <given-names>A.</given-names></name> <name><surname>Fon</surname> <given-names>G.-V.</given-names></name> <name><surname>Meixner</surname> <given-names>W.</given-names></name> <name><surname>Dilworth</surname> <given-names>D.</given-names></name> <etal/></person-group>. (<year>2018</year>). <article-title>3d cell nuclear morphology: microscopy imaging dataset and voxel-based morphometry classification results,</article-title> in <source>IEEE Conference on Computer Vision and Pattern Recognition Workshops</source> (<publisher-loc>Salt Lake City, UT</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>2272</fpage>&#x02013;<lpage>2280</lpage>.</citation></ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Karanovic</surname> <given-names>T.</given-names></name> <name><surname>Bl&#x000E1;ha</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>Taming extreme morphological variability through coupling of molecular phylogeny and quantitative phenotype analysis as a new avenue for taxonomy</article-title>. <source>Sci. Rep</source>. <volume>9</volume>, <fpage>1</fpage>&#x02013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-019-38875-2</pub-id><pub-id pub-id-type="pmid">30787369</pub-id></citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kendall</surname> <given-names>D</given-names></name></person-group>. (<year>1989</year>). <article-title>A survey of the statistical theory of shape</article-title>. <source>Stat. Sci</source>. <volume>4</volume>, <fpage>87</fpage>&#x02013;<lpage>99</lpage>. <pub-id pub-id-type="doi">10.1214/ss/1177012582</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kilian</surname> <given-names>M.</given-names></name> <name><surname>Mitra</surname> <given-names>N.</given-names></name> <name><surname>Pottmann</surname> <given-names>H.</given-names></name></person-group> (<year>2007</year>). <article-title>Geometric modeling in shape space,</article-title> in <source>ACM SIGGRAPH 2007</source> (<publisher-loc>San Diego, CA</publisher-loc>), 64-es.</citation></ref>
<ref id="B28">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>V.</given-names></name> <name><surname>Lipman</surname> <given-names>Y.</given-names></name> <name><surname>Funkhouser</surname> <given-names>T.</given-names></name></person-group> (<year>2011</year>). <article-title>Blended intrinsic maps</article-title>. <source>ACM Trans. Graph</source>. <volume>30</volume>, <fpage>1</fpage>&#x02013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1145/2070781.2024224</pub-id><pub-id pub-id-type="pmid">8528473</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klein</surname> <given-names>S.</given-names></name> <name><surname>Staring</surname> <given-names>M.</given-names></name> <name><surname>Murphy</surname> <given-names>K.</given-names></name> <name><surname>Viergever</surname> <given-names>M.</given-names></name> <name><surname>Pluim</surname> <given-names>J.</given-names></name></person-group> (<year>2009</year>). <article-title>Elastix: a toolbox for intensity-based medical image registration</article-title>. <source>IEEE Trans. Med. Imaging</source> <volume>29</volume>, <fpage>196</fpage>&#x02013;<lpage>205</lpage>. <pub-id pub-id-type="doi">10.1109/TMI.2009.2035616</pub-id><pub-id pub-id-type="pmid">19923044</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klingenberg</surname> <given-names>C</given-names></name></person-group>. (<year>2008</year>). <article-title>Novelty and homology-free morphometrics: what&#x00027;s in a name?</article-title> <source>Evol. Biol</source>. <volume>35</volume>, <fpage>186</fpage>&#x02013;<lpage>190</lpage>. <pub-id pub-id-type="doi">10.1007/s11692-008-9029-4</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Koehl</surname> <given-names>P.</given-names></name> <name><surname>Hass</surname> <given-names>J.</given-names></name></person-group> (<year>2015</year>). <article-title>Landmark-free geometric methods in biological shape analysis</article-title>. <source>J. R. Soc. Interface</source> <volume>12</volume>, <fpage>20150795</fpage>. <pub-id pub-id-type="doi">10.1098/rsif.2015.0795</pub-id><pub-id pub-id-type="pmid">26631331</pub-id></citation></ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Laga</surname> <given-names>H.</given-names></name> <name><surname>Kurtek</surname> <given-names>S.</given-names></name> <name><surname>Srivastava</surname> <given-names>A.</given-names></name> <name><surname>Miklavcic</surname> <given-names>S.</given-names></name></person-group> (<year>2014</year>). <article-title>Landmark-free statistical analysis of the shape of plant leaves</article-title>. <source>J. Theor. Biol</source>. <volume>363</volume>:<fpage>41</fpage>&#x02013;<lpage>52</lpage>. <pub-id pub-id-type="doi">10.1016/j.jtbi.2014.07.036</pub-id><pub-id pub-id-type="pmid">25123432</pub-id></citation></ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lipman</surname> <given-names>Y.</given-names></name> <name><surname>Funkhouser</surname> <given-names>T.</given-names></name></person-group> (<year>2009</year>). <article-title>M&#x000F6;bius voting for surface correspondence</article-title>. <source>ACM Trans. Graph</source>. <volume>28</volume>, <fpage>1</fpage>&#x02013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1145/1531326.1531378</pub-id></citation></ref>
<ref id="B34">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Litany</surname> <given-names>O.</given-names></name> <name><surname>Remez</surname> <given-names>T.</given-names></name> <name><surname>Rodol</surname> <given-names>E.</given-names></name> <name><surname>Bronstein</surname> <given-names>A.</given-names></name> <name><surname>Bronstein</surname> <given-names>M.</given-names></name></person-group> (<year>2017</year>). <article-title>Deep functional maps: structured prediction for dense shape correspondence,</article-title> in <source>IEEE International Conference on Computer Vision</source> (<publisher-loc>Venice</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>5659</fpage>&#x02013;<lpage>5667</lpage>.</citation></ref>
<ref id="B35">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Lorensen</surname> <given-names>W.</given-names></name> <name><surname>Cline</surname> <given-names>H.</given-names></name></person-group> (<year>1987</year>). <article-title>Marching cubes: a high resolution 3d surface construction algorithm,</article-title> in <source>Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques</source> (<publisher-loc>Anaheim, CA</publisher-loc>), <fpage>163</fpage>&#x02013;<lpage>169</lpage>.</citation></ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lucas</surname> <given-names>A.</given-names></name> <name><surname>Ryder</surname> <given-names>P.</given-names></name> <name><surname>Li</surname> <given-names>B.</given-names></name> <name><surname>Cimini</surname> <given-names>B.</given-names></name> <name><surname>Eliceiri</surname> <given-names>K.</given-names></name> <name><surname>Carpenter</surname> <given-names>A.</given-names></name></person-group> (<year>2021</year>). <article-title>Open-source deep-learning software for bioimage segmentation</article-title>. <source>Mol. Biol. Cell</source>. <volume>32</volume>, <fpage>823</fpage>&#x02013;<lpage>829</lpage>. <pub-id pub-id-type="doi">10.1091/mbc.E20-10-0660</pub-id><pub-id pub-id-type="pmid">33872058</pub-id></citation></ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lucas</surname> <given-names>M.</given-names></name> <name><surname>Kenobi</surname> <given-names>K.</given-names></name> <name><surname>Von Wangenheim</surname> <given-names>D.</given-names></name> <name><surname>Vo&#x003B2;, </surname> <given-names>U.</given-names></name> <name><surname>Swarup</surname> <given-names>K.</given-names></name> <name><surname>De Smet</surname> <given-names>I.</given-names></name> <etal/></person-group>. (<year>2013</year>). <article-title>Lateral root morphogenesis is dependent on the mechanical properties of the overlaying tissues</article-title>. <source>Proc. Natl. Acad. Sci. U.S.A</source>. <volume>110</volume>, <fpage>5229</fpage>&#x02013;<lpage>5234</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.1210807110</pub-id><pub-id pub-id-type="pmid">23479644</pub-id></citation></ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mart&#x000ED;nez-Abad&#x000ED;as</surname> <given-names>N.</given-names></name> <name><surname>Esparza</surname> <given-names>M.</given-names></name> <name><surname>Sj&#x000F8;vold</surname> <given-names>T.</given-names></name> <name><surname>Gonz&#x000E1;lez-Jos&#x000E9;</surname> <given-names>R.</given-names></name> <name><surname>Santos</surname> <given-names>M.</given-names></name> <name><surname>Hern&#x000E1;ndez</surname> <given-names>M.</given-names></name> <etal/></person-group>. (<year>2012</year>). <article-title>Pervasive genetic integration directs the evolution of human skull shape</article-title>. <source>Evolution</source> <volume>66</volume>, <fpage>1010</fpage>&#x02013;<lpage>1023</lpage>. <pub-id pub-id-type="doi">10.1111/j.1558-5646.2011.01496.x</pub-id><pub-id pub-id-type="pmid">22486686</pub-id></citation></ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mart&#x000ED;nez-Abad&#x000ED;as</surname> <given-names>N.</given-names></name> <name><surname>Estivill</surname> <given-names>R.</given-names></name> <name><surname>Tomas</surname> <given-names>J.</given-names></name> <name><surname>Perrine</surname> <given-names>S.</given-names></name> <name><surname>Yoon</surname> <given-names>M.</given-names></name> <name><surname>Robert-Moreno</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2018</year>). <article-title>Quantification of gene expression patterns to reveal the origins of abnormal morphogenesis</article-title>. <source>Elife</source> <volume>7</volume>:<fpage>e36405</fpage>. <pub-id pub-id-type="doi">10.7554/eLife.36405</pub-id><pub-id pub-id-type="pmid">30234486</pub-id></citation></ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Melzi</surname> <given-names>S.</given-names></name> <name><surname>Ren</surname> <given-names>J.</given-names></name> <name><surname>Rodol&#x000E0;</surname> <given-names>K. E.</given-names></name> <name><surname>Sharma</surname> <given-names>A.</given-names></name> <name><surname>Ovsjanikov</surname> <given-names>M.</given-names></name> <name><surname>Wonka</surname> <given-names>P.</given-names></name></person-group> (<year>2019</year>). <article-title>ZoomOut: spectral upsampling for efficient shape correspondence</article-title>. <source>ACM Trans. Graph</source>. <volume>38</volume>, <fpage>1</fpage>&#x02013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.1145/3355089.3356524</pub-id></citation></ref>
<ref id="B41">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Miao</surname> <given-names>S.</given-names></name> <name><surname>Wang</surname> <given-names>Z.</given-names></name> <name><surname>Liao</surname> <given-names>R.</given-names></name></person-group> (<year>2016</year>). <article-title>A cnn regression approach for real-time 2d/3d registration</article-title>. <source>IEEE Trans. Med. Imaging</source> <volume>35</volume>, <fpage>1352</fpage>&#x02013;<lpage>1363</lpage>. <pub-id pub-id-type="doi">10.1109/TMI.2016.2521800</pub-id><pub-id pub-id-type="pmid">26829785</pub-id></citation></ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mitchell</surname> <given-names>J.</given-names></name> <name><surname>Mount</surname> <given-names>D.</given-names></name> <name><surname>Papadimitriou</surname> <given-names>C.</given-names></name></person-group> (<year>1985</year>). <article-title>The discrete geodesic problem</article-title>. <source>SIAM J. Comput</source>. <volume>16</volume>, <fpage>647</fpage>&#x02013;<lpage>668</lpage>. <pub-id pub-id-type="doi">10.1137/0216045</pub-id></citation></ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Musy</surname> <given-names>M.</given-names></name> <name><surname>Jacquenot</surname> <given-names>G.</given-names></name> <name><surname>Dalmasso</surname> <given-names>G.</given-names></name> <name><surname>Neoglez de Bruin</surname> <given-names>R.</given-names></name> <name><surname>Pollack</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>vedo, a python module for scientific analysis and visualization of 3D objects and point clouds</article-title>. <source>Zenodo</source>. <pub-id pub-id-type="doi">10.5281/zenodo.4287635</pub-id></citation></ref>
<ref id="B44">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ovsjanikov</surname> <given-names>M.</given-names></name> <name><surname>Ben-Chen</surname> <given-names>M.</given-names></name> <name><surname>Solomon</surname> <given-names>J.</given-names></name> <name><surname>Butscher</surname> <given-names>A.</given-names></name> <name><surname>Guibas</surname> <given-names>L.</given-names></name></person-group> (<year>2012</year>). <article-title>Functional maps: a flexible representation of maps between shapes</article-title>. <source>ACM Trans. Graph</source>. (Macao) <volume>31</volume>, <fpage>1</fpage>&#x02013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1145/2185520.2185526</pub-id></citation></ref>
<ref id="B45">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ovsjanikov</surname> <given-names>M.</given-names></name> <name><surname>Corman</surname> <given-names>E.</given-names></name> <name><surname>Bronstein</surname> <given-names>M.</given-names></name> <name><surname>Rodol&#x000E0;</surname> <given-names>E.</given-names></name> <name><surname>Ben-Chen</surname> <given-names>M.</given-names></name> <name><surname>Guibas</surname> <given-names>L.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>Computing and processing correspondences with functional maps,</article-title> in <source>ACM SIGGRAPH Asia 2016 Courses</source>, <fpage>1</fpage>&#x02013;<lpage>60</lpage>.</citation></ref>
<ref id="B46">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Paul-Gilloteaux</surname> <given-names>P.</given-names></name> <name><surname>Heiligenstein</surname> <given-names>X.</given-names></name> <name><surname>Belle</surname> <given-names>M.</given-names></name> <name><surname>Domart</surname> <given-names>M.-C.</given-names></name> <name><surname>Larijani</surname> <given-names>B.</given-names></name> <name><surname>Collinson</surname> <given-names>L.</given-names></name> <etal/></person-group>. (<year>2017</year>). <article-title>ec-clem: flexible multidimensional registration software for correlative microscopies</article-title>. <source>Nat. Methods</source> <volume>14</volume>, <fpage>102</fpage>&#x02013;<lpage>103</lpage>. <pub-id pub-id-type="doi">10.1038/nmeth.4170</pub-id><pub-id pub-id-type="pmid">28139674</pub-id></citation></ref>
<ref id="B47">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Phillip</surname> <given-names>J.</given-names></name> <name><surname>Han</surname> <given-names>K.-S.</given-names></name> <name><surname>Chen</surname> <given-names>W.-C.</given-names></name> <name><surname>Wirtz</surname> <given-names>D.</given-names></name> <name><surname>Wu</surname> <given-names>P.-H.</given-names></name></person-group> (<year>2021</year>). <article-title>A robust unsupervised machine-learning method to quantify the morphological heterogeneity of cells and nuclei</article-title>. <source>Nat. Protoc</source>. <volume>16</volume>, <fpage>754</fpage>&#x02013;<lpage>774</lpage>. <pub-id pub-id-type="doi">10.1038/s41596-020-00432-x</pub-id><pub-id pub-id-type="pmid">33424024</pub-id></citation></ref>
<ref id="B48">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pinkall</surname> <given-names>U.</given-names></name> <name><surname>Polthier</surname> <given-names>K.</given-names></name></person-group> (<year>1993</year>). <article-title>Computing discrete minimal surfaces and their conjugates</article-title>. <source>Exp. Math</source>. <volume>2</volume>, <fpage>15</fpage>&#x02013;<lpage>36</lpage>. <pub-id pub-id-type="doi">10.1080/10586458.1993.10504266</pub-id></citation></ref>
<ref id="B49">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Preibisch</surname> <given-names>S.</given-names></name> <name><surname>Saalfeld</surname> <given-names>S.</given-names></name> <name><surname>Schindelin</surname> <given-names>J.</given-names></name> <name><surname>Tomancak</surname> <given-names>P.</given-names></name></person-group> (<year>2010</year>). <article-title>Software for bead-based registration of selective plane illumination microscopy data</article-title>. <source>Nat. Methods</source> <volume>7</volume>, <fpage>418</fpage>&#x02013;<lpage>419</lpage>. <pub-id pub-id-type="doi">10.1038/nmeth0610-418</pub-id><pub-id pub-id-type="pmid">20508634</pub-id></citation></ref>
<ref id="B50">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ramirez</surname> <given-names>P.</given-names></name> <name><surname>Zammit</surname> <given-names>J.</given-names></name> <name><surname>Vanderpoorten</surname> <given-names>O.</given-names></name> <name><surname>Riche</surname> <given-names>F.</given-names></name> <name><surname>Bl&#x000E9;</surname> <given-names>F.-X.</given-names></name> <name><surname>Zhou</surname> <given-names>X.-H.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Optij: open-source optical projection tomography of large organ samples</article-title>. <source>Sci. Rep</source>. <volume>9</volume>, <fpage>1</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-019-52065-0</pub-id><pub-id pub-id-type="pmid">31666606</pub-id></citation></ref>
<ref id="B51">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rohlf</surname> <given-names>F.</given-names></name> <name><surname>Slice</surname> <given-names>D.</given-names></name></person-group> (<year>1990</year>). <article-title>Extensions of the procrustes method for the optimal superimposition of landmarks</article-title>. <source>Syst. Biol</source>. <volume>39</volume>, <fpage>40</fpage>&#x02013;<lpage>59</lpage>. <pub-id pub-id-type="doi">10.2307/2992207</pub-id></citation></ref>
<ref id="B52">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schmidt</surname> <given-names>P.</given-names></name> <name><surname>Born</surname> <given-names>J.</given-names></name> <name><surname>Campen</surname> <given-names>M.</given-names></name> <name><surname>Kobbelt</surname> <given-names>L.</given-names></name></person-group> (<year>2019</year>). <article-title>Distortion-minimizing injective maps between surfaces</article-title>. <source>ACM Trans. Graph</source>. <volume>38</volume>, <fpage>1</fpage>&#x02013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.1145/3355089.3356519</pub-id></citation></ref>
<ref id="B53">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Schreiner</surname> <given-names>J.</given-names></name> <name><surname>Asirvatham</surname> <given-names>A.</given-names></name> <name><surname>Praun</surname> <given-names>E.</given-names></name> <name><surname>Hoppe</surname> <given-names>H.</given-names></name></person-group> (<year>2004</year>). <article-title>Inter-surface mapping,</article-title> in <source>ACM SIGGRAPH 2004</source> (<publisher-loc>Los Angeles, CA</publisher-loc>).</citation></ref>
<ref id="B54">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sharpe</surname> <given-names>J.</given-names></name> <name><surname>Ahlgren</surname> <given-names>U.</given-names></name> <name><surname>Perry</surname> <given-names>P.</given-names></name> <name><surname>Hill</surname> <given-names>B.</given-names></name> <name><surname>Ross</surname> <given-names>A.</given-names></name> <name><surname>Hecksher-S&#x000F8;rensen</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2002</year>). <article-title>Optical projection tomography as a tool for 3d microscopy and gene expression studies</article-title>. <source>Science</source> <volume>296</volume>, <fpage>541</fpage>&#x02013;<lpage>545</lpage>. <pub-id pub-id-type="doi">10.1126/science.1068206</pub-id><pub-id pub-id-type="pmid">11964482</pub-id></citation></ref>
<ref id="B55">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Shilane</surname> <given-names>P.</given-names></name> <name><surname>Min</surname> <given-names>P.</given-names></name> <name><surname>Kazhdan</surname> <given-names>M.</given-names></name> <name><surname>Funkhouser</surname> <given-names>T.</given-names></name></person-group> (<year>2004</year>). <article-title>The princeton shape benchmark,</article-title> in <source>Proceedings of the International Conference on Shape Modeling Applications</source> (<publisher-loc>Genova</publisher-loc>), <fpage>167</fpage>&#x02013;<lpage>178</lpage>.</citation></ref>
<ref id="B56">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Sorkine</surname> <given-names>O.</given-names></name> <name><surname>Alexa</surname> <given-names>M.</given-names></name></person-group> (<year>2007</year>). <article-title>As-rigid-as-possible surface modeling,</article-title> in <source>ACM SIGGRAPH 2007</source> (<publisher-loc>San Diego, CA</publisher-loc>), <fpage>109</fpage>&#x02013;<lpage>116</lpage>.</citation></ref>
<ref id="B57">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Srivastava</surname> <given-names>A.</given-names></name> <name><surname>Klassen</surname> <given-names>E.</given-names></name> <name><surname>Joshi</surname> <given-names>S.</given-names></name> <name><surname>Jermyn</surname> <given-names>I.</given-names></name></person-group> (<year>2010</year>). <article-title>Shape analysis of elastic curves in euclidean spaces</article-title>. <source>IEEE Trans. Pattern Anal. Mach. Intell</source>. <volume>33</volume>, <fpage>1415</fpage>&#x02013;<lpage>1428</lpage>. <pub-id pub-id-type="doi">10.1109/TPAMI.2010.184</pub-id><pub-id pub-id-type="pmid">20921581</pub-id></citation></ref>
<ref id="B58">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sun</surname> <given-names>J.</given-names></name> <name><surname>Ovsjanikov</surname> <given-names>M.</given-names></name> <name><surname>Guibas</surname> <given-names>L.</given-names></name></person-group> (<year>2009</year>). <article-title>A concise and provably informative multi-scale signature based on heat diffusion</article-title>. <source>Comput. Graph. Forum</source> <volume>28</volume>, <fpage>1383</fpage>&#x02013;<lpage>1392</lpage>. <pub-id pub-id-type="doi">10.1111/j.1467-8659.2009.01515.x</pub-id></citation></ref>
<ref id="B59">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Toussaint</surname> <given-names>N.</given-names></name> <name><surname>Redhead</surname> <given-names>Y.</given-names></name> <name><surname>Vidal-Garc&#x000ED;a</surname> <given-names>M.</given-names></name> <name><surname>Lo Vercio</surname> <given-names>L.</given-names></name> <name><surname>Liu</surname> <given-names>W.</given-names></name> <name><surname>Fisher</surname> <given-names>E.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>A landmark-free morphometrics pipeline for high-resolution phenotyping: application to a mouse model of down syndrome</article-title>. <source>Development</source> 148, dev188631. <pub-id pub-id-type="doi">10.1242/dev.188631</pub-id><pub-id pub-id-type="pmid">33712441</pub-id></citation></ref>
<ref id="B60">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>van der Walt</surname> <given-names>S.</given-names></name> <name><surname>Sch&#x000F6;nberger</surname> <given-names>J.</given-names></name> <name><surname>Nunez-Iglesias</surname> <given-names>J.</given-names></name> <name><surname>Boulogne</surname> <given-names>F.</given-names></name> <name><surname>Warner</surname> <given-names>J.</given-names></name> <name><surname>Yager</surname> <given-names>N.</given-names></name> <etal/></person-group>. (<year>2014</year>). <article-title>scikit-image: image processing in Python</article-title>. <source>PeerJ</source>. <volume>2</volume>:<fpage>e453</fpage>. <pub-id pub-id-type="doi">10.7717/peerj.453</pub-id><pub-id pub-id-type="pmid">25024921</pub-id></citation></ref>
<ref id="B61">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Van Kaick</surname> <given-names>O.</given-names></name> <name><surname>Zhang</surname> <given-names>H.</given-names></name> <name><surname>Hamarneh</surname> <given-names>G.</given-names></name> <name><surname>Cohen-Or</surname> <given-names>D.</given-names></name></person-group> (<year>2011</year>). <article-title>A survey on shape correspondence</article-title>. <source>Comput. Graph. Forum</source> <volume>30</volume>, <fpage>1681</fpage>&#x02013;<lpage>1707</lpage>. <pub-id pub-id-type="doi">10.1111/j.1467-8659.2011.01884.x</pub-id></citation></ref>
<ref id="B62">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Vestner</surname> <given-names>M.</given-names></name> <name><surname>Litman</surname> <given-names>R.</given-names></name> <name><surname>Rodol</surname> <given-names>E.</given-names></name> <name><surname>Bronstein</surname> <given-names>A.</given-names></name> <name><surname>Cremers</surname> <given-names>D.</given-names></name></person-group> (<year>2017</year>). <article-title>Product manifold filter: non-rigid shape correspondence via kernel density estimation in the product space,</article-title> in <source>IEEE Conference on Computer Vision and Pattern Recognition</source> (<publisher-loc>Honolulu, HI</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>6681</fpage>&#x02013;<lpage>6690</lpage>.</citation></ref>
<ref id="B63">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Voigt</surname> <given-names>F.</given-names></name> <name><surname>Kirschenbaum</surname> <given-names>D.</given-names></name> <name><surname>Platonova</surname> <given-names>E.</given-names></name> <name><surname>Pag&#x000E8;s</surname> <given-names>S.</given-names></name> <name><surname>Campbell</surname> <given-names>R.</given-names></name> <name><surname>Kastli</surname> <given-names>R.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>The mesospim initiative: open-source light-sheet microscopes for imaging cleared tissue</article-title>. <source>Nat. Methods</source> <volume>16</volume>, <fpage>1105</fpage>&#x02013;<lpage>1108</lpage>. <pub-id pub-id-type="doi">10.1038/s41592-019-0554-0</pub-id><pub-id pub-id-type="pmid">31527839</pub-id></citation></ref>
<ref id="B64">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>White</surname> <given-names>J.</given-names></name> <name><surname>Ortega-Castrill&#x000F3;n</surname> <given-names>A.</given-names></name> <name><surname>Matthews</surname> <given-names>H.</given-names></name> <name><surname>Zaidi</surname> <given-names>A.</given-names></name> <name><surname>Ekrami</surname> <given-names>O.</given-names></name> <name><surname>Snyders</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Meshmonk: open-source large-scale intensive 3d phenotyping</article-title>. <source>Sci. Rep</source>. <volume>9</volume>, <fpage>1</fpage>&#x02013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-019-42533-y</pub-id><pub-id pub-id-type="pmid">30988365</pub-id></citation></ref>
<ref id="B65">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Windheuser</surname> <given-names>T.</given-names></name> <name><surname>Schlickewei</surname> <given-names>U.</given-names></name> <name><surname>Schmidt</surname> <given-names>F.</given-names></name> <name><surname>Cremers</surname> <given-names>D.</given-names></name></person-group> (<year>2011</year>). <article-title>Geometrically consistent elastic matching of 3d shapes: a linear programming solution,</article-title> in <source>IEEE International Conference on Computer Vision</source> (<publisher-loc>Barcelona</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>2134</fpage>&#x02013;<lpage>2141</lpage>.</citation></ref>
<ref id="B66">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Yang</surname> <given-names>X.</given-names></name> <name><surname>Kwitt</surname> <given-names>R.</given-names></name> <name><surname>Styner</surname> <given-names>M.</given-names></name> <name><surname>Niethammer</surname> <given-names>M.</given-names></name></person-group> (<year>2017</year>). <article-title>Fast predictive multimodal image registration,</article-title> in <source>IEEE 14th International Symposium on Biomedical Imaging</source> (<publisher-loc>Melbourne, VIC</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>858</fpage>&#x02013;<lpage>862</lpage>.<pub-id pub-id-type="pmid">20033605</pub-id></citation></ref>
<ref id="B67">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yeh</surname> <given-names>Y.-C.</given-names></name> <name><surname>Weng</surname> <given-names>C.-H.</given-names></name> <name><surname>Huang</surname> <given-names>Y.-J.</given-names></name> <name><surname>Fu</surname> <given-names>C.-J.</given-names></name> <name><surname>Tsai</surname> <given-names>T.-T.</given-names></name> <name><surname>Yeh</surname> <given-names>C.-Y.</given-names></name></person-group> (<year>2021</year>). <article-title>Deep learning approach for automatic landmark detection and alignment analysis in whole-spine lateral radiographs</article-title>. <source>Sci. Rep</source>. <volume>11</volume>, <fpage>1</fpage>&#x02013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-021-87141-x</pub-id><pub-id pub-id-type="pmid">33828159</pub-id></citation></ref>
</ref-list> 
</back>
</article>