<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Mater.</journal-id>
<journal-title>Frontiers in Materials</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Mater.</abbrev-journal-title>
<issn pub-type="epub">2296-8016</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">760602</article-id>
<article-id pub-id-type="doi">10.3389/fmats.2021.760602</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Materials</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Efficient Fitting of 3D Tessellations to Curved Polycrystalline Grain Boundaries</article-title>
<alt-title alt-title-type="left-running-head">Petrich et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">Efficient Fitting of 3D Tessellations</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Petrich</surname>
<given-names>Lukas</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/701557/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Furat</surname>
<given-names>Orkun</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/600892/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Mingyan</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/699435/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Krill III</surname>
<given-names>Carl E.</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Schmidt</surname>
<given-names>Volker</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/506703/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>Institute of Stochastics, Faculty of Mathematics and Economics, Ulm University, <addr-line>Ulm</addr-line>, <country>Germany</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>Institute of Functional Nanosystems, Faculty of Engineering, Computer Science and Psychology, Ulm University, <addr-line>Ulm</addr-line>, <country>Germany</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/558721/overview">Norbert Huber</ext-link>, Helmholtz-Zentrum Hereon, Germany</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/773973/overview">Napat Vajragupta</ext-link>, Ruhr University Bochum, Germany</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1458939/overview">Fabrice Barbe</ext-link>, Insa Rouen Normandie, France</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Lukas Petrich, <email>lukas.petrich@uni-ulm.de</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Computational Materials Science, a section of the journal Frontiers in Materials</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>13</day>
<month>12</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>8</volume>
<elocation-id>760602</elocation-id>
<history>
<date date-type="received">
<day>18</day>
<month>08</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>02</day>
<month>11</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Petrich, Furat, Wang, Krill III and Schmidt.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Petrich, Furat, Wang, Krill III and Schmidt</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&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>The curvature of grain boundaries in polycrystalline materials is an important characteristic, since it plays a key role in phenomena like grain growth. However, most traditional tessellation models that are used for modeling the microstructure morphology of these materials, e.g., Voronoi or Laguerre tessellations, have flat faces and thus fail to incorporate the curvature of the latter. For this reason, we consider generalizations of Laguerre tessellations&#x2014;variations of so-called generalized balanced power diagrams (GBPDs)&#x2014;that exhibit non-convex cells. With as many as ten parameters for each cell, it is computationally demanding to fit GBPDs to three-dimensional image data containing hundreds of grains. We therefore propose a modification of the traditional definition of GBDPs that allows gradient-based optimization methods to be employed. The resulting reduction in runtime makes it feasible to find approximations to real experimental datasets. We demonstrate this on a three-dimensional x-ray diffraction (3DXRD) mapping of an AlCu alloy, but we also evaluate the modeling errors for simulated data. Furthermore, we investigate the effect of noisy image data and whether the smoothing of image data prior to the fitting step is advantageous.</p>
</abstract>
<kwd-group>
<kwd>polycrystalline material</kwd>
<kwd>tessellation</kwd>
<kwd>generalized balanced power diagram</kwd>
<kwd>gradient-based optimization</kwd>
<kwd>image noise</kwd>
</kwd-group>
<contract-num rid="cn001">KR 1658/9-1</contract-num>
<contract-sponsor id="cn001">Deutsche Forschungsgemeinschaft<named-content content-type="fundref-id">10.13039/501100001659</named-content>
</contract-sponsor>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The grain boundaries of polycrystalline materials play an important role in many different phenomena, ranging from fundamental processes like grain growth and extending to applied scenarios like the degradation of electrodes in lithium-ion batteries. In many such cases, the investigation and modeling of grain boundaries presupposes that their locations can be represented precisely. For this purpose, tessellations have proven to be a powerful tool, as they provide a partitioning of space into disjoint subsets called cells. For example, the representation of a material&#x2019;s microstructure by means of tessellations can be utilized for the analysis of microstructure-property relationships (<xref ref-type="bibr" rid="B23">Raabe, 1998</xref>; <xref ref-type="bibr" rid="B35">Westhoff et&#x20;al., 2018</xref>). For the latter, realistic &#x201c;virtual polycrystals&#x201d; generated by parametric stochastic models for these tessellations are particularly helpful (see, e.g., <xref ref-type="bibr" rid="B2">Allen et&#x20;al., 2021</xref>). A prominent tessellation type in materials science is the Laguerre tessellation (<xref ref-type="bibr" rid="B15">Lautensack and Zuyev, 2008</xref>), which is a generalization of the well-known Voronoi tessellation (<xref ref-type="bibr" rid="B18">M&#xf8;ller, 1994</xref>; <xref ref-type="bibr" rid="B19">Okabe et&#x20;al., 2000</xref>). It is therefore not surprising that the fitting of Laguerre tessellations to experimental data has already received much attention. For example, in <xref ref-type="bibr" rid="B7">Bourne et&#x20;al. (2020)</xref>; <xref ref-type="bibr" rid="B20">Petrich et&#x20;al. (2019)</xref>; <xref ref-type="bibr" rid="B22">Quey and Renversade (2018)</xref> the problem of finding good representations for statistical data, such as grain volumes and centroids, is discussed. Of particular interest is the description of 3D image data, e.g., from 3D electron backscatter diffraction (EBSD) or 3D x-ray diffraction (3DXRD) microscopy, which was studied in <xref ref-type="bibr" rid="B16">Liebscher (2015)</xref>; <xref ref-type="bibr" rid="B22">Quey and Renversade (2018)</xref>; <xref ref-type="bibr" rid="B31">Spettl et&#x20;al. (2016)</xref>. Additional details regarding the method proposed in <xref ref-type="bibr" rid="B31">Spettl et&#x20;al. (2016)</xref> are given in <xref ref-type="sec" rid="s2-4-1">Section 2.4.1</xref>. A major drawback of the Laguerre tessellation, however, is the fact that its facets are planar and therefore apply only to grains having nearly flat boundaries. This is unacceptable when it comes to the investigation of curvature-related phenomena like grain growth. In this case, other tessellation models&#x2014;often generalizations of the Voronoi/Laguerre tessellations&#x2014;have been proposed; we refer to <xref ref-type="bibr" rid="B4">Altendorf et&#x20;al. (2014)</xref>; <xref ref-type="bibr" rid="B30">&#x160;ediv&#xfd; et&#x20;al. (2018)</xref> for an overview. Heuristics for fitting some of these tessellation models are described in <xref ref-type="bibr" rid="B4">Altendorf et&#x20;al. (2014)</xref>; <xref ref-type="bibr" rid="B32">Teferra and Graham-Brady (2015)</xref>. A quite general tessellation model, the so-called <italic>generalized balanced power diagram</italic> (GBPD), is introduced in <xref ref-type="bibr" rid="B3">Alpers et&#x20;al. (2015)</xref>, in which a fitting procedure based on a (very high-dimensional) linear optimization is also proposed. A different fitting method, again relying on optimization, is described by <xref ref-type="bibr" rid="B29">&#x160;ediv&#xfd; et&#x20;al. (2016)</xref>. Moreover, a completely different approach is taken in <xref ref-type="bibr" rid="B33">Teferra and Rowenhorst (2018)</xref>, where closed formulas for approximating GBPDs are presented. The latter two methods are discussed in detail in <xref ref-type="sec" rid="s2-4-2">Sections 2.4.2</xref> and&#x20;<xref ref-type="sec" rid="s4-2">4.2</xref>.</p>
<p>The major goal of the present paper is to propose a fitting method that works well for GBPDs and other distance-based tessellations. Taking advantage of efficient gradient-descent optimization, the new approach aims to achieve a goodness of fit similar or better than that of other techniques&#x2014;but with much shorter computational runtime. This is investigated on 3DXRD mapping data obtained from a sample of an AlCu alloy, but we also evaluate the modeling errors for simulated data. Note that the fitting method presented here is also applicable to image data obtained by techniques other than 3DXRD, such as 3D EBSD (<xref ref-type="bibr" rid="B36">Zaefferer et&#x20;al., 2008</xref>; <xref ref-type="bibr" rid="B28">Schwartz et&#x20;al., 2009</xref>; <xref ref-type="bibr" rid="B8">Burnett et&#x20;al., 2016</xref>). Furthermore, the robustness with respect to noisy image data is studied, and the question is posed whether the smoothing of grain boundaries prior to tessellation fitting&#x2014;as is routinely carried out&#x2014;actually improves the fit. Even though different tessellation models were fitted to the datasets, the topic of model selection is not discussed; for the latter, we refer to <xref ref-type="bibr" rid="B30">&#x160;ediv&#xfd; et&#x20;al. (2018)</xref>. The present paper extends a previous version of the fitting algorithm originally described in <xref ref-type="bibr" rid="B11">Furat et&#x20;al. (2021)</xref> by considering more general types of tessellations and a thorough analysis of the goodness of fit for different datasets.</p>
</sec>
<sec id="s2">
<title>2 Materials and Methods</title>
<p>In this section we describe the materials and methods used in the present paper. These topics include the 3DXRD image data described in <xref ref-type="sec" rid="s2-1">Section 2.1</xref>, the definitions of various tessellation models in <xref ref-type="sec" rid="s2-2">Section 2.2</xref>, a procedure for gradient descent-based tessellation fitting in <xref ref-type="sec" rid="s2-3">Section 2.3</xref> (originally introduced in <xref ref-type="bibr" rid="B11">Furat et&#x20;al. (2021)</xref>), and two further methods from the literature for the gradient-free fitting of tessellations to image data (<xref ref-type="sec" rid="s2-4">Section&#x20;2.4</xref>).</p>
<sec id="s2-1">
<title>2.1 Description of 3DXRD Image Data</title>
<p>One of the main goals of the present paper is to describe a procedure for finding accurate parametric representations of real, experimental image data. To that end, a 3D microstructural mapping was carried out on a 1.4&#xa0;mm-diameter cylinder of Al-5&#x2009;wt%Cu, which was cut out of a cold-rolled plate (50% thickness reduction) that had been subsequently homogenized at 500&#xb0;C for 24&#xa0;h in air. The shape of individual grains in the specimen and the location of internal grain boundaries were revealed by 3DXRD microscopy measurements, performed at beamline BL20XU of the Japanese synchrotron radiation facility SPring-8 using a monochromatic beam of 32&#xa0;keV x-rays (<xref ref-type="bibr" rid="B21">Poulsen, 2004</xref>). For 10&#xa0;min prior to this room-temperature mapping, the specimen was subjected to a heat treatment at 575&#xb0;C in air, which results in a liquid AlCu phase of approximately 2&#x2009;vol% wetting the boundaries between the solid, aluminum-rich grains. Owing to the simultaneous presence of two phases, the resulting evolution of the sample&#x2019;s microstructure is classified as <italic>Ostwald ripening</italic> (<xref ref-type="bibr" rid="B34">Wang and Glicksman, 2007</xref>). Once the sample is removed from the furnace, however, the liquid layer crystallizes and the growth/shrinkage of individual grains ceases.</p>
<p>Reconstruction of the 3DXRD data followed the protocol described in <xref ref-type="bibr" rid="B10">Dake et&#x20;al. (2016)</xref>, relying on the data processing routines of <xref ref-type="bibr" rid="B27">Schmidt (2005</xref>, <xref ref-type="bibr" rid="B26">2014)</xref>. To each voxel in the reconstructed volume, the software assigns the crystal lattice orientation that generates the most complete diffraction signal, whereby &#x201c;completeness&#x201d; is defined as the ratio between the number of experimentally detected diffraction spots associated with the voxel in question and the number of diffraction spots that are simulated to arise from this particular voxel if it were to have the assumed orientation. The grain labels were then assigned voxel-by-voxel to the orientation having the greatest completeness value. Formally, we describe the resulting image dataset as a mapping<disp-formula id="equ1">
<mml:math id="m1">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>531</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>321</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>321</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2192;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>943</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where each voxel coordinate is mapped to the corresponding grain label. Here, the label 0 is assigned to the background (i.e.,&#x20;voxels located outside the specimen). Each of the remaining labels is associated with one of the 943 grains.</p>
<p>However, with this reconstruction procedure the grain boundaries may manifest irregularities, such as local roughness, &#x201c;island&#x201d; voxels, zigzag shapes, or regions of fluctuating curvature (see <xref ref-type="fig" rid="F1">Figure&#x20;1A</xref>) as a result of measurement uncertainties. These artifacts can be eliminated by treating the raw reconstruction as the initial configuration of a computational simulation of curvature-driven grain growth. If the duration of such a simulation is kept short enough, any boundary location manifesting severe curvature will tend to smoothen out, and any island voxels will be consumed by the surrounding grain, but no long-range translation of boundaries will occur&#x2014;see <xref ref-type="fig" rid="F1">Figure&#x20;1B</xref>. In the present paper, we employed 25 iterations of a 3D phase field algorithm (<xref ref-type="bibr" rid="B14">Krill and Chen, 2002</xref>) to reduce the roughness of grain boundaries in the raw 3DXRD reconstructions. The resulting smoothed experimental image is referred to as<disp-formula id="equ2">
<mml:math id="m2">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2192;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>938</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where <inline-formula id="inf1">
<mml:math id="m3">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. Note that some smaller grains vanished during the data smoothing procedure; consequently, <italic>I</italic>
<sub>E,smooth</sub> had fewer grains than <italic>I</italic>
<sub>E,raw</sub> (938 grains instead of&#x20;943).</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Two-dimensional slice through the raw <bold>(A)</bold> and smoothed <bold>(B)</bold> experimental 3D image data and a magnified region showing the grain boundaries.</p>
</caption>
<graphic xlink:href="fmats-08-760602-g001.tif"/>
</fig>
</sec>
<sec id="s2-2">
<title>2.2 Tessellation Models</title>
<p>In order to represent the 3D grain architecture of (measured and simulated) image data in an efficient way, we apply an optimization method to decompose the volume of interest into subvolumes using tessellations. Thus, to begin with, we briefly describe the tessellation models considered in the present paper. For additional details on tessellations in general, we refer, e.g., to <xref ref-type="bibr" rid="B9">Chiu et&#x20;al. (2013)</xref>.</p>
<p>Roughly speaking, a tessellation is a partitioning of space into pairwise disjoint sets, so-called cells. More precisely, a tessellation <inline-formula id="inf2">
<mml:math id="m4">
<mml:mi mathvariant="script">T</mml:mi>
</mml:math>
</inline-formula> in a sampling window <inline-formula id="inf3">
<mml:math id="m5">
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>&#x2282;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is a countable collection of sets (cells), <inline-formula id="inf4">
<mml:math id="m6">
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2282;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mspace width="0.17em"/>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, such that<list list-type="simple">
<list-item>
<p>1) <inline-formula id="inf5">
<mml:math id="m7">
<mml:mi>int</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2229;</mml:mo>
<mml:mi>int</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x2205;</mml:mi>
<mml:mtext>&#x2009;for&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>j</mml:mi>
</mml:math>
</inline-formula>,</p>
</list-item>
<list-item>
<p>2) <inline-formula id="inf6">
<mml:math id="m8">
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222a;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula>,</p>
</list-item>
<list-item>
<p>3) and <inline-formula id="inf7">
<mml:math id="m9">
<mml:mi mathvariant="script">T</mml:mi>
</mml:math>
</inline-formula> is locally finite&#x2014;i.e.,&#x20;<inline-formula id="inf8">
<mml:math id="m10">
<mml:mi>&#x23;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2229;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>&#x2205;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:math>
</inline-formula> for all bounded <inline-formula id="inf9">
<mml:math id="m11">
<mml:mi>B</mml:mi>
<mml:mo>&#x2282;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula>,</p>
</list-item>
</list>where int(&#x22c5;) denotes the interior of a set. Note that in this paper we consider tessellations only in a <italic>bounded</italic> sampling window <inline-formula id="inf10">
<mml:math id="m12">
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>&#x2282;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. In this case, the number of (non-empty) cells is finite and is denoted by&#x20;<inline-formula id="inf11">
<mml:math id="m13">
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
</inline-formula>
</p>
<p>For practical purposes, such as finding simplified representations of experimental image data, parametric tessellation models are probably the most suitable class of tessellations. The tessellation models considered in the present paper have in common that their cells are defined in terms of a distance function <inline-formula id="inf12">
<mml:math id="m14">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="double-struck">G</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mi mathvariant="double-struck">{R}</mml:mi>
</mml:math>
</inline-formula>, where {<inline-formula id="inf1125">
<mml:math id="m1129">
<mml:mi mathvariant="double-struck">G</mml:mi>
</mml:math>
</inline-formula>} denotes the domain of generators (i.e.,&#x20;a set of admissible parameters of a single tessellation cell). For a (finite) set of generators <inline-formula id="inf13">
<mml:math id="m15">
<mml:mi mathvariant="script">G</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>g</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:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2282;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, the <italic>i</italic>-th cell <inline-formula id="inf14">
<mml:math id="m16">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of a distance-based tessellation <inline-formula id="inf15">
<mml:math id="m17">
<mml:mi mathvariant="script">T</mml:mi>
</mml:math>
</inline-formula> is given by<disp-formula id="e1">
<mml:math id="m18">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mtext>&#x2009;for&#x2009;each&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>For brevity, we use the notation<disp-formula id="equ3">
<mml:math id="m19">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>1</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>if&#x2009;</mml:mtext>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>0</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>otherwise,</mml:mtext>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>to indicate whether a point <inline-formula id="inf16">
<mml:math id="m20">
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula> belongs to the <italic>i</italic>-th cell, where <inline-formula id="inf17">
<mml:math id="m21">
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
<p>The simplest model of a distance-based tessellation is the Voronoi tessellation, where <inline-formula id="inf18">
<mml:math id="m22">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</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>s</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">&#x2016;</mml:mo>
</mml:math>
</inline-formula> for <inline-formula id="inf19">
<mml:math id="m23">
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula> with a generator <inline-formula id="inf20">
<mml:math id="m24">
<mml:mi>s</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="double-struck">G</mml:mi>
</mml:math>
</inline-formula>, and &#x2016;<italic>x</italic>&#x20;&#x2212; <italic>s</italic>&#x2016; denotes the Euclidean norm of <italic>x</italic>&#x20;&#x2212; <italic>s</italic>. While widely studied in literature, see e.g. <xref ref-type="bibr" rid="B6">Aurenhammer et&#x20;al. (2013)</xref>; <xref ref-type="bibr" rid="B18">M&#xf8;ller (1994)</xref>; <xref ref-type="bibr" rid="B19">Okabe et&#x20;al. (2000)</xref>, the Voronoi tessellation is often found to be insufficiently flexible to fit experimental maps of polycrystalline materials (<xref ref-type="bibr" rid="B30">&#x160;ediv&#xfd; et&#x20;al., 2018</xref>); thus, more sophisticated tessellation models are needed. The fitting procedure considered in the present paper is able to handle many tessellations of the form given by <xref ref-type="disp-formula" rid="e1">Eq. 1</xref> for which the distance function <inline-formula id="inf21">
<mml:math id="m25">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is differentiable. However, we focus on tessellation models that are special cases of generalized balanced power diagrams (GBPDs), listed here in order from simplest to most complex:<list list-type="simple">
<list-item>
<p>1) The Laguerre tessellation (<xref ref-type="bibr" rid="B15">Lautensack and Zuyev, 2008</xref>) is obtained if <inline-formula id="inf22">
<mml:math id="m26">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</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:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>w</mml:mi>
</mml:math>
</inline-formula> for <inline-formula id="inf23">
<mml:math id="m27">
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula>, with a generator consisting of a seed point <inline-formula id="inf24">
<mml:math id="m28">
<mml:mi>s</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> and an additive weight <inline-formula id="inf25">
<mml:math id="m29">
<mml:mi>w</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>2) The multiplicatively weighted Laguerre tessellation is obtained if <inline-formula id="inf26">
<mml:math id="m30">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</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:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>w</mml:mi>
</mml:math>
</inline-formula> for <inline-formula id="inf27">
<mml:math id="m31">
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula>, with a generator consisting of a seed point <inline-formula id="inf28">
<mml:math id="m32">
<mml:mi>s</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, a multiplicative weight <italic>m</italic>&#x20;&#x3e; 0 and an additive weight <inline-formula id="inf29">
<mml:math id="m33">
<mml:mi>w</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>3) The diagonal <italic>GBPD</italic> is obtained if <inline-formula id="inf30">
<mml:math id="m34">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</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:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a4;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>w</mml:mi>
</mml:math>
</inline-formula> for <inline-formula id="inf31">
<mml:math id="m35">
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula>, with a generator consisting of a seed point <inline-formula id="inf32">
<mml:math id="m36">
<mml:mi>s</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, a diagonal distance matrix <inline-formula id="inf33">
<mml:math id="m37">
<mml:mi>M</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> where every (diagonal) entry is positive and an additive weight <inline-formula id="inf34">
<mml:math id="m38">
<mml:mi>w</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>4) The general GBPD (<xref ref-type="bibr" rid="B3">Alpers et&#x20;al., 2015</xref>) is obtained if <inline-formula id="inf35">
<mml:math id="m39">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</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:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a4;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>w</mml:mi>
</mml:math>
</inline-formula> for <inline-formula id="inf36">
<mml:math id="m40">
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula>, with a generator consisting of a seed point <inline-formula id="inf37">
<mml:math id="m41">
<mml:mi>s</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, a positive definite distance matrix <inline-formula id="inf38">
<mml:math id="m42">
<mml:mi>M</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> and an additive weight <inline-formula id="inf39">
<mml:math id="m43">
<mml:mi>w</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</p>
<p>Note that all of these models, except the Laguerre tessellation, can exhibit curved cell boundaries and thus non-convex cells. With this property comes the possibility, however, that cells are no longer connected, which might be undesirable when seeking parametric representations of polycrystalline materials. To rectify this issue, modifications of the original tessellation models, such as the one given by <xref ref-type="bibr" rid="B30">&#x160;ediv&#xfd; et&#x20;al. (2018)</xref>, can be applied to fitted generators as a post-processing step. Another problem that affects all of the tessellation models described above is the possibility for a generator not to produce a corresponding cell. This can be mitigated by considering a volume-based cost function during the fitting that penalizes missing cells&#x2014;see <xref ref-type="sec" rid="s2-3">Section&#x20;2.3</xref>.</p>
</sec>
<sec id="s2-3">
<title>2.3 Gradient Descent-Based Tessellation Fitting</title>
<p>In this section we describe an efficient, gradient descent-based fitting procedure for GBPD-type tessellations. This procedure was originally introduced in <xref ref-type="bibr" rid="B11">Furat et&#x20;al. (2021)</xref>, but in <xref ref-type="sec" rid="s3">Section 3</xref> it will be applied to a broader class of tessellation models than in <xref ref-type="bibr" rid="B11">Furat et&#x20;al. (2021)</xref>.</p>
<p>Note that the fitting of a tessellation <inline-formula id="inf40">
<mml:math id="m44">
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> can be achieved by finding generators such that the similarity between the tessellation <inline-formula id="inf41">
<mml:math id="m45">
<mml:mi mathvariant="script">T</mml:mi>
</mml:math>
</inline-formula> and the ground truth image data is maximized. Formally, we consider the <italic>i</italic>-th grain of the ground truth image data as a map <inline-formula id="inf42">
<mml:math id="m46">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> given by<disp-formula id="equ4">
<mml:math id="m47">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>1</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>if&#x2009;</mml:mtext>
<mml:mi>x</mml:mi>
<mml:mtext>&#x2009;belongs&#x2009;to&#x2009;the&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>-</mml:mo>
<mml:mtext>th&#x2009;grain</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>0</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>otherwise,</mml:mtext>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>with <inline-formula id="inf43">
<mml:math id="m48">
<mml:mi mathvariant="double-struck">Z</mml:mi>
</mml:math>
</inline-formula> the set of all integers, <italic>i</italic>&#x20;&#x3d; 1, <italic>&#x2026;</italic>, <italic>n</italic>
<sub>GT</sub>, and <italic>n</italic>
<sub>GT</sub> the number of grains in the sampling window <inline-formula id="inf44">
<mml:math id="m49">
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>&#x2282;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. Nearest-neighbor interpolation can be used to extend the domain of <inline-formula id="inf45">
<mml:math id="m50">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> from the integer lattice <inline-formula id="inf46">
<mml:math id="m51">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> to the continuous Euclidean space <inline-formula id="inf47">
<mml:math id="m52">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. Furthermore, let <inline-formula id="inf48">
<mml:math id="m53">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> be the set of all coordinates of voxels that belong to one of the grains, which we call the foreground voxels of the image data. If <italic>n</italic>
<sub>F</sub> denotes the number of foreground voxels in <inline-formula id="inf49">
<mml:math id="m54">
<mml:mi mathvariant="script">W</mml:mi>
</mml:math>
</inline-formula>, then for each <italic>j</italic>&#x20;&#x3d; 1, <italic>&#x2026;</italic>, <italic>n</italic>
<sub>F</sub> there is an integer <italic>i</italic>&#x20;&#x3d; 1, <italic>&#x2026;</italic>, <italic>n</italic>
<sub>GT</sub> such that <inline-formula id="inf50">
<mml:math id="m55">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
</inline-formula>. In <xref ref-type="sec" rid="s3">Section 3</xref> we will consider the smoothed experimental image data from <xref ref-type="sec" rid="s2-1">Section 2.1</xref> (among others) and set<disp-formula id="equ5">
<mml:math id="m56">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>1</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>if&#x2009;</mml:mtext>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;and&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>0</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>otherwise,</mml:mtext>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>and <inline-formula id="inf51">
<mml:math id="m57">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</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>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Probably the most natural way to define the similarity between a tessellation <inline-formula id="inf52">
<mml:math id="m58">
<mml:mi mathvariant="script">T</mml:mi>
</mml:math>
</inline-formula> and the ground truth image data is to count the voxels at which each cell of the tessellation and the corresponding grain of the ground truth dataset overlap. To be more precise, the value of the objective function <inline-formula id="inf53">
<mml:math id="m59">
<mml:mi>E</mml:mi>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> for a set of generators <inline-formula id="inf54">
<mml:math id="m60">
<mml:mi mathvariant="script">G</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>g</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:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> with <inline-formula id="inf55">
<mml:math id="m61">
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="double-struck">G</mml:mi>
</mml:math>
</inline-formula> is given by<disp-formula id="e2">
<mml:math id="m62">
<mml:mi>E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>where the cells <inline-formula id="inf56">
<mml:math id="m63">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of the tessellation <inline-formula id="inf57">
<mml:math id="m64">
<mml:mi mathvariant="script">T</mml:mi>
</mml:math>
</inline-formula> depend on the choice of the generators in <inline-formula id="inf58">
<mml:math id="m65">
<mml:mi mathvariant="script">G</mml:mi>
</mml:math>
</inline-formula> subject to <inline-formula id="inf59">
<mml:math id="m66">
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="0.28em"/>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. The corresponding fitting problem is thus to determine an optimal set of generators <inline-formula id="inf60">
<mml:math id="m67">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> defined as<disp-formula id="e3">
<mml:math id="m68">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>argmax</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi>E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>It is easy to see that <inline-formula id="inf61">
<mml:math id="m69">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> with <inline-formula id="inf62">
<mml:math id="m70">
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> can be reformulated as<disp-formula id="e4">
<mml:math id="m71">
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="script">T</mml:mi>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>argmin</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="script">T</mml:mi>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="script">T</mml:mi>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi mathvariant="script">T</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf63">
<mml:math id="m72">
<mml:msubsup>
<mml:mi>argmin</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
</mml:math>
</inline-formula> is the <italic>j</italic>-th component of the <inline-formula id="inf64">
<mml:math id="m73">
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>-dimensional vector-valued argmin function, i.e.,<disp-formula id="equ6">
<mml:math id="m74">
<mml:mtable class="align-star" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">argmin</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msubsup>
<mml:mrow>
<mml:mi>argmin</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mi>z</mml:mi>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>1</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>if&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;for&#x2009;all&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>0</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>otherwise,</mml:mtext>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>with <inline-formula id="inf65">
<mml:math id="m75">
<mml:mi>z</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. In cases where the minimum is not unique, i.e.,&#x20;there are indices <inline-formula id="inf66">
<mml:math id="m76">
<mml:msub>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> with <italic>j</italic>
<sub>1</sub> &#x2260; <italic>j</italic>
<sub>2</sub> and <inline-formula id="inf67">
<mml:math id="m77">
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, only the component with the smallest index is set equal to 1. The function argmax<sup>&#x2217;</sup> is defined analogously.</p>
<p>Even though the distance function <inline-formula id="inf68">
<mml:math id="m78">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is differentiable (with respect to the generators), the fact that argmin<sup>&#x2217;</sup> in <xref ref-type="disp-formula" rid="e4">Eq. 4</xref> does not have a derivative makes the objective function E defined in <xref ref-type="disp-formula" rid="e2">Eq. 2</xref> non-differentiable. This leaves us having to resort to derivative-free optimization algorithms to solve <xref ref-type="disp-formula" rid="e3">Eq. 3</xref>, which in most cases converge slower than gradient descent methods (<xref ref-type="bibr" rid="B5">Audet and Hare, 2017</xref>). In order to increase efficiency, we slightly deviate from the original tessellation formulation by replacing the argmin<sup>&#x2217;</sup> function in <xref ref-type="disp-formula" rid="e4">Eq. 4</xref> with a &#x201c;softmin<sup>&#x2217;</sup>&#x201d; function&#x2014;i.e.,&#x20;a softmax<sup>&#x2217;</sup> function with a negative argument, <inline-formula id="inf69">
<mml:math id="m79">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>softmax</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> for <inline-formula id="inf70">
<mml:math id="m80">
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. Here, the <inline-formula id="inf71">
<mml:math id="m81">
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>-dimensional function<disp-formula id="equ7">
<mml:math id="m82">
<mml:mtable class="align-star" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">softmax</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">softmax</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mi>z</mml:mi>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>with <inline-formula id="inf72">
<mml:math id="m83">
<mml:mi>z</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is a smooth version of the argmax<sup>&#x2217;</sup> function. So, instead of returning a vector the components of which are either 0 or 1, the softmax<sup>&#x2217;</sup> function is a vector-valued map, the components of which are continuous functions with values between 0 and 1. In fact, the output vector softmax<sup>&#x2217;</sup> <italic>z</italic> for some argument <inline-formula id="inf73">
<mml:math id="m84">
<mml:mi>z</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> defines a discrete probability measure (i.e.,&#x20;the values of all components are between 0 and 1 and their sum is equal to 1), which assigns the highest probability to the index <italic>j</italic> if <italic>z</italic>
<sub>
<italic>j</italic>
</sub> &#x2265; <italic>z</italic>
<sub>
<italic>i</italic>
</sub> for all <inline-formula id="inf74">
<mml:math id="m85">
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Here, the last property can be understood in the sense that the softmax<sup>&#x2217;</sup> function preserves the maximum of the input vector. The largest value of a component of the vector <inline-formula id="inf75">
<mml:math id="m86">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is therefore the one whose corresponding generator has the shortest tessellation distance to the given evaluation point&#x20;<inline-formula id="inf76">
<mml:math id="m87">
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>.</p>
<p>The benefit of applying the softmax<sup>&#x2217;</sup> function instead of using the tessellation distances directly is found in the fact that the output vector of the softmax<sup>&#x2217;</sup> function is normalized, and thus for each evaluation point <inline-formula id="inf77">
<mml:math id="m88">
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> only the relative changes in the tessellation distances to the generators are considered, providing the same scale (i.e.,&#x20;values in [0, 1]) for all evaluation points. This trick is often used for multi-class classification problems in machine learning (<xref ref-type="bibr" rid="B12">Goodfellow et&#x20;al., 2016</xref>). Furthermore, note that since softmax<sup>&#x2217;</sup> is a composition of differentiable functions and is itself therefore differentiable, the function <inline-formula id="inf78">
<mml:math id="m89">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is differentiable, as well, for each <inline-formula id="inf79">
<mml:math id="m90">
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Because&#x2014;in contrast to <inline-formula id="inf80">
<mml:math id="m91">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, which is either 0 or 1&#x2014;<inline-formula id="inf81">
<mml:math id="m92">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> assumes continuous values, it is necessary to adapt the objective function. Consequently, instead of <italic>E</italic> defined as in <xref ref-type="disp-formula" rid="e2">Eq. 2</xref>, we consider the function <inline-formula id="inf82">
<mml:math id="m93">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, where<disp-formula id="e5">
<mml:math id="m94">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(5)</label>
</disp-formula>with the <italic>negative</italic> (binary) cross-entropy loss function <italic>&#x3bb;</italic>
<sub>NCE</sub> : [0,1]<sup>2</sup> &#x2192; ( &#x2212; <italic>&#x221e;</italic>, 0] given by <inline-formula id="inf83">
<mml:math id="m95">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Note that the cross-entropy loss is often used in machine learning (<xref ref-type="bibr" rid="B12">Goodfellow et&#x20;al., 2016</xref>) to compare the output of a classifier to ground truth data, which is basically the same purpose it serves here: If an evaluation point <inline-formula id="inf84">
<mml:math id="m96">
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> belongs to the <italic>i</italic>-th grain (i.e.,&#x20;<inline-formula id="inf85">
<mml:math id="m97">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
</inline-formula>), <inline-formula id="inf86">
<mml:math id="m98">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> also needs to be close to 1 in order to maximize <italic>&#x3bb;</italic>
<sub>NCE</sub>, and vice versa. Note that the modified objective function <inline-formula id="inf87">
<mml:math id="m99">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is differentiable with respect to the generators. The fitted set of generators <inline-formula id="inf88">
<mml:math id="m100">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> can then be obtained by solving<disp-formula id="e6">
<mml:math id="m101">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>argmax</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>In summary, we reformulated the original fitting problem, <xref ref-type="disp-formula" rid="e3">Eq. 3</xref>, into the differentiable version given in <xref ref-type="disp-formula" rid="e6">Eq. 6</xref>. This allows us to employ fast, gradient-based optimization algorithms, such as the one used in the present work: the stochastic gradient descent algorithm <sc>Adam</sc> (<xref ref-type="bibr" rid="B13">Kingma and Ba, 2015</xref>) (applied to the negative objective function). The optimization is stopped after a maximum of 25 iterations through (random permutations of) the dataset or if the objective function <inline-formula id="inf89">
<mml:math id="m102">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> defined in <xref ref-type="disp-formula" rid="e5">Eq. 5</xref> does not increase by more than 10<sup>&#x2212;4</sup> in 3 iterations. Note that for the discretization of a fitted GBPD-type tessellation, we compute the (unique) cell labels using the classical definition in <xref ref-type="disp-formula" rid="e4">Eq. 4</xref>. The software implementation for the fitting and the discretization is based on <sc>Tensorflow</sc> (<xref ref-type="bibr" rid="B1">Abadi et&#x20;al., 2015</xref>), which allows for highly parallel and even GPU-accelerated computations.</p>
</sec>
<sec id="s2-4">
<title>2.4&#x20;Gradient-free Tessellation Fitting</title>
<p>In addition to the procedure described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, we mention two additional methods from the literature for fitting tessellations to image data, to which we will refer below. We start with the procedure for Laguerre tessellations introduced in <xref ref-type="bibr" rid="B31">Spettl et&#x20;al. (2016)</xref>, which was used to acquire the initial parameter configuration in <xref ref-type="sec" rid="s3">Section 3</xref>. Furthermore, in order to compare the results of our method described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, we also employed a different method for the fast fitting of GBPDs that was originally developed in <xref ref-type="bibr" rid="B33">Teferra and Rowenhorst (2018)</xref>.</p>
<sec id="s2-4-1">
<title>2.4.1 Laguerre Tessellation Fitting with the Cross-Entropy Method</title>
<p>In <xref ref-type="bibr" rid="B31">Spettl et&#x20;al. (2016)</xref>, approximations of polycrystalline image data were sought in the form of Laguerre tessellations. Just like in <xref ref-type="sec" rid="s2-3">Section 2.3</xref> of the present paper, an optimization problem was formulated. However, instead of considering a volume-based objective function, an interface-based discrepancy measure was minimized. More precisely, the quality of fit for a given set of Laguerre generators <inline-formula id="inf90">
<mml:math id="m103">
<mml:mi mathvariant="script">G</mml:mi>
</mml:math>
</inline-formula> was judged by looking at each boundary between two grains. Let their grain labels be denoted by <italic>i</italic>&#x20;&#x2260; <italic>&#x2113;</italic> &#x3d; 1, <italic>&#x2026;</italic>, <italic>n</italic>
<sub>GT</sub>. Then, a plane <inline-formula id="inf91">
<mml:math id="m104">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> was determined by orthogonal regression of the boundary voxel coordinates, and ten test points <inline-formula id="inf92">
<mml:math id="m105">
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> on this plane were considered. Furthermore, the plane <inline-formula id="inf93">
<mml:math id="m106">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> that is equidistant (with respect to the Laguerre distance <inline-formula id="inf94">
<mml:math id="m107">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>) to the two corresponding generators <italic>g</italic>
<sub>
<italic>i</italic>
</sub> and <italic>g</italic>
<sub>
<italic>&#x2113;</italic>
</sub> was computed. Note that if the cells <inline-formula id="inf95">
<mml:math id="m108">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf96">
<mml:math id="m109">
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> are neighboring, the plane <inline-formula id="inf97">
<mml:math id="m110">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> covers their shared facet, but otherwise&#x2014;e.g., when one of the cells is empty&#x2014;the plane <inline-formula id="inf98">
<mml:math id="m111">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> does not have a correspondence in the tessellation. The total discrepancy <inline-formula id="inf99">
<mml:math id="m112">
<mml:mi>D</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="double-struck">G</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> was then obtained as the average of squared distances between the test points <inline-formula id="inf100">
<mml:math id="m113">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to the plane <inline-formula id="inf101">
<mml:math id="m114">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> for all neighboring grains; more precisely,<disp-formula id="equ8">
<mml:math id="m115">
<mml:mi>D</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtable class="subarray-c" columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>grains&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mtext>&#x2009;neighboring&#x2009;</mml:mtext>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:munder>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">dist</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where <italic>n</italic>
<sub>T</sub> is the total number of test points for all neighboring grains, and dist(<italic>x</italic>, <italic>P</italic>) is the shortest Euclidean distance of the point <italic>x</italic> to a point on the plane <italic>P</italic>. The resulting minimization problem is rather high-dimensional and non-convex. For this reason, in <xref ref-type="bibr" rid="B31">Spettl et&#x20;al. (2016)</xref> a global stochastic optimization technique was employed&#x2014;namely, the cross-entropy method (<xref ref-type="bibr" rid="B24">Rubinstein and Kroese, 2004</xref>)&#x2014;to escape local minima of the objective function. In the present paper, the same values for the parameters of the algorithm as proposed by Spettl et&#x20;al. were used (see <xref ref-type="bibr" rid="B31">Spettl et&#x20;al. (2016)</xref> for a full list).</p>
</sec>
<sec id="s2-4-2">
<title>2.4.2 GBPD Fitting Using a Direct Approach</title>
<p>A quite different approach, this time for fitting GBPDs, was proposed in <xref ref-type="bibr" rid="B33">Teferra and Rowenhorst (2018)</xref> (which is referred to as the direct approach in the following). In <xref ref-type="sec" rid="s3">Section 3</xref>, we will employ this method as a baseline comparison to our gradient-based fitting method. With the direct approach no optimization was performed, but rather formulas for directly estimating the tessellation parameters were presented, which leads to a very fast heuristic to fit GBPDs. This was achieved by determining the generators (<italic>s</italic>
<sub>
<italic>i</italic>
</sub>, <italic>M</italic>
<sub>
<italic>i</italic>
</sub>, <italic>w</italic>
<sub>
<italic>i</italic>
</sub>) of the <italic>i</italic>-th cell only by considering the <italic>i</italic>-th grain and without knowledge of the other grains/cells: The seed point <italic>s</italic>
<sub>
<italic>i</italic>
</sub> was set to the center of mass of the grain, and the distance matrix <italic>M</italic>
<sub>
<italic>i</italic>
</sub> was computed from the covariance matrix of its voxel coordinates. Since the isosurface of the GBPD distance function <inline-formula id="inf102">
<mml:math id="m116">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</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:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</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>M</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>w</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>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</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:mrow>
<mml:mo>&#x22a4;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi>M</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:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</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:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> can be considered as an ellipsoid, the additive weights were computed by equating the volume of this ellipsoid to that of the <italic>i</italic>-th grain. Note that this approach is similar to the one proposed in <xref ref-type="bibr" rid="B17">Lyckegaard et&#x20;al. (2011)</xref> for Laguerre tessellations.</p>
</sec>
</sec>
</sec>
<sec id="s3">
<title>3 Results</title>
<p>In order to evaluate the gradient descent-based fitting method described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, we applied it to several different image datasets using the following procedure. First, initial Laguerre generators were determined by the cross-entropy approach developed in <xref ref-type="bibr" rid="B31">Spettl et&#x20;al. (2016)</xref> (see <xref ref-type="sec" rid="s2-4-1">Section 2.4.1</xref>). Then, tessellation models with increasing complexity were successively fitted, using the generators of a simpler tessellation model as the initial parameter configuration. Here, any parameters that were not part of the simpler model were initialized with default values: For example, when optimizing the fit of a multiplicatively weighted Laguerre tessellation based on the generators of a fitted Laguerre tessellation, the multiplicative weights were set equal to 1; in the case of a diagonal GBPD, each diagonal matrix was filled with a value equal to the corresponding multiplicative weight. For purposes of comparison, we independently applied the direct approach of <xref ref-type="bibr" rid="B33">Teferra and Rowenhorst (2018)</xref> to each image dataset (see <xref ref-type="sec" rid="s2-4-2">Section&#x20;2.4.2</xref>).</p>
<sec id="s3-1">
<title>3.1 Performance Measures</title>
<p>To evaluate the goodness of fit of the tessellation <inline-formula id="inf103">
<mml:math id="m117">
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> fitted to the foreground voxels <inline-formula id="inf104">
<mml:math id="m118">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of the ground truth image data <inline-formula id="inf105">
<mml:math id="m119">
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> (with <inline-formula id="inf106">
<mml:math id="m120">
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>), we consider various performance measures. The fraction of correctly assigned voxels is given by<disp-formula id="equ9">
<mml:math id="m121">
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>Similarly, the fraction of correctly assigned boundary voxels is defined as<disp-formula id="equ10">
<mml:math id="m122">
<mml:msubsup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where<disp-formula id="equ11">
<mml:math id="m123">
<mml:mtable class="align-star" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>{</mml:mo>
<mml:mfenced open="{" close="">
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>:</mml:mo>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msqrt>
<mml:mtext>&#x2009;and&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mtext>for&#x2009;some&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mtext>&#x2009;and&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mfenced open="" close="}">
</mml:mfenced>
<mml:mo>}</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>are the coordinates of the <italic>n</italic>
<sub>B</sub> grain boundary voxels (with respect to the 26-neighborhood, where the voxels <italic>x</italic>
<sub>1</sub>, <italic>x</italic>
<sub>2</sub> are neighbors if <inline-formula id="inf107">
<mml:math id="m124">
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msqrt>
</mml:math>
</inline-formula>). Moreover, note that the fraction of empty cells <italic>F</italic>
<sub>0</sub> can be written as<disp-formula id="equ12">
<mml:math id="m125">
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mn mathvariant="double-struck">1</mml:mn>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mtext>&#x2009;for&#x2009;all&#x2009;</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where <inline-formula id="inf108">
<mml:math id="m126">
<mml:mn mathvariant="double-struck">1</mml:mn>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> denotes the indicator function. Furthermore, consider the set of all grains that are a neighbor of the <italic>i</italic>-th grain in the ground truth image data (with respect to the 6-neighborhood of each voxel, where the voxels <italic>x</italic>
<sub>1</sub>, <italic>x</italic>
<sub>2</sub> are neighbors if &#x2016;<italic>x</italic>
<sub>1</sub> &#x2212; <italic>x</italic>
<sub>2</sub>&#x2016; &#x2264; 1),<disp-formula id="equ13">
<mml:math id="m127">
<mml:mtable class="align-star" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>{</mml:mo>
<mml:mfenced open="{" close="">
</mml:mfenced>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mtext>&#x2009;for&#x2009;any&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mtext>&#x2009;with&#x2009;</mml:mtext>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi>i</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>&#x2113;</mml:mi>
<mml:mfenced open="" close="}">
</mml:mfenced>
<mml:mo>}</mml:mo>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>the set of all cells that are a neighbor of the <italic>i</italic>-th tessellation cell, <inline-formula id="inf109">
<mml:math id="m128">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> (defined analogously), and the resulting set of correctly assigned neighbors, <inline-formula id="inf110">
<mml:math id="m129">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2229;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>. Then, the fraction of cells for which all cell neighbors are correct can be written as<disp-formula id="equ14">
<mml:math id="m130">
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mn mathvariant="double-struck">1</mml:mn>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>and the mean number of incorrect cell neighbors is<disp-formula id="equ15">
<mml:math id="m131">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x23;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x23;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where <italic>&#x23;</italic> denotes cardinality. These performance measures were calculated for simulated and experimental image data with both smooth and rough grain boundaries (see <xref ref-type="sec" rid="s3-3">Sections 3.2,&#x20;3.3</xref>).</p>
</sec>
<sec id="s3-2">
<title>3.2 Simulated Data</title>
<p>In this section, the fitting of tessellations to simulated image data is investigated. This allows us to study scenarios in which, in principle, the tessellations can perfectly describe the image data, which is usually not the case for experimental data. Apart from that, it is also possible to simulate the effect of noisy image data while still having access to the true grain boundaries.</p>
<sec id="s3-2-1">
<title>3.2.1 Smooth Grain Boundaries</title>
<p>As a first step, the performance of the fitting procedure described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref> is evaluated for simulated data having smooth grain boundaries&#x2014;more precisely, for a (discretized) realization of a random multiplicatively weighted Laguerre tessellation. Since a tessellation of the same type (among others) was fitted to the simulated image dataset, it is clear that theoretically a perfect match could have been achieved. However, whether or not this global optimum is actually found depends strongly on the initial generators. In the present investigation, we made sure that no information leaked from the generation of the simulated image data to the choice of initial generators (apart from the image data, of course).</p>
<p>The tessellation underlying the simulated data was created as follows in the cubic sampling window <inline-formula id="inf111">
<mml:math id="m132">
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,299</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. The seed points <inline-formula id="inf112">
<mml:math id="m133">
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</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:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> were a realization of a Mat&#xe9;rn hardcore process with (overall) intensity <italic>&#x3bb;</italic>
<sub>sim</sub> &#x3e; 0 and hardcore radius <italic>r</italic>
<sub>sim</sub> &#x3e; 0. We refer to <xref ref-type="bibr" rid="B9">Chiu et&#x20;al. (2013)</xref> for additional details. The weights were then independently drawn: in the case of additive weights <inline-formula id="inf113">
<mml:math id="m134">
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>w</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:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, from a (0, <italic>&#x221e;</italic>)-truncated normal distribution with (untruncated) mean <italic>&#x3bc;</italic>
<sub>sim</sub> &#x3e; 0 and variance <inline-formula id="inf114">
<mml:math id="m135">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
</inline-formula>, and, in the case of multiplicative weights <inline-formula id="inf115">
<mml:math id="m136">
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>m</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:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, from an inverse gamma distribution with shape parameter <italic>&#x3b1;</italic>
<sub>sim</sub> &#x3e; 0 and scale parameter <italic>&#x3b2;</italic>
<sub>sim</sub> &#x3e; 0. To mitigate boundary effects, the seed point process was simulated in a larger window, and only those generators whose cell was located at least partly within the actual simulation window were retained (this procedure is called plus-sampling in the literature&#x2014;see e.g. <xref ref-type="bibr" rid="B9">Chiu et&#x20;al. (2013)</xref>).</p>
<p>In our case, the parameters of the random tessellation model were set as follows: <italic>&#x3bb;</italic>
<sub>sim</sub> &#x3d; 0.0000205, <italic>r</italic>
<sub>sim</sub> &#x3d; 14.1, <italic>&#x3bc;</italic>
<sub>sim</sub> &#x3d; 27.4, <inline-formula id="inf116">
<mml:math id="m137">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9.25</mml:mn>
</mml:math>
</inline-formula>, <italic>&#x3b1;</italic>
<sub>sim</sub> &#x3d; 1.5 and <italic>&#x3b2;</italic>
<sub>sim</sub> &#x3d; 0.0939. In total, the resulting realization had <italic>n</italic>
<sub>GT</sub> &#x3d; 1073 cells and was discretized in the window <inline-formula id="inf117">
<mml:math id="m138">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>299</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> by assigning each voxel a label associated with the simulated cell in which the corresponding voxel coordinate is located. This is described by the mapping <inline-formula id="inf118">
<mml:math id="m139">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, the values of which are hereafter referred to as <italic>smooth simulated image data</italic>. All voxels were considered during the fitting (i.e.,&#x20;<inline-formula id="inf119">
<mml:math id="m140">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>).</p>
<p>Once the simulated image dataset was obtained, different tessellation models were successively fitted to it, and their goodness of fit was evaluated using the performance measures from <xref ref-type="sec" rid="s3-1">Section 3.1</xref>. A schematic overview of this procedure is depicted in <xref ref-type="fig" rid="F2">Figure&#x20;2</xref>. A visual comparison of the ground truth image data and the fits is given in <xref ref-type="fig" rid="F3">Figure&#x20;3</xref>, whereas numerical fitting results are presented in <xref ref-type="table" rid="T1">Table&#x20;1</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Schematic overview of the fitting of tessellations to simulated image data having smooth grain boundaries and validation of the resulting fits. Orthogonal 2D slices through 3D datasets are&#x20;shown.</p>
</caption>
<graphic xlink:href="fmats-08-760602-g002.tif"/>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Two-dimensional slices through <bold>(A)</bold> the simulated ground truth image data and the corresponding fitted tessellations: <bold>(B)</bold>&#x2013;<bold>(E)</bold> were obtained by the gradient descent-based method described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, whereas <bold>(F)</bold> followed from the direct approach described in <xref ref-type="sec" rid="s2-4-2">Section 2.4.2</xref>.</p>
</caption>
<graphic xlink:href="fmats-08-760602-g003.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Values of performance measures for various tessellation models fitted to the smooth simulated image data, considering the fraction of correctly assigned voxels <italic>F</italic>
<sub>c</sub>, the fraction of correctly assigned boundary voxels <inline-formula id="inf120">
<mml:math id="m141">
<mml:msubsup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, the fraction of empty cells <italic>F</italic>
<sub>0</sub>, the fraction of cells for which all cell neighbors are correct <italic>N</italic>
<sub>0</sub>, and the mean number of incorrect cell neighbors <inline-formula id="inf121">
<mml:math id="m142">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>. The fits were obtained by the cross-entropy approach (&#x201c;initial configuration&#x201d;) described in <xref ref-type="sec" rid="s2-4-1">Section 2.4.1</xref>, the gradient descent-based approach described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, and the &#x201c;direct approach&#x201d; described in <xref ref-type="sec" rid="s2-4-2">Section 2.4.2</xref>.</p>
</caption>
<table>
<thead>
<tr>
<td align="left"/>
<td align="center">
<italic>F</italic>
<sub>c</sub>
</td>
<td align="center">
<inline-formula id="inf122">
<mml:math id="m143">
<mml:msubsup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">
<italic>F</italic>
<sub>0</sub>
</td>
<td align="center">
<italic>N</italic>
<sub>0</sub>
</td>
<td align="center">
<inline-formula id="inf123">
<mml:math id="m144">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Laguerre (initial configuration)</td>
<td align="char" char=".">0.516</td>
<td align="char" char=".">0.324</td>
<td align="char" char=".">0.005</td>
<td align="char" char=".">0.064</td>
<td align="char" char=".">6.289</td>
</tr>
<tr>
<td align="left">Laguerre</td>
<td align="char" char=".">0.802</td>
<td align="char" char=".">0.562</td>
<td align="char" char=".">0.036</td>
<td align="char" char=".">0.114</td>
<td align="char" char=".">3.290</td>
</tr>
<tr>
<td align="left">Multiplicatively weighted Laguerre</td>
<td align="char" char=".">0.987</td>
<td align="char" char=".">0.948</td>
<td align="char" char=".">0.058</td>
<td align="char" char=".">0.587</td>
<td align="char" char=".">0.634</td>
</tr>
<tr>
<td align="left">Diagonal GBPD</td>
<td align="char" char=".">0.988</td>
<td align="char" char=".">0.952</td>
<td align="char" char=".">0.056</td>
<td align="char" char=".">0.644</td>
<td align="char" char=".">0.529</td>
</tr>
<tr>
<td align="left">GBPD</td>
<td align="char" char=".">0.979</td>
<td align="char" char=".">0.909</td>
<td align="char" char=".">0.055</td>
<td align="char" char=".">0.579</td>
<td align="char" char=".">0.624</td>
</tr>
<tr>
<td align="left">GBPD (direct approach)</td>
<td align="char" char=".">0.824</td>
<td align="char" char=".">0.551</td>
<td align="char" char=".">0.004</td>
<td align="char" char=".">0.271</td>
<td align="char" char=".">1.392</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-2-2">
<title>3.2.2 Perturbed Grain Labels</title>
<p>One of the main goals of the present paper is to investigate the fitting of tessellations to image data containing rough grain boundaries&#x2014;which may result, for example, from measurement uncertainties. For an in-depth analysis of this scenario, the grain labels of the simulated image data from <xref ref-type="sec" rid="s3-2-1">Section 3.2.1</xref> were perturbed such that the originally smooth boundaries exhibited a similar degree of roughness as in the experimental image data. With this approach, it was possible to vary the intensity of the perturbation and to study the robustness of the fitting even for degrees of boundary roughness well beyond that observed in experiment. Another benefit was the ability to evaluate the goodness of fit with respect to the (true) smooth grain boundaries instead of with respect to the perturbed grain boundaries that were input to the fitting procedure (<xref ref-type="fig" rid="F4">Figure&#x20;4</xref>).</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Schematic overview of the generation of perturbed simulated grain labels and validation of their fits. Orthogonal 2D slices through 3D datasets are&#x20;shown.</p>
</caption>
<graphic xlink:href="fmats-08-760602-g004.tif"/>
</fig>
<p>Intuitively, the perturbed simulated image data was generated by computing a binary image of the grain boundaries from the smooth simulated image <italic>I</italic>
<sub>sim</sub> considered in <xref ref-type="sec" rid="s3-2-1">Section 3.2.1</xref>. Then, the grain boundaries were blurred. The resulting grayscale image was used to define probabilities with which the grain labels of voxels in <italic>I</italic>
<sub>sim</sub> were reassigned to labels drawn from each voxel&#x2019;s near vicinity. This way, a grain label is most likely to be changed when a voxel is located near a grain boundary, while the labels of voxels closer to a grain center will usually remain unchanged. A similar tendency is evident in the raw experimental data (<xref ref-type="fig" rid="F1">Figure&#x20;1</xref>).</p>
<p>More precisely, the perturbation probabilities were obtained as follows. First, a &#x2018;subvoxel&#x2019; boundary image <inline-formula id="inf124">
<mml:math id="m145">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> of the smooth simulated image <italic>I</italic>
<sub>sim</sub> was computed according to<disp-formula id="equ16">
<mml:math id="m146">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>1</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>if&#x2009;</mml:mtext>
<mml:mi>&#x23;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>0</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>otherwise,</mml:mtext>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>with<disp-formula id="equ17">
<mml:math id="m147">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mtext>&#x2009;if&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;odd,&#x2009;and&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mtext>&#x2009;if&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;even</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2,3</mml:mn>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:math>
</disp-formula>for <inline-formula id="inf125">
<mml:math id="m148">
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>598</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. This means <italic>I</italic>
<sub>b</sub>(<italic>y</italic>) is labeled as a boundary voxel whenever the set <inline-formula id="inf126">
<mml:math id="m149">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> contains at least two distinct grain labels. Effectively, this amounts to assigning boundary locations by considering an upsampled version of <italic>I</italic>
<sub>sim</sub> with nearly twice the number of voxels in each spatial dimension. So, if two neighboring voxels in <italic>I</italic>
<sub>sim</sub> have different labels, a boundary is drawn between these voxels in <italic>I</italic>
<sub>b</sub>&#x2014;see <xref ref-type="fig" rid="F5">Figure&#x20;5</xref>. Next, a Gaussian blur (<xref ref-type="bibr" rid="B25">Russ and Neal, 2017</xref>) with standard deviation <italic>&#x3c3;</italic> &#x2265; 0 (where <italic>&#x3c3;</italic> &#x3d; 0 implies no blurring) was applied to the boundary image <italic>I</italic>
<sub>b</sub> to obtain the blurred boundary image <inline-formula id="inf127">
<mml:math id="m150">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Here, the values of voxels in <inline-formula id="inf128">
<mml:math id="m151">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> are scaled such that their minimum and maximum are equal to 0 and 1, respectively. Since <italic>&#x3c3;</italic> determines how far into a grain the perturbations occur, we call it the perturbation spread. Finally, the perturbation probability image <inline-formula id="inf129">
<mml:math id="m152">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> was acquired by a subsequent downsampling to the original resolution of <italic>I</italic>
<sub>sim</sub>:<disp-formula id="equ18">
<mml:math id="m153">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>for <inline-formula id="inf130">
<mml:math id="m154">
<mml:mi>x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. During this calculation, values outside the domain of <italic>I</italic>
<sub>blur</sub> were set equal to&#x20;0.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Two-dimensional example of <bold>(A)</bold> a 3 &#xd7; 3-pixel grain label image <italic>I</italic>
<sub>sim</sub> with three grain labels (green, red and blue) and <bold>(B)</bold> its &#x201c;subvoxel&#x201d; boundary image <italic>I</italic>
<sub>b</sub>. Two pixels of the boundary image (one at location (3, 1) and another at (1, 4)) are superimposed on their corresponding locations in the grain label image (dotted squares). Effectively, the set <inline-formula id="inf131">
<mml:math id="m155">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> contains all grain labels covered by these shifted pixels. The cardinality of the set <inline-formula id="inf132">
<mml:math id="m156">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1,4</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is therefore 2, whereas <inline-formula id="inf133">
<mml:math id="m157">
<mml:mi>&#x23;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>3,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:math>
</inline-formula>. If the indices specifying the location of a pixel in the boundary image are all even, this pixel lies entirely within the bounds of a single pixel in the grain label image; consequently, the cardinality of <inline-formula id="inf134">
<mml:math id="m158">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is always 1, and the pixel in <italic>I</italic>
<sub>b</sub> will always be assigned the value of zero (shaded black in the boundary image).</p>
</caption>
<graphic xlink:href="fmats-08-760602-g005.tif"/>
</fig>
<p>The smooth simulated image <italic>I</italic>
<sub>sim</sub> was perturbed by considering the random variables <italic>Z</italic>
<sub>
<italic>x</italic>
</sub> with values in {1, <italic>&#x2026;</italic>, <italic>n</italic>
<sub>GT</sub>} such that<disp-formula id="equ19">
<mml:math id="m159">
<mml:msub>
<mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>with&#x2009;probability&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mtext>with&#x2009;probability&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>for each voxel <inline-formula id="inf135">
<mml:math id="m160">
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, where <italic>y</italic> is the closest voxel in <italic>I</italic>
<sub>sim</sub> to <italic>x</italic> for which <italic>I</italic>
<sub>sim</sub>(<italic>y</italic>) &#x2260; <italic>I</italic>
<sub>sim</sub>(<italic>x</italic>) (ties are broken by choosing a grain label uniformly at random). We assume that all <italic>Z</italic>
<sub>
<italic>x</italic>
</sub> are stochastically independent of each other. The perturbation <inline-formula id="inf136">
<mml:math id="m161">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">G</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> of the smooth simulated image <italic>I</italic>
<sub>sim</sub> was then obtained as a realization of the random variables <inline-formula id="inf137">
<mml:math id="m162">
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. Note that <italic>I</italic>
<sub>pert</sub> is a function of the perturbation spread <italic>&#x3c3;</italic> &#x2265; 0 and that, even for the case <italic>&#x3c3;</italic> &#x3d; 0, perturbations can still occur within a voxel of the grain boundaries, as <italic>I</italic>
<sub>prob</sub> can take non-zero values. Since there were no background voxels in <italic>I</italic>
<sub>pert</sub>, we set <inline-formula id="inf138">
<mml:math id="m163">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
<p>Several different values of the perturbation spread <italic>&#x3c3;</italic> are considered in the present paper. In <xref ref-type="fig" rid="F6">Figures 6</xref>, <xref ref-type="fig" rid="F2">2D</xref> slices through the resulting perturbed simulated image data are shown. For each of these datasets the same fittings as in the&#x20;previous section were performed. As the perturbations are assumed to have originated from measurement errors, the fits were compared to the smooth image data instead of&#x20;evaluating the goodness of fit with respect to the perturbed image data (cf. <xref ref-type="fig" rid="F4">Figure&#x20;4</xref>). The dependence of the quality of fit on the perturbation spread <italic>&#x3c3;</italic> is visualized in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>. For <italic>&#x3c3;</italic> &#x3d; 1, a visual comparison of the fitted tessellations to the smooth simulated image data is shown in <xref ref-type="fig" rid="F8">Figure&#x20;8</xref>, whereas in <xref ref-type="table" rid="T2">Table&#x20;2</xref> numerical fitting results are&#x20;given.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Two-dimensional slices through the simulated image data <italic>I</italic>
<sub>sim</sub> following perturbation of the latter with <italic>I</italic>
<sub>pert</sub>, shown in <bold>(A&#x2013;F)</bold> for different values of the perturbation spread <italic>&#x3c3;</italic> &#x2265; 0.</p>
</caption>
<graphic xlink:href="fmats-08-760602-g006.tif"/>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Fraction of correctly assigned voxels plotted against the perturbation spread <italic>&#x3c3;</italic>, evaluated for all voxels in the image dataset and for the boundary voxels.</p>
</caption>
<graphic xlink:href="fmats-08-760602-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Two-dimensional slices through <bold>(A)</bold> the smooth simulated image <italic>I</italic>
<sub>sim</sub> and <bold>(B)</bold>&#x2013;<bold>(F)</bold> tessellations fitted to the perturbed simulated image data <italic>I</italic>
<sub>pert</sub> with <italic>&#x3c3;</italic> &#x3d; 1. The fits in <bold>(B)</bold>&#x2013;<bold>(E)</bold> were obtained by the gradient descent-based method described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, whereas (<bold>F</bold>) followed from the direct approach described in <xref ref-type="sec" rid="s2-4-2">Section 2.4.2</xref>.</p>
</caption>
<graphic xlink:href="fmats-08-760602-g008.tif"/>
</fig>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Values of performance measures for various tessellation models fitted to the perturbed simulated image <italic>I</italic>
<sub>pert</sub> with <italic>&#x3c3;</italic> &#x3d; 1 and evaluated with respect to the smooth simulated image <italic>I</italic>
<sub>sim</sub>.</p>
</caption>
<table>
<thead>
<tr>
<td align="left"/>
<td align="center">
<italic>F</italic>
<sub>c</sub>
</td>
<td align="center">
<inline-formula id="inf139">
<mml:math id="m164">
<mml:msubsup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">
<italic>F</italic>
<sub>0</sub>
</td>
<td align="center">
<italic>N</italic>
<sub>0</sub>
</td>
<td align="center">
<inline-formula id="inf140">
<mml:math id="m165">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Laguerre (initial configuration)</td>
<td align="char" char=".">0.505</td>
<td align="char" char=".">0.318</td>
<td align="char" char=".">0.006</td>
<td align="char" char=".">0.062</td>
<td align="char" char=".">6.222</td>
</tr>
<tr>
<td align="left">Laguerre</td>
<td align="char" char=".">0.796</td>
<td align="char" char=".">0.546</td>
<td align="char" char=".">0.036</td>
<td align="char" char=".">0.130</td>
<td align="char" char=".">3.236</td>
</tr>
<tr>
<td align="left">Multiplicatively weighted Laguerre</td>
<td align="char" char=".">0.941</td>
<td align="char" char=".">0.761</td>
<td align="char" char=".">0.083</td>
<td align="char" char=".">0.376</td>
<td align="char" char=".">1.118</td>
</tr>
<tr>
<td align="left">Diagonal GBPD</td>
<td align="char" char=".">0.940</td>
<td align="char" char=".">0.757</td>
<td align="char" char=".">0.063</td>
<td align="char" char=".">0.427</td>
<td align="char" char=".">0.980</td>
</tr>
<tr>
<td align="left">GBPD</td>
<td align="char" char=".">0.951</td>
<td align="char" char=".">0.792</td>
<td align="char" char=".">0.050</td>
<td align="char" char=".">0.486</td>
<td align="char" char=".">0.781</td>
</tr>
<tr>
<td align="left">GBPD (direct approach)</td>
<td align="char" char=".">0.822</td>
<td align="char" char=".">0.549</td>
<td align="char" char=".">0.002</td>
<td align="char" char=".">0.286</td>
<td align="char" char=".">1.349</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s3-3">
<title>3.3 Experimental Data</title>
<p>In this section, the fitting method described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref> is tested with realistic grain boundaries. For this purpose, experimental image data obtained from a 3DXRD mapping of an AlCu sample (<xref ref-type="sec" rid="s2-1">Section 2.1</xref>) was used. As with the simulated data of <xref ref-type="sec" rid="s3-2">Section 3.2</xref>, we first consider image data with smooth grain boundaries before tackling a dataset with rougher boundaries (<xref ref-type="fig" rid="F1">Figure&#x20;1</xref>). The goal is to assess the robustness of the fitting procedure with respect to real-world grain boundary perturbations&#x2014;originating, e.g., from measurement uncertainties&#x2014;and also to determine whether the custom of preprocessing raw experimental image data to obtain smoother (and, thus, physically more sensible) grain boundaries prior to fitting is actually necessary.</p>
<sec id="s3-3-1">
<title>3.3.1 Smoothed Grain Boundaries</title>
<p>The image <italic>I</italic>
<sub>E,smooth</sub> gained from an AlCu sample exhibits smooth grain boundaries after being preprocessed with a phase field algorithm (<xref ref-type="sec" rid="s2-1">Section 2.1</xref>). Tessellation fitting was performed with respect to all foreground voxels <inline-formula id="inf141">
<mml:math id="m166">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</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>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. The numerical results of the fitting are presented in <xref ref-type="table" rid="T3">Table&#x20;3</xref>. Because 2D slices through these fitted tessellations were found to be qualitatively similar to those shown in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>&#x2014;which were obtained from fits to the raw experimental map&#x2014;we omit the images of tessellations fitted to the smoothed experimental&#x20;data.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Values of performance measures for various tessellation models fitted to the smoothed experimental image&#x20;data.</p>
</caption>
<table>
<thead>
<tr>
<td align="left"/>
<td align="center">
<italic>F</italic>
<sub>c</sub>
</td>
<td align="center">
<inline-formula id="inf142">
<mml:math id="m167">
<mml:msubsup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">
<italic>F</italic>
<sub>0</sub>
</td>
<td align="center">
<italic>N</italic>
<sub>0</sub>
</td>
<td align="center">
<inline-formula id="inf143">
<mml:math id="m168">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Laguerre (initial configuration)</td>
<td align="char" char=".">0.595</td>
<td align="char" char=".">0.373</td>
<td align="char" char=".">0.000</td>
<td align="char" char=".">0.089</td>
<td align="char" char=".">3.219</td>
</tr>
<tr>
<td align="left">Laguerre</td>
<td align="char" char=".">0.845</td>
<td align="char" char=".">0.566</td>
<td align="char" char=".">0.021</td>
<td align="char" char=".">0.293</td>
<td align="char" char=".">1.266</td>
</tr>
<tr>
<td align="left">Multiplicatively weighted Laguerre</td>
<td align="char" char=".">0.936</td>
<td align="char" char=".">0.688</td>
<td align="char" char=".">0.050</td>
<td align="char" char=".">0.446</td>
<td align="char" char=".">0.993</td>
</tr>
<tr>
<td align="left">Diagonal GBPD</td>
<td align="char" char=".">0.955</td>
<td align="char" char=".">0.758</td>
<td align="char" char=".">0.031</td>
<td align="char" char=".">0.543</td>
<td align="char" char=".">0.779</td>
</tr>
<tr>
<td align="left">GBPD</td>
<td align="char" char=".">0.970</td>
<td align="char" char=".">0.831</td>
<td align="char" char=".">0.047</td>
<td align="char" char=".">0.624</td>
<td align="char" char=".">0.679</td>
</tr>
<tr>
<td align="left">GBPD (direct approach)</td>
<td align="char" char=".">0.903</td>
<td align="char" char=".">0.619</td>
<td align="char" char=".">0.000</td>
<td align="char" char=".">0.324</td>
<td align="char" char=".">1.163</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Two-dimensional slices through <bold>(A)</bold> the raw experimental ground truth image data and <bold>(B)</bold>&#x2013;<bold>(F)</bold> the corresponding fitted tessellations. The fits in <bold>(B)</bold>&#x2013;<bold>E)</bold> were obtained by the gradient descent-based method described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, whereas <bold>(F)</bold> followed from the direct approach described in <xref ref-type="sec" rid="s2-4-2">Section 2.4.2</xref>. Note that the 2D slice shown in <bold>(A)</bold> differs from that shown in <xref ref-type="fig" rid="F1">Figure&#x20;1A</xref>.</p>
</caption>
<graphic xlink:href="fmats-08-760602-g009.tif"/>
</fig>
</sec>
<sec id="s3-3-2">
<title>3.3.2 Raw Grain Boundaries</title>
<p>The raw experimental image data, described by the mapping <italic>I</italic>
<sub>E,raw</sub> (see <xref ref-type="sec" rid="s2-1">Section 2.1</xref>), was not subjected to the phase field smoothing step following tomographic reconstruction of the 3DXRD measurement. For this reason, artifacts attributable to measurement uncertainties are visible at and near the grain boundaries (cf. <xref ref-type="fig" rid="F1">Figure&#x20;1A</xref>). In contrast to the fitting of tessellations to the perturbed simulated image data of <xref ref-type="sec" rid="s3-2-2">Section 3.2.2</xref>, in the present case we evaluate the quality of fit with respect to the same data that was used as the input dataset (i.e.,&#x20;the raw experimental map). One might consider treating <italic>I</italic>
<sub>E,smooth</sub> as a good approximation of the true, unobserved grain boundaries; however, since some grains were removed by the smoothing step, the number of grains in the &#x2018;reference&#x2019; dataset would differ from the number of cells in the fitted tessellations. As a result, the performance measures of <xref ref-type="sec" rid="s3-1">Section 3.1</xref> would no longer be applicable. A visual comparison of the fits to the raw experimental image data is shown in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>, and the numerical results are presented in <xref ref-type="table" rid="T4">Table&#x20;4</xref>. Here, all foreground voxels <inline-formula id="inf144">
<mml:math id="m169">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">h</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>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> were considered during the fitting.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Values of performance measures for various tessellation models fitted to the raw experimental image&#x20;data.</p>
</caption>
<table>
<thead>
<tr>
<td align="left"/>
<td align="center">
<italic>F</italic>
<sub>c</sub>
</td>
<td align="center">
<inline-formula id="inf145">
<mml:math id="m170">
<mml:msubsup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">
<italic>F</italic>
<sub>0</sub>
</td>
<td align="center">
<italic>N</italic>
<sub>0</sub>
</td>
<td align="center">
<inline-formula id="inf146">
<mml:math id="m171">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Laguerre (initial configuration)</td>
<td align="char" char=".">0.595</td>
<td align="char" char=".">0.378</td>
<td align="char" char=".">0.000</td>
<td align="char" char=".">0.101</td>
<td align="char" char=".">3.221</td>
</tr>
<tr>
<td align="left">Laguerre</td>
<td align="char" char=".">0.846</td>
<td align="char" char=".">0.576</td>
<td align="char" char=".">0.021</td>
<td align="char" char=".">0.288</td>
<td align="char" char=".">1.316</td>
</tr>
<tr>
<td align="left">Multiplicatively weighted Laguerre</td>
<td align="char" char=".">0.935</td>
<td align="char" char=".">0.696</td>
<td align="char" char=".">0.053</td>
<td align="char" char=".">0.443</td>
<td align="char" char=".">0.987</td>
</tr>
<tr>
<td align="left">Diagonal GBPD</td>
<td align="char" char=".">0.951</td>
<td align="char" char=".">0.754</td>
<td align="char" char=".">0.044</td>
<td align="char" char=".">0.510</td>
<td align="char" char=".">0.847</td>
</tr>
<tr>
<td align="left">GBPD</td>
<td align="char" char=".">0.966</td>
<td align="char" char=".">0.820</td>
<td align="char" char=".">0.045</td>
<td align="char" char=".">0.622</td>
<td align="char" char=".">0.652</td>
</tr>
<tr>
<td align="left">GBPD (direct approach)</td>
<td align="char" char=".">0.901</td>
<td align="char" char=".">0.627</td>
<td align="char" char=".">0.000</td>
<td align="char" char=".">0.329</td>
<td align="char" char=".">1.146</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
</sec>
<sec id="s4">
<title>4 Discussion</title>
<sec id="s4-1">
<title>4.1 Fitting Results</title>
<p>As seen in <xref ref-type="sec" rid="s3-2-1">Section 3.2.1</xref>, the fitted multiplicatively weighted Laguerre tessellation, the diagonal GBPD and the GBPD matched the smooth simulated image data very well, and a near perfect voxelwise accuracy was obtained. Between these tessellation models, there were only minor differences in the goodness of fit. Most notably, the GBPD was slightly worse at reconstructing the boundary voxels (see <xref ref-type="table" rid="T1">Table&#x20;1</xref>). Nevertheless, no significant decline in goodness of fit was observed even for the tessellation models that employ more parameters than necessary to describe the ground truth image data (which was generated from a multiplicatively weighted Laguerre tessellation). Furthermore, except for the number of empty cells, the gradient descent-based fitting procedure described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref> achieved a notably better fit than the good results obtained by the direct approach of <xref ref-type="bibr" rid="B33">Teferra and Rowenhorst (2018)</xref> (see <xref ref-type="sec" rid="s2-4-2">Section 2.4.2</xref>). On the other hand, in light of the results given in <xref ref-type="table" rid="T1">Table&#x20;1</xref> for the initial Laguerre tessellation and the improved generators that resulted from the fitting procedure of <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, it is clear that the Laguerre tessellations with their flat boundaries (see <xref ref-type="fig" rid="F3">Figure&#x20;3B</xref>) lacked sufficient flexibility for an accurate reconstruction of the ground truth data. However, the gradient descent-based fitting procedure still managed to bring about a significant improvement compared to the initial generators from the cross-entropy approach. This can likely be traced to the fact that the gradient descent-based approach considers a volume-based objective function (see <xref ref-type="sec" rid="s2-3">Section 2.3</xref>) rather than an interface-based one (see <xref ref-type="sec" rid="s2-4-1">Section 2.4.1</xref>). In general, we cannot expect to solve such a high-dimensional optimization problem by finding its global optimum; this would be equivalent to finding a perfect reconstruction of the multiplicatively weighted Laguerre tessellation that underlays the ground truth image data. Nevertheless, the fitted tessellations were quite close to the optimum, despite having been obtained by a local optimization method.</p>
<p>When it comes to the perturbed simulated image data investigated in <xref ref-type="sec" rid="s3-2-2">Section 3.2.2</xref>, it is somewhat surprising how well the voxels of the smooth simulated image data could be reconstructed even from very noisy input image data (see <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>). As the same effect is observed for all three fitting methods considered in the present paper&#x2014;i.e.,&#x20;the cross-entropy approach (<xref ref-type="sec" rid="s2-4-1">Section 2.4.1</xref>), the direct approach (<xref ref-type="sec" rid="s2-4-2">Section 2.4.2</xref>), and the gradient descent-based method (<xref ref-type="sec" rid="s2-3">Section 2.3</xref>)&#x2014;we attribute this robustness against perturbations to the inherent smoothing property of tessellations. Another observation that might surprise is the finding that the results for the direct approach were practically independent of the perturbation spread <italic>&#x3c3;</italic>, but, just as in the case of the smooth simulated dataset, the gradient descent-based fitting procedure of <xref ref-type="sec" rid="s2-3">Section 2.3</xref> was able to surpass the direct method. The proposed method also achieved a better accuracy of the boundary voxels. In the latter case, however, some degradation could be observed with increasing <italic>&#x3c3;</italic>. Some part of this degradation can be explained by the fact that a procedure producing more accurate approximations of the grain boundaries in the first place is going to be more sensitive to noise in the grain boundaries. Naturally, the deterioration in the fit of the boundary voxels also influences the considered grain neighborhood characteristics <italic>N</italic>
<sub>0</sub> and <inline-formula id="inf147">
<mml:math id="m172">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>&#x2014;compare <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref>. Nevertheless, the decline in goodness of fit with <italic>&#x3c3;</italic> is still well within reason, given the high noise level of the input image data (see <xref ref-type="fig" rid="F6">Figure&#x20;6</xref>). In fact, from a visual comparison of the raw experimental image data in <xref ref-type="fig" rid="F1">Figure&#x20;1B</xref> to the perturbed simulated image data in <xref ref-type="fig" rid="F6">Figure&#x20;6</xref>, it can be seen that the case with the lowest level of noise (i.e.,&#x20;<italic>&#x3c3;</italic> &#x3d; 0) comes closest to the considered experimental data. This indicates that the gradient descent-based fitting procedure described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref> is not only able to deal with the present level of measurement artifacts but also with much noisier scenarios.</p>
<p>For the experimental image data investigated in <xref ref-type="sec" rid="s3-2-2">Sections 3.3.1, 3.3.2</xref>, quite high voxelwise accuracies <italic>F</italic>
<sub>c</sub> and <inline-formula id="inf148">
<mml:math id="m173">
<mml:msubsup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> were observed, particularly for the more sophisticated tessellation models, as they are better at describing non-convex grain morphologies. Despite this fact, with respect to <italic>F</italic>
<sub>c</sub> and <inline-formula id="inf149">
<mml:math id="m174">
<mml:msubsup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> the simpler Laguerre tessellation does a better job of fitting the experimental datasets than the simulated image&#x2014;compare <xref ref-type="table" rid="T3">Tables 3</xref>, <xref ref-type="table" rid="T4">4</xref>; <xref ref-type="table" rid="T1">Table&#x20;1</xref>. The same is true when considering the grain neighborhood characteristics <italic>N</italic>
<sub>0</sub> and <inline-formula id="inf150">
<mml:math id="m175">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>. As could already be anticipated from our analysis of the perturbed simulated image data, there was no significant difference in goodness of fit to the smoothed versus to the raw experimental datasets (for all performance measures). This leads us to conclude that there is no benefit to smoothing the grain boundaries in experimental image data prior to tessellation fitting.</p>
<p>One of the main advantages of the gradient descent-based fitting procedure described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref> compared to other optimization approaches lies in its runtime performance. This comes from the reformulation of the objective function and the resulting ability to employ efficient gradient descent optimization algorithms. Another reason is the fact that the objective function and its gradient can both be computed on multiple CPU cores or even on GPUs. This opens up the possibility of reducing the (wall clock) time for the fitting procedure by employing hardware having a higher degree of parallelism (such as GPUs), which would not be so readily feasible for sequential fitting procedures. As runtime benchmarks are notorious for their dependence on a multitude of factors (in this case, for example, on the number of generators/grains, the number of voxels, the computer hardware, etc.), the runtimes quoted in <xref ref-type="table" rid="T5">Table&#x20;5</xref> for the fitting of tessellations to the smoothed experimental image data should be taken with a grain of salt. In this particular case, the slower fitting of the GBPD model than the other tessellations can be attributed not only to the increased number of parameters but, more importantly, to the fact that a less efficient software implementation had to be used to compute the GBPD distance function. That being said, to achieve such a high goodness of fit for a dataset with 531 &#xd7; 321&#x20;&#xd7; 321 voxels and 938 grains, the runtimes are quite competitive, especially for the other tessellation models.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Runtimes for the fitting of tessellation models to the smoothed experimental image dataset. System A employed only a CPU (Intel Core i7-4770K with four 3.50&#xa0;GHz cores), whereas System B performed some of the computations on a GPU (CPU: AMD Ryzen 5&#x20;3600 with six 3.6&#xa0;GHz cores; GPU: NVIDIA GeForce RTX 3060).</p>
</caption>
<table>
<thead>
<tr>
<td align="left">Tessellation model</td>
<td align="center">System A</td>
<td align="center">System B</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Laguerre</td>
<td align="center">6:07&#xa0;h</td>
<td align="center">1:12&#xa0;h</td>
</tr>
<tr>
<td align="left">Multiplicatively weighted Laguerre</td>
<td align="center">6:27&#xa0;h</td>
<td align="center">1:13&#xa0;h</td>
</tr>
<tr>
<td align="left">Diagonal GBPD</td>
<td align="center">8:26&#xa0;h</td>
<td align="center">1:19&#xa0;h</td>
</tr>
<tr>
<td align="left">GBPD</td>
<td align="center">16:42&#xa0;h</td>
<td align="center">3:58&#xa0;h</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-2">
<title>4.2 Other Fitting Approaches in the Literature</title>
<p>The fitting results for the direct approach of <xref ref-type="bibr" rid="B33">Teferra and Rowenhorst (2018)</xref> (<xref ref-type="sec" rid="s2-4-2">Section 2.4.2</xref>) were discussed in the previous section. For all datasets, the direct approach delivered reasonably good fits of GBPDs, but they were consistently worse than those obtained by the gradient descent-based fitting procedure of <xref ref-type="sec" rid="s2-3">Section 2.3</xref>. The only exception here is the fact that the direct method produced very few empty cells. Its main benefit, however, is the very short runtime of only a couple of seconds. Therefore, the direct approach is a good choice if a tessellation must be found quickly, but if the focus lies on the quality of fit, the gradient descent-based method developed in the present paper may be more suitable.</p>
<p>In <xref ref-type="bibr" rid="B29">&#x160;ediv&#xfd; et&#x20;al. (2016)</xref>, still another method for fitting GBPDs was proposed, in which&#x2014;similar to the present paper&#x2014;a volume-based objective function is optimized. However, instead of a gradient descent method, &#x160;ediv&#xfd; et&#x20;al. employed a global stochastic optimization technique, the simulated annealing algorithm. As the name implies, this technique is inspired by the annealing (heat treatment) of metals. Specifically, during each iteration of the optimization, a random modification of the previous generators is proposed. These changes are accepted depending on whether the objective function is improved as well as on the current value of the &#x2018;temperature.&#x2019; Here, the parameter &#x2018;temperature&#x2019; governs the likelihood that a change in generators is accepted even though it leads to a worse value of the objective function. As the temperature is decreased over the course of the optimization, the probability increases that only improvements in the fit are accepted. In <xref ref-type="bibr" rid="B29">&#x160;ediv&#xfd; et&#x20;al. (2016)</xref>, this fitting procedure was applied to both simulated and experimental image data. For the former case, which was a realization of a random GBPD, the quality of fit of the simulated annealing approach (<italic>F</italic>
<sub>c</sub> &#x3d; 0.975, <italic>N</italic>
<sub>0</sub> &#x3d; 0.604, <inline-formula id="inf151">
<mml:math id="m176">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.57</mml:mn>
</mml:math>
</inline-formula>) was similar to the results obtained in <xref ref-type="sec" rid="s3-2-1">Section 3.2.1</xref> of the present paper. However, since the simulated datasets were drawn from two different models (GBPD vs. multiplicatively weighted Laguerre tessellation), direct comparison warrants caution. Regarding the runtime of the fitting routine, it is mentioned in <xref ref-type="bibr" rid="B29">&#x160;ediv&#xfd; et&#x20;al. (2016)</xref> that roughly 19&#xa0;h were needed to carry out 10 million optimization iterations on an Intel Xeon E3-1240 CPU with four 3.4&#xa0;GHz cores (slightly slower than the Intel Core i7-4770K used in the present paper). The procedure stopped after 13 million iterations, which corresponds to a total runtime of about 24&#xa0;h. When comparing this to the 16:42&#xa0;h that the same fitting took in the present paper (see <xref ref-type="table" rid="T5">Table&#x20;5</xref>), we note that the dataset considered by &#x160;ediv&#xfd; et&#x20;al. had only about a 10th the size (180<sup>3</sup> vs. 531 &#xd7; 321&#x20;&#xd7; 321 voxels) but more than twice as many grains (1894&#x20;<italic>vs</italic>. 938 grains). A direct comparison to their experimental dataset is omitted, as the two datasets are quite different. In summary, the goodness of fit achieved by the simulated annealing approach applied to simulated data was similar to that achieved by the gradient descent-based fitting procedure of the present paper, but the runtime reported in <xref ref-type="bibr" rid="B29">&#x160;ediv&#xfd; et&#x20;al. (2016)</xref> was significantly longer.</p>
</sec>
</sec>
<sec id="s5">
<title>5 Conclusion</title>
<p>In this paper, a novel method for fitting distance-based tessellations, such as the Laguerre tessellation or generalized balanced power diagrams, to 3D image data was developed. With this approach, it is possible to obtain parametric representations of the curved grain boundaries of real polycrystalline materials. The method employs efficient gradient descent optimization, with the technique proving to be capable of reconstructing a tessellation from its discretized image. Nearly identical fits were obtained when the procedure was applied to smoothed versus raw experimental data. From the observed robustness against noise in the input image data, we conclude that there is no benefit to smoothing an experimental image dataset prior to fitting it with a tessellation&#x20;model.</p>
<p>The proposed method could facilitate the study of physical phenomena like curvature-driven grain growth, in which smooth representations of grain boundaries&#x2014;such as those provided by tessellation models&#x2014;are required for accurate calculations. Furthermore, the fitted tessellations could serve as the basis for stochastic models of polycrystalline microstructures. These models could potentially enable researchers to investigate mechanical properties of material samples <italic>in silico</italic> instead of through resource-intensive laboratory experimentation.</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The datasets presented in this article are not readily available because they are part of ongoing research. Requests to access the datasets should be directed to LP, <email>lukas.petrich@uni-ulm.de</email>.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>Tomographic image data of the AlCu specimen were provided by MW and CK. The basic idea of the gradient-based fitting approach came from OF. The software implementation and computer experiments were performed by LP. Main parts of the paper were written by LP and CK. All authors discussed the results and contributed to writing of the manuscript. CK and VS designed and supervised the research.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>The authors gratefully acknowledge partial financial support provided by the Deutsche Forschungsgemeinschaft (DFG) through projects KR 1658/9-1 and SCHM 997/41-1. In addtion, The authors are grateful to the Japan Synchrotron Radiation Research Institute for the allotment of beamtime on beamline BL20XU of SPring-8 (Proposal 2015A1580).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<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="s10">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Abadi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Agarwal</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Barham</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Brevdo</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Citro</surname>
<given-names>C.</given-names>
</name>
<etal/>
</person-group> (<year>2015</year>). <source>TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems</source>. <publisher-name>Software available from tensorflow.org</publisher-name>. </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Allen</surname>
<given-names>J.&#x20;M.</given-names>
</name>
<name>
<surname>Weddle</surname>
<given-names>P. J.</given-names>
</name>
<name>
<surname>Verma</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mallarapu</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Usseglio-Viretta</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Finegan</surname>
<given-names>D. P.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Quantifying the Influence of Charge Rate and Cathode-Particle Architectures on Degradation of Li-Ion Cells through 3D Continuum-Level Damage Models</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>512</volume>, <fpage>230415</fpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2021.230415</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alpers</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Brieden</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Gritzmann</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Lyckegaard</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Poulsen</surname>
<given-names>H. F.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Generalized Balanced Power Diagrams for 3D Representations of Polycrystals</article-title>. <source>Phil. Mag.</source> <volume>95</volume>, <fpage>1016</fpage>&#x2013;<lpage>1028</lpage>. <pub-id pub-id-type="doi">10.1080/14786435.2015.1015469</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Altendorf</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Latourte</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Jeulin</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Faessel</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Saintoyant</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>3D Reconstruction of a Multiscale Microstructure by Anisotropic Tessellation Models</article-title>. <source>Image Anal. Stereol</source> <volume>33</volume>, <fpage>121</fpage>&#x2013;<lpage>130</lpage>. <pub-id pub-id-type="doi">10.5566/ias.v33.p121-130</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Audet</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Hare</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2017</year>). <source>Derivative-Free and Blackbox Optimization</source>. <publisher-name>Springer</publisher-name>. </citation>
</ref>
<ref id="B6">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Aurenhammer</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Klein</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>D.-T.</given-names>
</name>
</person-group> (<year>2013</year>). <source>Voronoi Diagrams And Delaunay Triangulations</source>. <publisher-name>World Scientific</publisher-name>. </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bourne</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Kok</surname>
<given-names>P. J.&#x20;J.</given-names>
</name>
<name>
<surname>Roper</surname>
<given-names>S. M.</given-names>
</name>
<name>
<surname>Spanjer</surname>
<given-names>W. D. T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Laguerre Tessellations and Polycrystalline Microstructures: a Fast Algorithm for Generating Grains of Given Volumes</article-title>. <source>Phil. Mag.</source> <volume>100</volume>, <fpage>2677</fpage>&#x2013;<lpage>2707</lpage>. <pub-id pub-id-type="doi">10.1080/14786435.2020.1790053</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Burnett</surname>
<given-names>T. L.</given-names>
</name>
<name>
<surname>Kelley</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Winiarski</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Contreras</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Daly</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Gholinia</surname>
<given-names>A.</given-names>
</name>
<etal/>
</person-group> (<year>2016</year>). <article-title>Large Volume Serial Section Tomography by Xe Plasma FIB Dual Beam Microscopy</article-title>. <source>Ultramicroscopy</source> <volume>161</volume>, <fpage>119</fpage>&#x2013;<lpage>129</lpage>. <pub-id pub-id-type="doi">10.1016/j.ultramic.2015.11.001</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chiu</surname>
<given-names>S. N.</given-names>
</name>
<name>
<surname>Stoyan</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Kendall</surname>
<given-names>W. S.</given-names>
</name>
<name>
<surname>Mecke</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2013</year>). <source>Stochastic Geometry and its Applications</source>. <edition>3 edn</edition>. <publisher-name>J.&#x20;Wiley &#x26; Sons</publisher-name>. </citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dake</surname>
<given-names>J.&#x20;M.</given-names>
</name>
<name>
<surname>Oddershede</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>S&#xf8;rensen</surname>
<given-names>H. O.</given-names>
</name>
<name>
<surname>Werz</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Shatto</surname>
<given-names>J.&#x20;C.</given-names>
</name>
<name>
<surname>Uesugi</surname>
<given-names>K.</given-names>
</name>
<etal/>
</person-group> (<year>2016</year>). <article-title>Direct Observation of Grain Rotations during Coarsening of a Semisolid Al-Cu alloy</article-title>. <source>Proc. Natl. Acad. Sci. USA</source> <volume>113</volume>, <fpage>E5998</fpage>&#x2013;<lpage>E6006</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.1602293113</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Furat</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Petrich</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Finegan</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Diercks</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Usseglio-Viretta</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Smith</surname>
<given-names>K.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Artificial Generation of Representative Single Li-Ion Electrode Particle Architectures from Microscopy Data</article-title>. <source>Npj&#x20;Comput. Mater.</source> <volume>7</volume>, <fpage>105</fpage>. <pub-id pub-id-type="doi">10.1038/s41524-021-00567-9</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Goodfellow</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Bengio</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Courville</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Deep Learning</source>. <publisher-name>MIT Press</publisher-name>. </citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Kingma</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Ba</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Adam: a Method for Stochastic Optimization</article-title>,&#x201d; in <conf-name>3rd International Conference On Learning Representations</conf-name>, <publisher-name>ICLR 2015</publisher-name>. Editors <person-group person-group-type="editor">
<name>
<surname>Bengio</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>LeCun</surname>
<given-names>Y.</given-names>
</name>
</person-group>. </citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Krill III</surname>
<given-names>C. E.</given-names>
<suffix>III</suffix>
</name>
<name>
<surname>Chen</surname>
<given-names>L.-Q.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Computer Simulation of 3-D Grain Growth Using a Phase-Field Model</article-title>. <source>Acta Materialia</source> <volume>50</volume>, <fpage>3059</fpage>&#x2013;<lpage>3075</lpage>. <pub-id pub-id-type="doi">10.1016/s1359-6454(02)00084-8</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lautensack</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zuyev</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Random Laguerre Tessellations</article-title>. <source>Adv. Appl. Probab.</source> <volume>40</volume>, <fpage>630</fpage>&#x2013;<lpage>650</lpage>. <pub-id pub-id-type="doi">10.1239/aap/1222868179</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liebscher</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Laguerre Approximation of Random Foams</article-title>. <source>Phil. Mag.</source> <volume>95</volume>, <fpage>2777</fpage>&#x2013;<lpage>2792</lpage>. <pub-id pub-id-type="doi">10.1080/14786435.2015.1078511</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lyckegaard</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Lauridsen</surname>
<given-names>E. M.</given-names>
</name>
<name>
<surname>Ludwig</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Fonda</surname>
<given-names>R. W.</given-names>
</name>
<name>
<surname>Poulsen</surname>
<given-names>H. F.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>On the Use of Laguerre Tessellations for Representations of 3D Grain Structures</article-title>. <source>Adv. Eng. Mater.</source> <volume>13</volume>, <fpage>165</fpage>&#x2013;<lpage>170</lpage>. <pub-id pub-id-type="doi">10.1002/adem.201000258</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>M&#xf8;ller</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1994</year>). <source>Lectures on Random Voronoi Tessellations</source>. <publisher-name>Springer</publisher-name>. </citation>
</ref>
<ref id="B19">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Okabe</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Boots</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Sugihara</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Chiu</surname>
<given-names>S. N.</given-names>
</name>
</person-group> (<year>2000</year>). <source>Spatial Tessellations Concepts and Applications of Voronoi Diagrams</source>. <edition>2 edn</edition>. <publisher-name>J.&#x20;Wiley &#x26; Sons</publisher-name>. </citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Petrich</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Stan&#x11b;k</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Westhoff</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Heller</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>&#x160;ittner</surname>
<given-names>P.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>Reconstruction of Grains in Polycrystalline Materials from Incomplete Data Using Laguerre Tessellations</article-title>. <source>Microsc. Microanal</source> <volume>25</volume>, <fpage>743</fpage>&#x2013;<lpage>752</lpage>. <pub-id pub-id-type="doi">10.1017/s1431927619000485</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Poulsen</surname>
<given-names>H. F.</given-names>
</name>
</person-group> (<year>2004</year>). <source>Three-Dimensional X-Ray Diffraction Microscopy: Mapping Polycrystals and Their Dynamics</source>. <publisher-name>Springer</publisher-name>. </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Quey</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Renversade</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Optimal Polyhedral Description of 3D Polycrystals: Method and Application to Statistical and Synchrotron X-ray Diffraction Data</article-title>. <source>Comp. Methods Appl. Mech. Eng.</source> <volume>330</volume>, <fpage>308</fpage>&#x2013;<lpage>333</lpage>. <pub-id pub-id-type="doi">10.1016/j.cma.2017.10.029</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Raabe</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>1998</year>). <source>Computational Materials Science</source>. <publisher-name>Wiley VCH</publisher-name>. </citation>
</ref>
<ref id="B24">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Rubinstein</surname>
<given-names>R. Y.</given-names>
</name>
<name>
<surname>Kroese</surname>
<given-names>D. P.</given-names>
</name>
</person-group> (<year>2004</year>). <source>The Cross-Entropy Method</source>. <publisher-name>Springer</publisher-name>. </citation>
</ref>
<ref id="B25">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Russ</surname>
<given-names>J.&#x20;C.</given-names>
</name>
<name>
<surname>Neal</surname>
<given-names>F. B.</given-names>
</name>
</person-group> (<year>2017</year>). <source>The Image Processing Handbook</source>. <edition>7 edn</edition>. <publisher-loc>Boca Raton</publisher-loc>: <publisher-name>CRC Press</publisher-name>. </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schmidt</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>GrainSpotter: a Fast and Robust Polycrystalline Indexing Algorithm</article-title>. <source>J.&#x20;Appl. Cryst.</source> <volume>47</volume>, <fpage>276</fpage>&#x2013;<lpage>284</lpage>. <pub-id pub-id-type="doi">10.1107/s1600576713030185</pub-id> </citation>
</ref>
<ref id="B27">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Schmidt</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2005</year>). <article-title>GrainSweeper</article-title>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="https://svn.code.sf.net/p/fable/code/GrainSweeper">https://svn.code.sf.net/p/fable/code/GrainSweeper</ext-link>
</comment>. [<comment>Accessed August 17, 2021</comment>]. </citation>
</ref>
<ref id="B28">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Schwartz</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Adams</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Field</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2009</year>). <source>Electron Backscatter Diffraction in Materials Science</source>. <publisher-name>Springer</publisher-name>. </citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>&#x160;ediv&#xfd;</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Brereton</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Westhoff</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Pol&#xed;vka</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Bene&#x161;</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Schmidt</surname>
<given-names>V.</given-names>
</name>
<etal/>
</person-group> (<year>2016</year>). <article-title>3D Reconstruction of Grains in Polycrystalline Materials Using a Tessellation Model with Curved Grain Boundaries</article-title>. <source>Phil. Mag.</source> <volume>96</volume>, <fpage>1926</fpage>&#x2013;<lpage>1949</lpage>. </citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>&#x160;ediv&#xfd;</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Westhoff</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Kope&#x10d;ek</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Krill</surname>
<given-names>C. E.</given-names>
<suffix>III</suffix>
</name>
<name>
<surname>Schmidt</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Data-driven Selection of Tessellation Models Describing Polycrystalline Microstructures</article-title>. <source>J.&#x20;Stat. Phys.</source> <volume>172</volume>, <fpage>1223</fpage>&#x2013;<lpage>1246</lpage>. </citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Spettl</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Brereton</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Werz</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Krill</surname>
<given-names>C. E.</given-names>
<suffix>III</suffix>
</name>
<name>
<surname>Kroese</surname>
<given-names>D. P.</given-names>
</name>
<etal/>
</person-group> (<year>2016</year>). <article-title>Fitting Laguerre Tessellation Approximations to Tomographic Image Data</article-title>. <source>Phil. Mag.</source> <volume>96</volume>, <fpage>166</fpage>&#x2013;<lpage>189</lpage>. <pub-id pub-id-type="doi">10.1080/14786435.2015.1125540</pub-id> </citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Teferra</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Graham-Brady</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Tessellation Growth Models for Polycrystalline Microstructures</article-title>. <source>Comput. Mater. Sci.</source> <volume>102</volume>, <fpage>57</fpage>&#x2013;<lpage>67</lpage>. <pub-id pub-id-type="doi">10.1016/j.commatsci.2015.02.006</pub-id> </citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Teferra</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Rowenhorst</surname>
<given-names>D. J.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Direct Parameter Estimation for Generalised Balanced Power Diagrams</article-title>. <source>Phil. Mag. Lett.</source> <volume>98</volume>, <fpage>79</fpage>&#x2013;<lpage>87</lpage>. <pub-id pub-id-type="doi">10.1080/09500839.2018.1472399</pub-id> </citation>
</ref>
<ref id="B34">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>K. G.</given-names>
</name>
<name>
<surname>Glicksman</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2007</year>). &#x201c;<article-title>Ostwald Ripening in Materials Processing</article-title>,&#x201d; in <source>Materials Processing Handbook</source>. Editors <person-group person-group-type="editor">
<name>
<surname>Groza</surname>
<given-names>J.&#x20;R.</given-names>
</name>
<name>
<surname>Shackelford</surname>
<given-names>J.&#x20;F.</given-names>
</name>
<name>
<surname>Lavernia</surname>
<given-names>E. J.</given-names>
</name>
<name>
<surname>Powers</surname>
<given-names>M. T.</given-names>
</name>
</person-group> (<publisher-loc>Boca Raton</publisher-loc>: <publisher-name>CRC Press</publisher-name>), <fpage>75</fpage>&#x2013;<lpage>94</lpage>. <pub-id pub-id-type="doi">10.1201/9781420004823.ch5</pub-id> </citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Westhoff</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Skibinski</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>&#x160;ediv&#xfd;</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Wysocki</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wejrzanowski</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Schmidt</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Investigation of the Relationship between Morphology and Permeability for Open-Cell Foams Using Virtual Materials Testing</article-title>. <source>Mater. Des.</source> <volume>147</volume>, <fpage>1</fpage>&#x2013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1016/j.matdes.2018.03.022</pub-id> </citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zaefferer</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wright</surname>
<given-names>S. I.</given-names>
</name>
<name>
<surname>Raabe</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Three-dimensional Orientation Microscopy in a Focused Ion Beam-Scanning Electron Microscope: a New Dimension of Microstructure Characterization</article-title>. <source>Metall. Mater. Trans. A.</source> <volume>39</volume>, <fpage>374</fpage>&#x2013;<lpage>389</lpage>. <pub-id pub-id-type="doi">10.1007/s11661-007-9418-9</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>