<?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. Artif. Intell.</journal-id>
<journal-title>Frontiers in Artificial Intelligence</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Artif. Intell.</abbrev-journal-title>
<issn pub-type="epub">2624-8212</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">668395</article-id>
<article-id pub-id-type="doi">10.3389/frai.2021.668395</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Artificial Intelligence</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Topological Data Analysis of <italic>C. elegans</italic> Locomotion and Behavior</article-title>
<alt-title alt-title-type="left-running-head">Thomas et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">TDA for <italic>C. elegans</italic> Behavior</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Thomas</surname>
<given-names>Ashleigh</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/1063551/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Bates</surname>
<given-names>Kathleen</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1302106/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Elchesen</surname>
<given-names>Alex</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="fn" rid="FN1">
<sup>&#x2020;</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1235711/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Hartsock</surname>
<given-names>Iryna</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="fn" rid="FN1">
<sup>&#x2020;</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1278636/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Lu</surname>
<given-names>Hang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1278707/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Bubenik</surname>
<given-names>Peter</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>School of Chemical and Biomolecular Engineering, Georgia Institute of Technology, <addr-line>Atlanta</addr-line>, <addr-line>GA</addr-line>, <country>United&#x20;States</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>Department of Mathematics, University of Florida, <addr-line>Gainesville</addr-line>, <addr-line>FL</addr-line>, <country>United&#x20;States</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/243393/overview">Kathryn Hess</ext-link>, &#xc9;cole Polytechnique F&#xe9;d&#xe9;rale de Lausanne, Switzerland</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/1062554/overview">Jose Andres Perea</ext-link>, Michigan State University, United&#x20;States</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1239972/overview">Samir Chowdhury</ext-link>, Stanford University, United&#x20;States</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Ashleigh Thomas, <email>althomas41@gmail.com</email>
</corresp>
<fn fn-type="equal" id="FN1">
<p>
<sup>&#x2020;</sup>These authors have contributed equally to this work</p>
</fn>
<fn fn-type="other">
<p>This article was submitted to Machine Learning and Artificial Intelligence, a section of the journal Frontiers in Artificial Intelligence</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>29</day>
<month>06</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>4</volume>
<elocation-id>668395</elocation-id>
<history>
<date date-type="received">
<day>16</day>
<month>02</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>12</day>
<month>05</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Thomas, Bates, Elchesen, Hartsock, Lu and Bubenik.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Thomas, Bates, Elchesen, Hartsock, Lu and Bubenik</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>We apply topological data analysis to the behavior of <italic>C. elegans</italic>, a widely studied model organism in biology. In particular, we use topology to produce a quantitative summary of complex behavior which may be applied to high-throughput data. Our methods allow us to distinguish and classify videos from various environmental conditions and we analyze the trade-off between accuracy and interpretability. Furthermore, we present a novel technique for visualizing the outputs of our analysis in terms of the input. Specifically, we use representative cycles of persistent homology to produce synthetic videos of stereotypical behaviors.</p>
</abstract>
<kwd-group>
<kwd>persistent homology</kwd>
<kwd>topological data analysis</kwd>
<kwd>delay embedding</kwd>
<kwd>sliding window embedding</kwd>
<kwd><italic>C.&#x20;elegans</italic></kwd>
<kwd>behavior phenotyping</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Model organisms are indispensable in understanding basic principles of biology. Studies of model organisms have played a major role in discoveries of disease mechanisms, disease treatment, and neuroscience principles. The behavior of these model organisms can illuminate responses and phenotypes important for understanding the effects of experimental conditions on subjects. Behavior can be affected by neuron activity, external stimuli, and past experiences (learning), so being able to adequately measure and compare behaviors is a useful evaluation tool for a wide range of experiments.</p>
<p>We propose persistent homology as a new tool for assessing behavior of <italic>Caenorhabditis elegans</italic>, worms that are a widely used model organism. Persistence has been successfully used to study high-dimensional time series, especially those that exhibit some quasi-periodic behavior like the undulation of <italic>C. elegans</italic> (<xref ref-type="bibr" rid="B32">Tralie, 2016</xref>; <xref ref-type="bibr" rid="B31">Tralie and Perea, 2018</xref>). But to the authors&#x2019; knowledge, persistent homology has not been previously used to analyze <italic>C. elegans</italic> behavior, though it and similar techniques have been used to study <italic>C. elegans</italic> neural data (<xref ref-type="bibr" rid="B23">Petri et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B1">Backholm et&#x20;al., 2015</xref>; <xref ref-type="bibr" rid="B25">Sizemore et&#x20;al., 2019</xref>; <xref ref-type="bibr" rid="B8">Helm et&#x20;al., 2020</xref>; <xref ref-type="bibr" rid="B14">L&#xfc;tgehetmann et&#x20;al., 2020</xref>).</p>
<p>In this paper we use persistent homology to study the locomotion of <italic>C. elegans</italic> in two settings. In our initial study (<xref ref-type="sec" rid="s3-1">Section 3.1</xref>), we follow one worm as it moves on the surface of an agar plate. Under these conditions there are no barriers to movement and the locomotion is both smooth and complex. We show that persistent homology is able to detect and differentiate between various characteristic behaviors such as forward crawling, backward crawling, and transitioning between the two. We also show a unique contribution of persistence: the synthesis of skeleton data of <italic>C. elegans</italic> performing stereotyped, periodic behaviors. This translates into videos of, for example, forward crawling that are smooth when looped (see <xref ref-type="sec" rid="s9">Supplementary Material</xref> for an example). Furthermore, this mapping from persistence features to behavior gives a concrete and biologically relevant interpretation of results: features of interest&#x2014;such as a feature that is detected in one sample and not another&#x2014;can be expressed as videos of synthetic behavior.</p>
<p>We also analyze data from an experiment of the effect of environment on <italic>C. elegans</italic> (<xref ref-type="sec" rid="s3-2">Section 3.2</xref>). In this setting a more controlled environment is required, so the organisms are submerged in a solution and confined to wells in microfluidic devices. Our main results study <italic>C. elegans</italic>&#x2019; locomotion in solutions that have various levels of viscosity. We show that we are able to use persistent homology&#x2014;and average persistence landscapes in particular&#x2014;to summarize <italic>C. elegans</italic> locomotion in a way that allows the classification of the viscosity of an animal&#x2019;s environment with a high level of accuracy, and in fact a much higher level of accuracy than simpler methods based on speed and variety of postures. Our results indicate that persistent homology is a promising tool for quantifying the impact of changes to genotype and environment on <italic>C. elegans</italic> locomotion.</p>
<sec id="s1-1">
<title>1.1 Related Work</title>
<p>
<italic>Caenorhabditis elegans</italic> is a free-living soil nematode that has been a workhorse genetic model system. The nematode&#x2019;s transparent tissue, simple anatomy, and fast reproduction contribute to both ease in culture and a literal window into the internal workings of a living organism. Its completely sequenced genome contains many genes that are homologous to human genes, and importantly the ability to manipulate genes with relative ease makes it an extremely attractive model system. For neuroscience in particular, <italic>C. elegans</italic> presents a unique opportunity with its simple nervous system (just 302 neurons) that is complex enough to exhibit many sensory modalities, including mechanosensation, chemosensation, and response to heat, osmolarity, and&#x20;smell.</p>
<p>Behavior characterization in <italic>C. elegans</italic> was historically qualitative, mainly relying on experimentalists specifying end-point assessment (e.g. whether the worm chemotaxes to a particular source of odor within a certain amount of time), or experimentalists using heuristics to assess behavior (e.g. naming worms genes &#x201c;<italic>unc</italic>&#x201d; for uncoordinated). In the last decade, machine vision tools first replaced human identifications of worms from images and videos, which allows much larger dynamic datasets to be annotated and analyzed. In recent years, further development in quantitative behavior characterization tools such as tracking (<xref ref-type="bibr" rid="B27">Stirman et&#x20;al., 2011</xref>; <xref ref-type="bibr" rid="B29">Swierczek et&#x20;al., 2011</xref>; <xref ref-type="bibr" rid="B9">Husson et&#x20;al., 2012</xref>; <xref ref-type="bibr" rid="B33">Yemini et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B24">Porto et&#x20;al., 2019</xref>), eigenworms (<xref ref-type="bibr" rid="B26">Stephens et&#x20;al., 2008</xref>), behavior &#x201c;dictionaries&#x201d; (<xref ref-type="bibr" rid="B3">Brown et&#x20;al., 2013</xref>), and t-SNE (<xref ref-type="bibr" rid="B2">Berman et&#x20;al., 2016</xref>; <xref ref-type="bibr" rid="B13">Liu et&#x20;al., 2018</xref>) have moved the field away from merely describing the outcome to understanding the types of behavior the brain of this simple system can generate. While many of these techniques do well in quantitatively describing behavior and distinguishing differences in behavior, behavioral dynamics are rich and opportunities abound in exploring behavioral dynamics using other mathematical&#x20;tools.</p>
<p>Persistent homology has been used to analyze time series data in many different settings. Some earlier work was theoretical and studied the interaction between persistence and sliding window embeddings&#x2014;which we used in this research&#x2014;as well as proposed possible applications (<xref ref-type="bibr" rid="B7">Firas and Elizabeth, 2015</xref>; <xref ref-type="bibr" rid="B11">Perea and Harer, 2015</xref>; <xref ref-type="bibr" rid="B20">Perea, 2016</xref>). Research into gene expression has used persistent homology to detect patterns or classify whether a signal is periodic (<xref ref-type="bibr" rid="B5">Dequ&#xe9;ant et&#x20;al., 2008</xref>; <xref ref-type="bibr" rid="B19">Perea et&#x20;al., 2015</xref>). Frequently, persistence has been used to study neural data (<xref ref-type="bibr" rid="B23">Petri et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B1">Backholm et&#x20;al., 2015</xref>; <xref ref-type="bibr" rid="B28">Stolz et&#x20;al., 2017</xref>; <xref ref-type="bibr" rid="B25">Sizemore et&#x20;al., 2019</xref>; <xref ref-type="bibr" rid="B8">Helm et&#x20;al., 2020</xref>; <xref ref-type="bibr" rid="B14">L&#xfc;tgehetmann et&#x20;al., 2020</xref>), and in many cases neural data from <italic>C. elegans</italic>, but the analysis tends to rely on clique complexes as the topological space of interest instead of sliding window embeddings.</p>
</sec>
</sec>
<sec id="s2">
<title>2 Materials and Methods</title>
<p>In this section we describe the collection and preprocessing of experimental data (<xref ref-type="sec" rid="s2-1">Section 2.1</xref>), mathematical background (<xref ref-type="sec" rid="s2-2">Sections 2.2</xref> and <xref ref-type="sec" rid="s2-3">2.3</xref>), and pipeline for using topological data analysis on <italic>C. elegans</italic> behavior data (<xref ref-type="sec" rid="s2-4">Section&#x20;2.4</xref>).</p>
<sec id="s2-1">
<title>2.1 Description of Data</title>
<p>
<italic>C. elegans</italic> (N2 strain) were cultured at 20&#xb0;C under standard conditions on agar plates seeded with OP50&#x20;<italic>E. Coli</italic>. Animals were age-synchronized via hatch-off and cultured on plate until they reached day 1 of adulthood. For behavior experiments on agar, animals were prepared, imaged, and tracked as previously described (<xref ref-type="bibr" rid="B24">Porto et&#x20;al., 2019</xref>). For behavior experiments in methylcellulose media, synchronized populations were then washed off of culture plates with M9 buffer. Unless otherwise noted, video data was collected on a dissecting microscope (Leica MZ16) using a CMOS camera (Thorlabs DCC3240M), with a frame rate of 30 frames per second and a magnification of &#xd7;1.2.</p>
<p>Behavior data was collected with animals confined with microfluidic devices. In these devices the cavities in which worms are loaded have only slightly greater depth than the width of an adult worm, which restricts worms to the focal plane of the microscope and to almost entirely 2-dimensional behavior. Microfluidic devices were fabricated as described previously (<xref ref-type="bibr" rid="B4">Chung et&#x20;al., 2011</xref>). Methylcellulose solutions were prepared at concentrations of <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mo>%</mml:mo>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
<mml:mo>%</mml:mo>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>2</mml:mn>
<mml:mo>%</mml:mo>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>and</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>3</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> weight in volume of M9 buffer. To ensure that single animals could be isolated in single chambers of the unbonded microchamber microfluidic device, we first picked animals onto a room-temperature, unseeded plate. To ensure that animals were fully immersed in methylcellulose mixture, we used a glass pipet to aspirate a small amount of methylcellulose solution, and then aspirated animals from the unseeded plate one at a time into the methylcellulose solution. Then, single animals surrounded by methylcellulose mixture were pipetted into individual chambers of an unbonded PDMS chamber device. The device could then be flipped over onto a sterile 10&#xa0;cm Petri dish and gently pressed down until the individual chamber walls came into contact with the Petri dish, preventing animals from leaving their chambers. Animals were then imaged in devices for about 5&#xa0;min at 30 frames per second, resulting in time series data with 10,665 points.</p>
<p>To extract midline data from videos, we first found masks for each frame to isolate the worm from the background using a combination of Otsu thresholding (<xref ref-type="bibr" rid="B18">Otsu, 1979</xref>), image smoothing using a Gaussian kernel, and size filtration. Otsu thresholding is a thresholding algorithm based on the gray-level histogram of an image. The threshold is identified by the grayscale pixel value that minimizes the intra-class variance of background and foreground pixels. We then broadly followed the method used in Stephens et&#x20;al. (<xref ref-type="bibr" rid="B26">Stephens et&#x20;al., 2008</xref>) to represent the worm&#x2019;s posture in &#x201c;worm-centric&#x201d; coordinates. Briefly, we found the midline of the worm in each frame by thinning the mask to a single line and interpolating between pixels of this line such that the midline was represented by 101 evenly spaced points. We calculated the tangent angle between each pair of adjacent points along the midline so that the animal&#x2019;s posture could be represented as a vector of angles, and then transformed those vectors with PCA so users could balance accuracy requirements and resource limitations via truncation of the data. We replaced frames in which animals were self-occluded with the data from the most recent non-self-occluded frame. We used untruncated PCA data for most computations because it has the same persistence output as the raw angle data. We used truncated PCA data (the first five principal components) for the computations in <xref ref-type="sec" rid="s3-1">Section&#x20;3.1</xref>.</p>
<p>The videos for this study were selected from a much larger set of data based on how well they could be segmented and skeletonized. Some videos have subsequences that are difficult to automatically skeletonize because the animals self-occlude, i.e. bend in such a way as to cross over themselves. Thus, this dataset is likely biased toward less complex behaviors like thrashing and there are some cases where there are multiple videos of the same animal. The resulting data set has 40 samples of 10,665 points each with 10 samples for each viscosity condition.</p>
</sec>
<sec id="s2-2">
<title>2.2 Sliding Window Embeddings</title>
<p>Sliding window embeddings turn time series data into point cloud data in a way that does not forget the temporal information of the time series. There are some additional benefits to sliding window embeddings, including that they &#x201c;separate&#x201d; points that intersect each other in a time series, such as in <xref ref-type="statement" rid="Example_2_6">Examples 2.6 and&#x20;2.7</xref>.</p>
<p>
<statement content-type="definition" id="Definition_2_1">
<label>Definition 2.1: </label>
<p>A time series is a sequence of vectors <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> where each <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is in the same finite-dimensional vector space <italic>V</italic> and <italic>T</italic> is a totally ordered&#x20;set.</p>
</statement>
</p>
<p>
<statement content-type="remark" id="Remark_2_2">
<label>Remark 2.2: </label>
<p>The totally ordered set <italic>T</italic>, which indexes the time series, can be <inline-formula id="inf4">
<mml:math id="m4">
<mml:mi>&#x2124;</mml:mi>
</mml:math>
</inline-formula>, <inline-formula id="inf5">
<mml:math id="m5">
<mml:mi>&#x2115;</mml:mi>
</mml:math>
</inline-formula>, or a finite set like <inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. For many applications including the ones in this paper, the indexing set is finite and will be omitted in notation for brevity, as in <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Given any time series we can construct a new time series called a sliding window embedding, which is also known as a time delay embedding with a lag or delay time of&#x20;1.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_2_3">
<label>Definition 2.3: </label>
<p>Given a time series <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> with vectors <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2208;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, a sliding window embedding of window length <italic>l of &#x3c4;</italic> is a new time series, <inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, with<disp-formula id="equ1">
<mml:math id="m11">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mtext>&#x2003;</mml:mtext>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mo>&#x2026;</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2208;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>V</mml:mi>
<mml:mi>l</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>where <inline-formula id="inf11">
<mml:math id="m12">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is concatenation of vectors.</p>
<p>That is, the <inline-formula id="inf12">
<mml:math id="m13">
<mml:mrow>
<mml:msup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> vector in the new time series is the concatenation of <italic>l</italic> consecutive vectors in the original time series and has dimension equal to <inline-formula id="inf13">
<mml:math id="m14">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>dim</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</statement>
</p>
<p>
<statement content-type="remark" id="Remark_2_4">
<label>Remark 2.4: </label>
<p>If the original time series has <italic>N</italic> points, then the sliding window embedding of window length <italic>l</italic> has <inline-formula id="inf14">
<mml:math id="m15">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> points, as one can see in <xref ref-type="statement" rid="Example_2_5">Example&#x20;2.5</xref>
<italic>.</italic>
</p>
</statement>
</p>
<p>
<statement content-type="example" id="Example_2_5">
<label>Example 2.5: </label>
<p>Consider the time series <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>1,2</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>3,4</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>5,6</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>7,8</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>9,10</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> in <inline-formula id="inf16">
<mml:math id="m17">
<mml:mrow>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>.</italic> The sliding window embedding of <italic>&#x3c4;</italic> of window length <inline-formula id="inf17">
<mml:math id="m18">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is<disp-formula id="equ2">
<mml:math id="m19">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>1,2,3,4,5,6</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>3,4,5,6,7,8</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>5,6,7,8,9,10</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2286;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mn>6</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>which has <inline-formula id="inf18">
<mml:math id="m20">
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> points.</p>
<p>We applied persistent homology (<xref ref-type="sec" rid="s2-3">Section 2.3</xref>) to sliding window embeddings of <italic>C. elegans</italic> video data in order to quantify behavior. Degree one persistent homology detected cycles in these sliding window embeddings which we show correspond to particular behaviors.</p>
<p>The cycles that persistent homology detects may consist of collections of points that trace out a closed&#x20;curve. A cycle is &#x201c;large&#x201d; or highly persistent if it encloses an area that could fit a large ball; a cycle that is tall and skinny has small persistence.</p>
<p>Below we see two examples where a time series exhibits a single periodic behavior but persistent homology will detect either two or zero non-trivial cycles. In contrast, the persistent homology of a sliding window embedding detects exactly one non-trivial cycle in both examples.</p>
</statement>
</p>
<p>
<statement content-type="example" id="Example_2_6">
<label>Example 2.6: </label>
<p>
<xref ref-type="fig" rid="F1">Figure&#x20;1A</xref> displays one period of a periodic time series in <inline-formula id="inf19">
<mml:math id="m21">
<mml:mrow>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> with the property that if successive points are connected by line segments then the path of the time series self-intersects. To discover this figure-eight-shaped loop, one might try to use persistent homology (<xref ref-type="sec" rid="s2-3">Section 2.3</xref>). However, persistent homology would detect two distinct loops, each comprising half of the period. See <xref ref-type="fig" rid="F2">Figure&#x20;2D</xref> for an illustration of these&#x20;loops.</p>
</statement>
</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>
<bold>(A)</bold> A time series in <inline-formula id="inf22">
<mml:math id="m24">
<mml:mrow>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> determines a self-intersecting curve. <bold>(B)</bold> The sliding window embedding of window length 10 separates the previously intersecting segments of the curve. <bold>(C)</bold> A sliding window embedding with a higher window length separates the intersecting segments even further. With too small of a window length <italic>l</italic>, the resulting loop will be relatively flat and long and will therefore have small persistence and be difficult to differentiate from&#x20;noise.</p>
</caption>
<graphic xlink:href="frai-04-668395-g001.tif"/>
</fig>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>
<bold>(A)</bold> The 1-skeleton of the Vietoris-Rips filtered simplicial complex of a figure-eight-shaped point cloud at four scales. <bold>(B)</bold> The degree 1 persistence diagram of the figure eight in 2-dimensions. Note that the point has multiplicity 2. <bold>(C)</bold> The corresponding degree 1 persistence landscape. The first and second landscapes are nonzero and identical and all other landscapes are trivial. <bold>(D)</bold> The two loops that generate the homology of the Vietoris-Rips complex on the figure&#x20;eight.</p>
</caption>
<graphic xlink:href="frai-04-668395-g002.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F1">Figures 1B,C</xref> show two-dimensional PCA projections of sliding window embeddings of the figure-eight for <inline-formula id="inf20">
<mml:math id="m22">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf21">
<mml:math id="m23">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, respectively, using the first and third principal components. In these point clouds the time series draw out simple closed curves, and in fact in each of these cases persistence detects a single&#x20;loop.</p>
<p>Notice that as the window length increases, the &#x201c;size&#x201d; of the loop increases. This increase in the loop&#x2019;s persistence makes it easier for persistent homology to robustly detect&#x20;it.</p>
<p>
<statement content-type="example" id="Example_2_7">
<label>Example 2.7: </label>
<p>
<xref ref-type="fig" rid="F3">Figure&#x20;3A</xref> shows a 1-dimensional time series that is a discretization of a sine wave. This periodic behavior creates no loops &#x2014;&#x20;in fact, because the points take values in <inline-formula id="inf23">
<mml:math id="m25">
<mml:mi>&#x211d;</mml:mi>
</mml:math>
</inline-formula>, the time series cannot produce degree 1 homology. However, a sliding window embedding, in this case of window length 4, creates a loop that is detected by persistent homology. That loop in <inline-formula id="inf24">
<mml:math id="m26">
<mml:mrow>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mn>4</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is projected down to two dimensions in <xref ref-type="fig" rid="F3">Figure&#x20;3B</xref>.</p>
</statement>
</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Sliding window embeddings encode periodic behavior in the form of loops. <bold>(A)</bold> A periodic time series that has trivial first homology. <bold>(B)</bold> A sliding window embedding with <inline-formula id="inf25">
<mml:math id="m27">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> of the original time series that has nontrivial first homology.</p>
</caption>
<graphic xlink:href="frai-04-668395-g003.tif"/>
</fig>
</sec>
<sec id="s2-3">
<title>2.3 Persistent Homology</title>
<p>In this section we provide an overview of persistent homology and how it may be used to produce quantitative summaries of the shape of a collection of points such as the sliding window embedding discussed&#x20;above.</p>
<p>
<statement content-type="definition" id="Definition_2_9">
<label>Definition 2.9: </label>
<p>A simplicial complex on a set of vertices <italic>V</italic> is a collection <italic>K</italic> of non-empty subsets of <italic>V</italic> such that if <inline-formula id="inf26">
<mml:math id="m28">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2208;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf27">
<mml:math id="m29">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2282;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, then <inline-formula id="inf28">
<mml:math id="m30">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2208;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. An element <inline-formula id="inf29">
<mml:math id="m31">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2208;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is called a simplex. An <italic>n</italic>-simplex or simplex of dimension <italic>n</italic> is a simplex <inline-formula id="inf30">
<mml:math id="m32">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2208;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> with size <inline-formula id="inf31">
<mml:math id="m33">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. The 1-skeleton of a simplicial complex <italic>K</italic> is the set of simplices with dimension at most one. A filtered simplicial complex or filtration is a collection <inline-formula id="inf32">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of simplicial complexes <inline-formula id="inf33">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> where <inline-formula id="inf34">
<mml:math id="m36">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2286;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>&#x211d;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> such that <inline-formula id="inf35">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2286;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for all <inline-formula id="inf36">
<mml:math id="m38">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2208;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> with <inline-formula id="inf37">
<mml:math id="m39">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2264;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>.</italic>
</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_2_10">
<label>Definition 2.10: </label>
<p>Let <inline-formula id="inf38">
<mml:math id="m40">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2282;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> be a finite set and let <inline-formula id="inf39">
<mml:math id="m41">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. The Vietoris-Rips complex of <italic>X</italic> at scale <italic>r</italic>, denoted <inline-formula id="inf40">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x211b;</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, is the simplicial complex with vertex set <italic>X</italic> and whose simplices are given as follows. <italic>A</italic> subset <inline-formula id="inf41">
<mml:math id="m43">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2282;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is an <italic>n</italic>-simplex in <inline-formula id="inf42">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x211b;</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> if and only if <inline-formula id="inf43">
<mml:math id="m45">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2264;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for all <inline-formula id="inf44">
<mml:math id="m46">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2208;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_2_11">
<label>Definition 2.11: </label>
<p>The Vietoris-Rips filtration of a finite set <inline-formula id="inf45">
<mml:math id="m47">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2282;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the collection <inline-formula id="inf46">
<mml:math id="m48">
<mml:mrow>
<mml:mi mathvariant="normal">&#x211b;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x211b;</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Note that while the Vietoris-Rips complex of <italic>X</italic> is parameterized by the non-negative reals, the finiteness of <italic>X</italic> guarantees that <inline-formula id="inf47">
<mml:math id="m49">
<mml:mrow>
<mml:mi mathvariant="normal">&#x211b;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> consists of only finitely many distinct simplicial complexes.</p>
</statement>
</p>
<p>
<statement content-type="example" id="Example_2_12">
<label>Example 2.12: </label>
<p>
<xref ref-type="fig" rid="F2">Figure&#x20;2A</xref> shows the 1-skeleton of the Vietoris-Rips complex of a pointcloud in <inline-formula id="inf48">
<mml:math id="m50">
<mml:mrow>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> at four scales. Notice that each simplicial complex includes into the&#x20;next.</p>
</statement>
</p>
<p>The persistent homology of a Vietoris-Rips filtration can be represented by a multiset in <inline-formula id="inf49">
<mml:math id="m51">
<mml:mrow>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> called a persistence diagram in which each point gives the scale of the appearance and disappearance of a topological feature (such as a loop) in the filtration.</p>
<p>
<statement content-type="example" id="Example_2_13">
<label>Example 2.13: </label>
<p>
<xref ref-type="fig" rid="F2">Figures 2B,C</xref> show the persistent homology in degree 1 of <xref ref-type="statement" rid="Example_2_12">Example 2.12</xref>. Notice that both <xref ref-type="fig" rid="F2">Figure&#x20;2B</xref>&#x2014;the persistence diagram&#x2014;and <xref ref-type="fig" rid="F2">Figure&#x20;2C</xref>&#x2014;the persistence landscape (see <xref ref-type="statement" rid="Definition_2_14">Definition 2.14</xref>)&#x2014;show two cycles, but because they are born and die at exactly the same radius parameters they are plotted in the same place. The two cycles are shown in <xref ref-type="fig" rid="F2">Figure&#x20;2D</xref>.</p>
<p>It is difficult to apply standard tools of statistics and machine learning directly to persistence diagrams, which, for example, need not have unique averages (<xref ref-type="bibr" rid="B15">Mileyko et&#x20;al., 2011</xref>). A solution is to map persistence diagrams into a vector space or Hilbert space. One such mapping is the persistence landscape. See (<xref ref-type="bibr" rid="B22">Bubenik, 2015</xref>) for the following definitions and results.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_2_14">
<label>Definition 2.14: </label>
<p>For <inline-formula id="inf50">
<mml:math id="m52">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3c;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> let <inline-formula id="inf51">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>&#x211d;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2192;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>&#x211d;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> be the piecewise-linear function given by<disp-formula id="equ3">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>if</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>if</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>otherwise.</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>Given a persistence diagram <inline-formula id="inf52">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>Dgm</mml:mtext>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="script">K</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, the corresponding <italic>k</italic>th persistence landscape is the function <inline-formula id="inf53">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>&#x211d;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2192;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>&#x211d;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> given by defining <inline-formula id="inf54">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> to be the <italic>k</italic>th largest value of <inline-formula id="inf55">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> over all points <inline-formula id="inf56">
<mml:math id="m59">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>Dgm</mml:mtext>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="script">K</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The persistence landscape is the sequence <inline-formula id="inf57">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The parameter k is called the depth of the persistence landscape. For a point cloud <italic>X</italic>, we will denote by <inline-formula id="inf58">
<mml:math id="m61">
<mml:mrow>
<mml:mtext>PL</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> the persistence landscape obtained by applying degree 1 persistent homology to the Vietoris-Rips filtration of&#x20;<italic>X</italic>.</p>
</statement>
</p>
<p>Persistence landscapes have unique averages, satisfy the law of large numbers and central limit theorems, and can be discretized for computations. Because the sequence of functions that make up a landscape are nested, they can all be graphed on the same plot as in the right column of <xref ref-type="fig" rid="F4">Figure&#x20;4</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>
<bold>(A)</bold> A time series <italic>&#x3c4;</italic>, <bold>(B)</bold> its sliding window embedding of window length <inline-formula id="inf61">
<mml:math id="m64">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <bold>(C)</bold> its smoothing by moving average filter of window length 20, and <bold>(D)</bold> the null model, all projected onto 2-dimensional axes of principal components. The corresponding persistence diagrams and persistence landscapes are to the&#x20;right.</p>
</caption>
<graphic xlink:href="frai-04-668395-g004.tif"/>
</fig>
<p>While the persistence landscape is defined to be an object in a space of continuous functions, it can be discretized and turned into a finite-dimensional vector. Through discretization, each depth of the landscape transforms from a continuous function on <inline-formula id="inf59">
<mml:math id="m62">
<mml:mi>&#x211d;</mml:mi>
</mml:math>
</inline-formula> to a vector where the <italic>i<sup>th</sup>
</italic> entry in the vector corresponds to the function value at the <italic>i<sup>th</sup>
</italic> discrete parameter value. The vectors for each depth of the landscape are concatenated together to produce a single high-dimensional vector. These discrete landscapes can be computed directly, which we did for the computations outlined in <xref ref-type="sec" rid="s2-4">Section&#x20;2.4</xref>.</p>
<p>This vector space (in fact, Hilbert space) setting lets us use linear algebra-based statistical and machine learning techniques such as principal component analysis (PCA). The principal components from PCA on discretized landscapes can be converted into a format much like a persistence landscape&#x2014;a sequence of continuous functions on <inline-formula id="inf60">
<mml:math id="m63">
<mml:mi>&#x211d;</mml:mi>
</mml:math>
</inline-formula>&#x2014;but the principal components are not themselves persistence landscapes because the functions fail to be nonnegative.</p>
</sec>
<sec id="s2-4">
<title>2.4 Pipeline</title>
<p>In this section we give details for our analysis of <italic>C. elegans</italic> data. The input consist of piecewise linear midlines of <italic>C. elegans</italic> from video recordings as described in <xref ref-type="sec" rid="s2-1">Section 2.1</xref>. These midlines were parameterized by the 100 angles between adjacent segments and then were transformed using PCA, so each sample input to our system was a time series <italic>&#x3c4;</italic> of 100-dimensional vectors measured in radians. See Figure&#x20;1 in (<xref ref-type="bibr" rid="B26">Stephens et&#x20;al., 2008</xref>) and the accompanied description for more details on this parameterization of the <italic>C. elegans</italic> midlines or see our short summary of the procedure in <xref ref-type="sec" rid="s2-1">Section&#x20;2.1</xref>.</p>
<p>The time domain of this time series was divided into overlapping patches of a given size called the patch length, resulting in a collection <inline-formula id="inf62">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of smaller time series. For our experiments, a patch length of 300 was chosen, with adjacent patches overlapping by half of the patch length. The sliding window embeddings of the <inline-formula id="inf63">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> were then computed with window length parameter <inline-formula id="inf64">
<mml:math id="m67">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, resulting in a new collection <inline-formula id="inf65">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>l</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of time series of length <inline-formula id="inf66">
<mml:math id="m69">
<mml:mrow>
<mml:mn>300</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>281</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. This analysis is not particularly sensitive to the choices of the hyperparameters patch length and window length; only extreme changes in either parameter lead to significant changes in results. The hyperparameter choices were motivated by the timescales at which <italic>C. elegans</italic> complete meaningful behaviors: for patch length, 150 frames of 30 fps video is 5&#xa0;s of behavior; for window lengths, 20 frames is 0.67&#xa0;s and corresponds to roughly one period of forward crawling in adult <italic>C. elegans</italic> submerged in the <inline-formula id="inf67">
<mml:math id="m70">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> methylcellulose environment. Strategies for choosing appropriate window lengths are described in (<xref ref-type="bibr" rid="B11">Perea and Harer, 2015</xref>). The method for cross validation of the choice of window length is described at the end of this section.</p>
<p>Persistence diagrams were computed for each of the patches <inline-formula id="inf68">
<mml:math id="m71">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>l</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. This step accounts for the vast majority of the computational resources of the pipeline, and the computational costs are made worse by the concatenation of vectors in a sliding window embedding. This is where we greatly benefit from the preprocessing that turns video data, which is extremely high-dimensional (see (<xref ref-type="bibr" rid="B31">Tralie and Perea, 2018</xref>) Section 3.1), into a 100-dimensional time series. On a 2017&#x20;15-inch MacBook Pro with a 2.8&#xa0;GHz Intel Core i7 processor and 16&#xa0;GB of RAM, this step took 22588.632&#xa0;s, or about 6&#xa0;h and 15&#xa0;min.</p>
<p>For each <inline-formula id="inf69">
<mml:math id="m72">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>l</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, a (discretized) persistence landscape <inline-formula id="inf70">
<mml:math id="m73">
<mml:mrow>
<mml:mtext>PL</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>l</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> was computed from the persistence diagram of the Vietoris-Rips complex <inline-formula id="inf71">
<mml:math id="m74">
<mml:mrow>
<mml:mi mathvariant="normal">&#x211b;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>l</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The grid of parameter values on which the persistence landscape was evaluated to produce its discretization was chosen to include all of the bars of the barcode and to be sufficiently fine to produce nice visualizations. Since the persistence landscapes are piecewise linear with slope bounded by <inline-formula id="inf72">
<mml:math id="m75">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the step size of this discretization bounds the error and there is eventually little to be gained from a finer discretization. The step size of the discretization we used was 0.1. The maximum depth was chosen to include all nonzero depths of the persistence landscapes.</p>
<p>The collection <inline-formula id="inf73">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtext>PL</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>l</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of persistence landscapes was then assembled into a single summary for a given video by averaging the persistence landscapes across patches to result in a single average persistence landscape associated to each video. These steps are summarized in <xref ref-type="fig" rid="F5">Figure&#x20;5</xref>. For each environment viscosity, the average persistence landscapes for each video were averaged to give an average persistence landscape of the&#x20;class.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Pipeline for a single&#x20;worm.</p>
</caption>
<graphic xlink:href="frai-04-668395-g005.tif"/>
</fig>
<p>The persistence landscapes for each class were used for analysis of the sliding window embedding as follows. Distances between each class&#x2019; average persistence landscapes were computed using the usual Euclidean distance. The pairwise distances were visualized using multidimensional scaling to give a 2-dimensional visualization of the similarities between the classes; see <xref ref-type="fig" rid="F6">Figure&#x20;6A</xref>.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>
<bold>(A)</bold> Multidimensional scaling of average persistence landscape of each sample. <bold>(B)</bold> Multidimensional scaling of average persistence landscapes of the classes and the origin.</p>
</caption>
<graphic xlink:href="frai-04-668395-g006.tif"/>
</fig>
<p>Principal component analysis (PCA) was applied to the set of average persistence landscapes for each video and the first two principal components were plotted as sequences of functions. We plotted the PCA projection of these video average persistence landscapes together with the average of each class; see <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>. These plots visualize some of the similarity between classes and variation within classes.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>
<bold>(A)</bold> Projection of average persistence landscapes onto two principal components, with average persistence landscapes of videos given by outlined symbols and average persistence landscapes of classes given by solid symbols. <bold>(B)</bold> The first two principal components.</p>
</caption>
<graphic xlink:href="frai-04-668395-g007.tif"/>
</fig>
<p>Next, we further studied the variation within classes in two ways. First, the standard deviations of each coordinate were computed for the average persistence landscapes of the videos in each class. These were visualized as sequences of functions in <xref ref-type="fig" rid="F8">Figure&#x20;8B</xref> to show the variation in different parts of the average persistence landscapes. Second, we applied PCA to the average persistence landscapes of the videos in each class and plotted the cumulative variances explained by the first <italic>n</italic> principal components for <inline-formula id="inf74">
<mml:math id="m77">
<mml:mrow>
<mml:mi>n</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:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> (10 is the number of samples in each class). The first three principal components were also computed. See <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>
<bold>(A)</bold> The average landscapes for each environmental viscosity, distinguished by percentage of methylcellulose present. The averages here are taken over the average persistence landscape of videos (i.e. individuals) in a given viscosity class. <bold>(B)</bold> Standard deviations of each coordinate in the average persistence landscapes for each class. <bold>(C)</bold> The first landscapes of each sample landscape, organized by class. These concurrently plotted first landscapes show the variation in the samples for each class. <bold>(D,E)</bold> The second and third landscapes, respectively, for each sample according to its class. All plots share the same <italic>x</italic>-axis; the groups of plots in <bold>(A)</bold>, <bold>(B)</bold>, and <bold>(C&#x2013;E)</bold> each have their own <italic>y</italic>-axis&#x20;scale.</p>
</caption>
<graphic xlink:href="frai-04-668395-g008.tif"/>
</fig>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>PCA on the videos in each class. For each class: <bold>(A)</bold> video frames showing representative postures. <bold>(B)</bold> The cumulative variance of the first <italic>n</italic> principal components. <bold>(C&#x2013;E)</bold> The first three principal components, labeled with the percent of the variance described by that component. These results show increasing complexity of shape and behavior as the environment becomes more viscous.</p>
</caption>
<graphic xlink:href="frai-04-668395-g009.tif"/>
</fig>
<p>We conducted a permutation test on the pairwise Euclidean distances between the average persistence landscapes of each videos. We used <inline-formula id="inf75">
<mml:math id="m78">
<mml:mrow>
<mml:mn>10,000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> permutations for each permutation test. The approximate <italic>p</italic>-value equals the percentage of cases in which the distance is at least as large as the observed distance. Results can be found in <xref ref-type="table" rid="T2">Table&#x20;2A</xref>.</p>
<p>We applied multiclass support vector machines (SVM) to classify samples according to viscosity of their environments. We use the ksvm function from the kernlab package in R on the average persistence landscapes of the videos. Accuracy was estimated using 10-fold cross validation with cost set to 10. Cross validation was repeated 20&#x20;times and the results were averaged. A confusion matrix for one instance of SVM with 10-fold cross validation was also computed and is shown in <xref ref-type="table" rid="T2">Table&#x20;2B</xref>.</p>
<p>We used support vector regression (SVR) to approximate viscosity of the worm environments given the worm&#x2019;s behavior data. The goal was to assess how predictive our techniques are. Accuracy was estimated by averaging 10 repetitions of 10-fold cross validation. Results are plotted in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>.</p>
<p>As a final step we applied cross validation to the hyperparameter window length. We cross-validated the choice of window length by running the above pipeline for window lengths of 1, 10, 20, and 30 on a subset of the data. To reduce total computation time, we restricted to the first minute of each video, which corresponds to 1800 frames. We then compared the permutation test and multiclass SVM results to see which hyperparameter choice gave the best results. The results from cross validation of window length can be found in <xref ref-type="sec" rid="s3-2-1">Section&#x20;3.2.1</xref>.</p>
</sec>
<sec id="s2-5">
<title>2.5 Validation</title>
<p>To help validate our pipeline, we compared our results to those obtained by applying the same computational procedure to a null model given by randomly permuting the frames in each&#x20;video.</p>
<p>We also studied the effects of using a preprocessing step different from sliding window embeddings: moving average filters. A moving average filter of window length <italic>l</italic> of time series data creates a new time series. This time series has the same length as the corresponding sliding window embedding and each point in the time series is constructed using the same window of the original time series. The moving average filter, however, takes the average of the vectors in its window, instead of concatenating&#x20;them.</p>
<p>Furthermore, we compared our results to the ones obtained from two simpler techniques. For the first technique we attempted to characterize <italic>C. elegans</italic> behavior using the speed of the worm. To do this, we computed 2-norms of the differences between two consecutive frames of angle data and then averaged all of those discrete derivatives, which resulted in a single value per sample. For the second technique, which could be described as measuring the variance of the worm&#x2019;s pose over a video, we computed standard deviations for the angle data coordinate-wize, which resulted in a vector of length 100 per sample. In each case we performed a permutation test and multiclass SVM on the resulting feature vectors. The results of these experiments appear in <xref ref-type="sec" rid="s3-2-2">Section&#x20;3.2.2</xref>.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Results</title>
<p>We present the results of a case study of a single sample of behavior data and an experiment on the effects of viscosity of the surrounding environment on <italic>C. elegans</italic> locomotion and behavior. The case study&#x20;assesses a significantly smaller data set and directly links topological features to specific behaviors. The experimental results in <xref ref-type="sec" rid="s3-2">Section 3.2</xref> are more difficult to directly interpret in terms of specific behaviors but nonetheless we show the effectiveness of persistent homology in distinguishing variations in behaviors. We leave more explicit interpretation of average persistence landscapes in terms of specific behaviors for future&#x20;work.</p>
<sec id="s3-1">
<title>3.1 An Illustrative Case Study</title>
<p>The following results were obtained by carefully analyzing a sample of <italic>C. elegans</italic> behavior data from a video of a worm crawling on agar. The sample consists of 400 frames of a 30 frames per second video, so roughly 13&#xa0;s of behavior. Having a solid surface to provide friction forces slower but more complicated behavior than we would see in an aqueous environment, and we take advantage of the resulting clarity of the&#x20;data.</p>
<p>In the data we analyzed the subject exhibits the following behaviors in chronological order:<list list-type="simple">
<list-item>
<p>1. crawl forward,</p>
</list-item>
<list-item>
<p>2. crawl backward,</p>
</list-item>
<list-item>
<p>3. pause,&#x20;and</p>
</list-item>
<list-item>
<p>4. crawl backward&#x20;again.</p>
</list-item>
</list>
</p>
<p>Below we analyze the time series <italic>&#x3c4;</italic> from this data, the corresponding sliding window embedding <inline-formula id="inf76">
<mml:math id="m79">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, the corresponding moving average filter, and the sliding window embedding of the corresponding null model. These comparisons illustrate various strengths of the sliding window embedding: it smooths the noise from the original time series; it retains more geometric data than the moving average filter; and it captures temporal data from the original time series that is destroyed in the null model. Then, using representative cycles we construct synthetic <italic>C. elegans</italic> midline data that produce a forward crawl and explain how this process gives concrete interpretations of persistence features in terms of synthetic behavior data. See <xref ref-type="sec" rid="s3-1-1">Section&#x20;3.1.1</xref>.</p>
<p>To visualize the four point clouds on which we will compute persistence, we apply PCA and project onto the first few principal components. Some of these projections are shown in the two left-most columns of <xref ref-type="fig" rid="F4">Figure&#x20;4</xref>. In contrast to the three other time series, the null model time series in <xref ref-type="fig" rid="F4">Figure&#x20;4D</xref> has no discernible geometric structure. It appears that the corruption of temporal information has destroyed the interpretability of the visualizations of sliding window embeddings. Meanwhile, the original time series <italic>&#x3c4;</italic> in <xref ref-type="fig" rid="F4">Figure&#x20;4A</xref> has a similar shape to its sliding window embedding <inline-formula id="inf77">
<mml:math id="m80">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in <xref ref-type="fig" rid="F4">Figure&#x20;4B</xref>, with the caveat that the sliding window embedding has the effect of smoothing the data and making it more robust to noise. The moving average filter in <xref ref-type="fig" rid="F4">Figure&#x20;4C</xref> also has this smoothed property. Though the three time series in <xref ref-type="fig" rid="F4">Figures 4A&#x2013;C</xref> have similar shapes, persistence diagrams, and persistence landscapes, they vary in one important feature: the&#x20;pause.</p>
<p>In <xref ref-type="fig" rid="F10">Figure&#x20;10A</xref> the points in the sliding window embedding that correspond to frames where the worm is performing a specific behaviors are highlighted. The points corresponding to the pause behavior deviate from the path of points corresponding to crawling backwards. This deviation is small compared to the noisiness of the original time series, so the pause deviation does not create a large topological feature in the graph of the original time series. This is reflected in the persistence diagrams and landscapes of <xref ref-type="fig" rid="F4">Figure&#x20;4</xref> as well; the original time series diagram and landscape <xref ref-type="fig" rid="F4">Figure&#x20;4A</xref> show only three significant topological features, while the diagram and landscape of the sliding window embedding <xref ref-type="fig" rid="F4">Figure&#x20;4B</xref> and moving average filter <xref ref-type="fig" rid="F4">Figure&#x20;4C</xref> show&#x20;four.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>
<bold>(A)</bold> Points in the sliding window embedding <inline-formula id="inf78">
<mml:math id="m81">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> that correspond to each of the labeled behaviors are highlighted. <bold>(B)</bold> The representative cycles with longest persistence from automated persistence software correspond to specific behaviors. <bold>(C)</bold> The persistence diagram with the homology class corresponding to the above cycle representative highlighted. <bold>(D)</bold> Still frames from a looping video of forward crawling data. The full video is in <xref ref-type="sec" rid="s9">Supplementary Materials</xref>. This synthetic data was constructed from the forward representative cycle in <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="frai-04-668395-g010.tif"/>
</fig>
<p>The sliding window embedding and moving average filter both smooth the input data and detect the pause behavior, but they are qualitatively different. One piece of geometric information that the sliding window embedding retains that the moving average filter does not is the direction of the time series. Consider plotting a time series and the corresponding reverse-chronological-order time series in the same ambient space. The points of the original time series would align exactly with its reverse, so the two corresponding point clouds are the same. This is also true of a moving average filter on that time series. The sliding window embedding, however, can have distinct point clouds.</p>
<p>Retaining the direction of time in a time series is particularly important for data that has certain types of symmetry. A natural occurrence of such data is the sine wave data in <xref ref-type="statement" rid="Example_2_7">Example 2.7</xref>. Because the data in this time series follows a path and then backtracks along that path, it never produces a loop with any significant persistence. There is no loop in the moving average filter of the data, either.</p>
<sec id="s3-1-1">
<title>3.1.1 Interpretability: Mapping Persistence Features to (Synthetic) Behaviors</title>
<p>We computed representative cycles for persistent homology classes for each of the longest-persisting topological features in the sliding window embedding using Dionysus (<xref ref-type="bibr" rid="B16">Morozov, 2017</xref>). These are shown in <xref ref-type="fig" rid="F10">Figure&#x20;10B</xref>. The homology classes that correspond to each of these representative cycles are highlighted in <xref ref-type="fig" rid="F10">Figure&#x20;10C</xref>. We remark that instead of the representative cycles produced by Dionysus one may want to use (approximate) shortest cycle representatives (<xref ref-type="bibr" rid="B10">Jeff Erickson, 2012</xref>; <xref ref-type="bibr" rid="B6">Dey et&#x20;al., 2018</xref>; <xref ref-type="bibr" rid="B17">Obayashi, 2018</xref>; <xref ref-type="bibr" rid="B30">Day et&#x20;al., 2019</xref>).</p>
<p>One of the benefits of using persistence for behavior analysis is that these representative cycles give a direct translation from persistence back into <italic>C. elegans</italic> behavior. Each point in the cycle corresponds to <italic>l</italic> poses and these points have a defined sequence in the cycle. The cycle lacks a direction (which way is forward in time vs which way is backward) but in many cases a direction can be inferred by subsets of the sequence that correspond to contiguous sequences in the original time series. Given all this data and a way to combine <italic>l</italic> poses into one &#x201c;average&#x201d; pose, we can construct synthetic, periodic behavior data from representative cycles. An example of frames from such a video is shown in <xref ref-type="fig" rid="F10">Figure&#x20;10D</xref> and the corresponding video is available in the <xref ref-type="sec" rid="s9">Supplementary Materials</xref>.</p>
</sec>
</sec>
<sec id="s3-2">
<title>3.2 Experimental Results</title>
<p>We present our analysis of an experiment where <italic>C. elegans</italic> are submerged in solutions with varying viscosities. The viscosity of&#x20;the solution is correlated with how much methylcellulose is added and experimental conditions are labeled with their methylcellulose content, usually in order from low to high methylcellulose and viscosity.</p>
<p>Average persistence landscapes for each class are shown in <xref ref-type="fig" rid="F8">Figure&#x20;8A</xref>. The lower viscosity conditions allow for larger depth one landscapes <inline-formula id="inf79">
<mml:math id="m82">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> but have relatively few non-zero higher-depth landscapes, which means there are a smaller number of larger loops detected in the sliding window embeddings. This indicates that in lower-viscosity environments, <italic>C. elegans</italic> exhibit behaviors of higher amplitude but either demonstrate fewer distinct behaviors or have much less variation between repetitions of behaviors. Conversely, the high-viscosity classes show many more cycles in the sliding window embeddings, with each cycle being small compared to the cycles found in the low-viscosity environments. These observations suggest that at high-viscosity, behaviors do not involve large changes in posture and are more varied. From observing the raw video data, it is apparent that in higher-viscosity environments <italic>C. elegans</italic> can make smaller, tighter body bends, which is consistent with these results.</p>
<p>We also observed that as viscosity increases, the support of the persistence landscapes stretches further to the right and cycles are born at higher radius values. The worms seemed to exhibit less varied behaviors in lower-viscosity environments, so perhaps in such environments they continued &#x201c;retracing their steps&#x201d; through the sliding window embedding space which resulted in more densely sampled curves and thus homology classes formed at lower&#x20;radii.</p>
<p>The pairwise distances between landscapes for each sample are visualized in <xref ref-type="fig" rid="F11">Figure&#x20;11</xref>. The normalized pairwise distances between the average persistence landscapes for each class are shown in <xref ref-type="table" rid="T1">Table&#x20;1</xref>. We include the origin&#x2014;the zero persistence landscape, i.e. the 0 vector&#x2014;in these distance computations to complete the normalization. Normalization is such that the average distances between each class and the origin is 1. Multidimensional scaling on these distances visualizes the similarities between samples and classes, respectively, and are shown in <xref ref-type="fig" rid="F6">Figure&#x20;6</xref>. From the raw distances and the multidimensional scaling of the distances, we can see that the high-viscosity classes (<inline-formula id="inf80">
<mml:math id="m83">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf81">
<mml:math id="m84">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> methylcellulose) are closest together and that this pair, the <inline-formula id="inf82">
<mml:math id="m85">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> class, and the <inline-formula id="inf83">
<mml:math id="m86">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> class are roughly equidistant from one another.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Heatmap of the distance matrix of average persistence landscapes of samples.</p>
</caption>
<graphic xlink:href="frai-04-668395-g011.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Normalized pairwise distances between average persistence landscapes of each class, where distance is Euclidean distance between vectors in <inline-formula id="inf113">
<mml:math id="m116">
<mml:mrow>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mrow>
<mml:mn>255969</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and the normalization is such that the average distance to the origin is 1.</p>
</caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
<inline-graphic xlink:href="frai-04-668395-fx1.tif"/>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Principal component analysis on the average persistence landscapes for each sample gives the graphs in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>. In <xref ref-type="fig" rid="F7">Figure&#x20;7A</xref>, the projections of the average persistence landscapes of the samples onto the first two principal components are given by hollow symbols and projections of the average persistence landscapes of the classes are given by solid symbols. Here we see results similar to those from the multidimensional scaling in <xref ref-type="fig" rid="F6">Figure&#x20;6</xref>: the low-viscosity class landscapes are far from each other and the high-viscosity classes, while the high-viscosity class landscapes are quite close. We can also see some of the variance within classes. The low-viscosity classes have much more variability than the high-viscosity classes, with the highest-viscosity class, <inline-formula id="inf84">
<mml:math id="m87">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> methylcellulose, having very little variation in these first two principal components.</p>
<p>These conclusions about variation in each of the classes are supported by the standard deviations of each coordinate in the average (discrete) persistence landscapes of each class. In <xref ref-type="fig" rid="F8">Figure&#x20;8B</xref> the standard deviations of each coordinate are graphed as sequences of functions so that the standard deviations can be easily matched up with their corresponding locations on the average persistence landscapes. We conclude that there is little variation in the <inline-formula id="inf85">
<mml:math id="m88">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> class, slightly more in the <inline-formula id="inf86">
<mml:math id="m89">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> class, and much more in the <inline-formula id="inf87">
<mml:math id="m90">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf88">
<mml:math id="m91">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> classes. The <inline-formula id="inf89">
<mml:math id="m92">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> class showed more variation in higher-depth landscapes than the <inline-formula id="inf90">
<mml:math id="m93">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> class, suggesting that <italic>C. elegans</italic> can produce slightly more complex behaviors in a slightly higher viscosity environments. The variances of the <inline-formula id="inf91">
<mml:math id="m94">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf92">
<mml:math id="m95">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> classes also exhibit a distinct pattern; the <inline-formula id="inf93">
<mml:math id="m96">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> samples varied more toward the lower radius parameters (the left side of the graph), whereas the <inline-formula id="inf94">
<mml:math id="m97">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> samples varied more toward higher (more to the right) radius parameters.</p>
<p>In the following analysis we study the complexity of behavior expressed in each class. <xref ref-type="fig" rid="F9">Figure&#x20;9</xref> shows results from using PCA on the videos in each class. The viscosity of the environment is negatively correlated with the percent of variance explained by the first principal component, which suggests that behaviors in low-viscosity environments are simpler than those in high-viscosity environments. Viscosity appears to be correlated with the number of nonzero landscapes, which also suggests that high-viscosity environments allow for more varied behaviors.</p>
<p>We conducted permutation tests between pairs of classes to determine how well average persistence landscapes can distinguish between samples from different classes. The <italic>p</italic>-values for these computations are shown in <xref ref-type="table" rid="T2">Table&#x20;2A</xref>. The permutation test gives strong evidence of statistical significance, i.e. that the topological summaries of samples from each class are significantly different.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Classification statistics. (A) Permutation test results. (B) Confusion matrix for one instance of SVM with 10-fold cross validation.</p>
</caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
<inline-graphic xlink:href="frai-04-668395-fx2.tif"/>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We then used multiclass support vector machines (SVM) to build a classifier for the samples. The estimated accuracy of the classifier, computed by averaging accuracies across 20 instantiations of the multiclass SVM classifier, was 95.125%. This indicates that persistent homology is able to produce meaningful, distinguishing features from the <italic>C. elegans</italic> videos. A sample confusion matrix for one instance of SVM is shown in <xref ref-type="table" rid="T2">Table&#x20;2B</xref>. Finally, we used support vector regression to estimate the methylcellulose content in the environment for each sample. The results are plotted in <xref ref-type="fig" rid="F12">Figure&#x20;12</xref>. There are two outliers on this graph which are estimated as having negative methylcellulose content. The two animals in these samples moved much more quickly than their peers, so we believe that the SVR is picking up on the strong negative correlation between viscosity of the environment and speed, and based on these animals&#x2019; fast speed, assigning a methylcellulose content that is so low that it is negative.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>SVR estimates of methylcellulose content for each sample. Horizontal lines are at <inline-formula id="inf95">
<mml:math id="m98">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf96">
<mml:math id="m99">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf97">
<mml:math id="m100">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf98">
<mml:math id="m101">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> methylcellulose.</p>
</caption>
<graphic xlink:href="frai-04-668395-g012.tif"/>
</fig>
<sec id="s3-2-1">
<title>3.2.1 Cross Validation of Window Length</title>
<p>As was shown in <xref ref-type="statement" rid="Example_2_6">Example 2.6</xref>, changes in the window length of the sliding window embedding can affect the conclusions drawn from our computational pipeline. In fact, sliding window embeddings have been critiqued for their need of this seemingly arbitrary parameter that can cause significant artifacts when dealing with volatile data (<xref ref-type="bibr" rid="B12">Lindquist et&#x20;al., 2014</xref>). Our data is not particularly volatile since it is constrained by physical limitations of <italic>C. elegans</italic>, but we have still justified our choice of window length by conducting cross validation.</p>
<p>We assembled the results from running our computational pipeline with window lengths of 1, 10, 20, and 30. We found that different window lengths could be more useful for different&#x20;tasks.</p>
<p>The permutation test and multiclass SVM results show that using a window length of 1 (i.e.,&#x20;not using a sliding window embedding) is the most predictive and that the smaller the window length, the better the accuracy. Window length 1 had the largest multiclass SVM accuracy at <inline-formula id="inf99">
<mml:math id="m102">
<mml:mrow>
<mml:mn>95.500</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> compared to accuracies <inline-formula id="inf100">
<mml:math id="m103">
<mml:mrow>
<mml:mn>91.750</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf101">
<mml:math id="m104">
<mml:mrow>
<mml:mn>83.375</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf102">
<mml:math id="m105">
<mml:mrow>
<mml:mn>79.125</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> for window lengths 10, 20, and 30, respectively. The permutation test results were less definitive, with window length 1 showing slightly more separation between the <inline-formula id="inf103">
<mml:math id="m106">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf104">
<mml:math id="m107">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> methylcellulose classes but all window lengths giving strong results. The runtimes of each computation differed significantly, with window length one data running for just over 5&#xa0;min while window length 30 data took 90&#xa0;min. This indicates that for predictive purposes and doing statistics on large data sets, using persistence on as close to the raw data as possible is best, but sliding window embeddings can still be useful if they are desirable for other reasons.</p>
<p>These statistical results contrast with the ease of visualization and interpretability of the analyses using the different window lengths. PCA projections of the cross validation data show much more differentiation between classes when the window length is 10, 20, or 30 compared to when it is 1. This is presumably because the first two principal components do not explain as much of the variation in the raw data, so separation between classes takes more principal components to describe. Meanwhile, sliding window embeddings consolidate variation in the samples into fewer principal components, so there are fewer significant principal components to visualize and interpret in terms of the original application. Essentially, sliding window embeddings give a slightly simplified but still predictive representation of the raw&#x20;data.</p>
<p>We can also see from <xref ref-type="fig" rid="F4">Figure&#x20;4</xref> that PCA projections of behavior data are easier to interpret when we use a sliding window embedding than when we look at just the raw time series. Recall that one of the behavioral features from the data&#x2014;the pause&#x2014;was not detectable over noise when looking at the PCA projection of the original time series but could be identified in both the PCA projection and the persistence landscape of the sliding window embedding. Because we were able to identify the topological feature we were also able to compute a corresponding representative cycle, which in turn allowed an estimate of the locomotion corresponding to the pause behavior to be constructed. Identification and construction of the corresponding locomotion of the pause behavior would have been more difficult using the original time series.</p>
</sec>
<sec id="s3-2-2">
<title>3.2.2 Validation Results</title>
<p>We conducted permutation tests and applied multiclass SVM for data from two simple behavior quantification techniques which are described in <xref ref-type="sec" rid="s2-5">Section 2.5</xref>. Results of the permutation test are listed in <xref ref-type="table" rid="T3">Table&#x20;3</xref>. For the method based on averages of 2-norms of consecutive frames of vector angles the cross validation error was <inline-formula id="inf105">
<mml:math id="m108">
<mml:mrow>
<mml:mn>12.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and training error was <inline-formula id="inf106">
<mml:math id="m109">
<mml:mrow>
<mml:mn>7.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. For the method based on standard deviations of vector angles the cross validation error was <inline-formula id="inf107">
<mml:math id="m110">
<mml:mrow>
<mml:mn>70</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and training error was <inline-formula id="inf108">
<mml:math id="m111">
<mml:mrow>
<mml:mn>35</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. Though more computationally taxing, persistence and sliding window embeddings produced much more accurate results than either of these simpler techniques.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Permutation test results on simpler techniques which use rough measures of each worm&#x2019;s average movement speed and variation in posture. (A) Speed: averages of 2-norms of the difference between consecutive frames of vector angles. (B) Posture change: standard deviations of vectors angles.</p>
</caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
<inline-graphic xlink:href="frai-04-668395-fx3.tif"/>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Computations for the null model involve permuting the original time series of each sample and running our sliding window embedding and persistence techniques on that permuted data. Analysis of the null model showed that temporal information is necessary for our techniques to give good accuracy differentiating between samples taken in differing viscosity environments.</p>
<p>For the null model, the average error across 20 iterations of 10-fold cross validation on SVMs was <inline-formula id="inf109">
<mml:math id="m112">
<mml:mrow>
<mml:mn>51.625</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. The permutation tests showed that we could distinguish the <inline-formula id="inf110">
<mml:math id="m113">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> methylcellulose class without temporal information, but could not do as well differentiating between the three higher viscosity classes. It seems that the distribution of poses in the <inline-formula id="inf111">
<mml:math id="m114">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> methylcellulose class was different enough from the other classes to produce noticeably larger topological features that resulted in larger landscapes. This is probably because the lowest viscosity class had more extreme poses and thus the diameter of the space of poses for that class was significantly larger.</p>
</sec>
</sec>
</sec>
<sec id="s4">
<title>4 Discussion</title>
<p>We have demonstrated that persistent homology is a viable technique for studying <italic>C. elegans</italic> behavior and provides useful interpretations and visualizations. Our method consists of constructing sliding window embeddings of time series of piecewise linear <italic>C. elegans</italic> skeletons and using degree one persistent homology to create topological summaries for each patch of each video. These topological summaries, called persistence landscapes, are averaged over patches to produce a single average persistence for each video. These average persistence landscapes are our topological summary statistics and they are the statistics to which we apply further statistical analysis and machine learning techniques, such as principal component analysis, multidimensional scaling, permutation tests, and multiclass support vector machines. As far as we are aware, this is the first application of persistent homology to <italic>C. elegans</italic> behavior&#x20;data.</p>
<p>Our analysis showed that persistence is able to detect variability in <italic>C. elegans</italic> behavior data, but also that it can provide interpretable conclusions and useful visualizations. The potential of persistence for interpretability and visualization results is demonstrated in the case study of <xref ref-type="sec" rid="s3-1">Section 3.1</xref>, where topological features were connected directly to behavioral features and persistence was used to create synthetic behavior data corresponding to stereotyped behaviors such as forward crawling. Our analysis of experimental data shows that persistent homology can detect the variation of behavior induced by changes in the viscosity of the environment. It also suggests that persistence can measure complexity of behavior and that sliding window embeddings with low window lengths can be more predictive while sliding window embeddings with higher window lengths can be more useful for producing clear and interpretable visualizations, including video of synthetic&#x20;data.</p>
<p>Persistent homology produces powerful summaries of the &#x201c;shape&#x201d; of data. However, using persistent homology in a way that is interpretable by experimentalists is a challenge and a topic of current research. We take a step in this direction by using representative cycles of the most persistent features of a sliding window embedding to produce synthetic videos of characteristic cyclic behaviors. At this time, there does not exist a straightforward way to similarly interpret our composite summaries, the average persistence landscapes. However, there is work in progress toward this goal (<xref ref-type="bibr" rid="B21">Bubenik and Wagner, 2018</xref>), and our pipeline would be able to incorporate such advances.</p>
<p>Our analysis has implications for future experimental design. We observed that low-viscosity environments allow for the detection of variation between samples, while high-viscosity environments may allow animals to perform more complex and varying behaviors. Tuning the viscosity of the environment for an experiment or performing experiments in multiple fluid environments with varying viscosities could allow for more easily assessing results regarding variations within populations or variations in behavior.</p>
<p>An extension to this experiment that could provide more validation for our techniques would be to include samples from two new environmental conditions: buffer, which would correspond to <inline-formula id="inf112">
<mml:math id="m115">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mtext>%</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> methylcellulose and a lower viscosity than appears in our current data; and agar, which provides a solid surface for the worms to crawl on and surrounding air as opposed to an aqueous environment to be submerged and swim in. We would expect the new buffer class to allow for only fast, simple behaviors in line with the experiments already done, and the agar environment to allow more complex behaviors in the subjects.</p>
<p>The method that we have developed for applying topological data analysis to <italic>C. elegans</italic> locomotion data will facilitate the future study of biological phonemena such as aging. In particular, our rich quantitative summary of locomotion suggests that we may be able to measure not just lifespan, but &#x201c;healthspan,&#x201d; the length of time an individual is healthy and physically capable. Many therapies and medicines for humans and other organisms have a goal of expanding healthspan, and therefore require a detailed measure of the ability to locomote, such as those provided by our methods.</p>
</sec>
</body>
<back>
<sec id="s5">
<title>Data Availability Statement</title>
<p>Publicly available datasets were analyzed in this study. This data can be found here: <ext-link ext-link-type="uri" xlink:href="https://www.youtube.com/playlist?list=PL5pzQyEKVlEjcmBWn9IVFivLJ4nqKKWC8">https://www.youtube.com/playlist?list&#x3d;PL5pzQyEKVlEjcmBWn9IVFivLJ4nqKKWC8</ext-link>.</p>
</sec>
<sec id="s6">
<title>Author Contributions</title>
<p>KB collected and preprocessed the data under the guidance of HL. AT, AE, and IH analyzed the data under the guidance of PB. AT, HL, and PB regularly discussed the direction of the project from both biological and mathematical points of&#x20;view.</p>
</sec>
<sec id="s7">
<title>Funding</title>
<p>This research was partially supported by the Southeast Center for Mathematics and Biology, an NSF-Simons Research Center for Mathematics of Complex Biological Systems, under National Science Foundation Grant No. DMS-1764406 and Simons Foundation Grant No. 594594. This material is based upon work supported by, or in part by, the Army Research Laboratory and the Army Research Office under contract/grant number W911NF-18-1-0307. Research reported in this publication was supported in part by the National Institutes of Health under award numbers R01NS096581, R01NS115484, and R01AG056436. The collection of the data used in this research was partially supported by the National Institutes of Health's Ruth L. Kirschstein NRSA award 1F31GM123662.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<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>
<ack>
<p>The authors would like to thank the referees whose many comments considerably improved our manuscript. AT would also like to thank Kim Le for helpful conversations.</p>
</ack>
<sec id="s9">
<title>Supplementary Material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/frai.2021.668395/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/frai.2021.668395/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="Video1.MPG" id="SM1" mimetype="application/MPG" xmlns:xlink="http://www.w3.org/1999/xlink">
<label>Supplementary Video 1</label>
<caption>
<p>Synthetic <italic>C. elegans</italic> behavior data of forward crawling constructed using data from <xref ref-type="sec" rid="s3-1">Section 3.1</xref>. The data is constructed using a representative cycle from a persistent homology class in a sliding window embedding of real behavior data.</p>
</caption>
</supplementary-material>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Backholm</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kasper</surname>
<given-names>A. K. S.</given-names>
</name>
<name>
<surname>Schulman</surname>
<given-names>R. D.</given-names>
</name>
<name>
<surname>Ryu</surname>
<given-names>W. S.</given-names>
</name>
<name>
<surname>Dalnoki-Veress</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>The Effects of Viscosity on the Undulatory Swimming Dynamics of <italic>C. elegans</italic>
</article-title>,&#x201d; in <source>Physics of Fluids</source>, <fpage>091901</fpage>. <isbn>10897666</isbn>. <pub-id pub-id-type="doi">10.1063/1.4931795</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Berman</surname>
<given-names>G. J.</given-names>
</name>
<name>
<surname>Bialek</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Shaevitz</surname>
<given-names>J.&#x20;W.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Predictability and Hierarchy in Drosophila Behavior</article-title>,&#x201d; in <source>Proceedings of the National Academy of Sciences of the United&#x20;States of America</source>, <fpage>11943</fpage>&#x2013;<lpage>11948</lpage>. <isbn>10916490</isbn>. <pub-id pub-id-type="doi">10.1073/pnas.1607601113</pub-id> <comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://pubmed.ncbi.nlm.nih.gov/27702892/">https://pubmed.ncbi.nlm.nih.gov/27702892/</ext-link>. </citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Brown</surname>
<given-names>A. E. X.</given-names>
</name>
<name>
<surname>Brown</surname>
<given-names>E. I.</given-names>
</name>
<name>
<surname>Yemini</surname>
<given-names>L. J.</given-names>
</name>
<name>
<surname>Jucikas</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Schafer</surname>
<given-names>W. R.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>A Dictionary of Behavioral Motifs Reveals Clusters of Genes Affecting <italic>Caenorhabditis elegans</italic> Locomotion</article-title>,&#x201d; in <source>Proceedings of the Na- Tional Academy of Sciences of the United&#x20;States of America</source>, <fpage>791</fpage>&#x2013;<lpage>796</lpage>. <isbn>00278424</isbn>. <pub-id pub-id-type="doi">10.1073/pnas.1211447110</pub-id> <comment>url:</comment> https://pubmed.ncbi.nlm.nih.gov/23267063/. </citation>
</ref>
<ref id="B22">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Bubenik</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Statistical Topological Data Analysis Using Persistence Landscapes</article-title>,&#x201d; in <source>Journal of Machine Learning Research</source>, <fpage>77</fpage>&#x2013;<lpage>102</lpage>. <isbn>15337928</isbn>. <comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="http://jmlr.org/papers/v16/bubenik15a.html">http://jmlr.org/papers/v16/bubenik15a.html</ext-link>. </citation>
</ref>
<ref id="B21">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Bubenik</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Wagner</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>A Topological Heatmap</article-title>,&#x201d; <comment>in preparation</comment>. </citation>
</ref>
<ref id="B4">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chung</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zhan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Srinivasan</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Sternberg</surname>
<given-names>P. W.</given-names>
</name>
<name>
<surname>Gong</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Schroeder</surname>
<given-names>F. C.</given-names>
</name>
<etal/>
</person-group> (<year>2011</year>). &#x201c;<article-title>Microfluidic Chamber Arrays for Whole-Organism Behavior-Based Chemical Screening</article-title>,&#x201d; in <source>Lab on a Chip</source>, <fpage>3689</fpage>&#x2013;<lpage>3697</lpage>. <isbn>14730189</isbn>. <pub-id pub-id-type="doi">10.1039/c1lc20400a</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://pubmed.ncbi.nlm.nih.gov/21935539/">https://pubmed.ncbi.nlm.nih.gov/21935539/</ext-link>. </citation>
</ref>
<ref id="B5">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Dequ&#xe9;ant</surname>
<given-names>M.-L.</given-names>
</name>
<name>
<surname>Ahnert</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Edelsbrunner</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Fink</surname>
<given-names>T. M. A.</given-names>
</name>
<name>
<surname>Glynn</surname>
<given-names>E. F.</given-names>
</name>
<name>
<surname>Hattem</surname>
<given-names>G.</given-names>
</name>
<etal/>
</person-group> (<year>2008</year>). &#x201c;<article-title>Comparison of Pattern Detection Methods in Microarray Time Series of the Segmentation Clock</article-title>,&#x201d; in <source>PLoS ONE</source> Editor <person-group person-group-type="editor">
<name>
<surname>Khanin</surname>
<given-names>R</given-names>
</name>
</person-group>, <fpage>e2856</fpage>. <isbn>1932-6203</isbn>. <pub-id pub-id-type="doi">10.1371/journal.pone.0002856</pub-id> </citation>
</ref>
<ref id="B30">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Dey</surname>
<given-names>T. K.</given-names>
</name>
<name>
<surname>Hou</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Mandal</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>Persistent 1-Cycles: Definition, Computation, and its Application</article-title>,&#x201d; in <source>Computational Topology in Image Con- Text</source>. Editors <person-group person-group-type="editor">
<name>
<surname>Marfil</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Calder&#xf3;n</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>del R&#xed;o</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Real</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Bandera</surname>
<given-names>A.</given-names>
</name>
</person-group> (<publisher-loc>Cham</publisher-loc>: <publisher-name>Springer International Publishing</publisher-name>), <fpage>123</fpage>&#x2013;<lpage>136</lpage>. <isbn>978-3-030-10828-1</isbn>. </citation>
</ref>
<ref id="B6">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Dey</surname>
<given-names>T. K.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Efficient Algorithms for Computing a Minimal Homology Basis</article-title>,&#x201d; in <source>Lecture Notes in Computer Science (In- Cluding Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)</source> (<publisher-name>Springer-Verlag</publisher-name>), <fpage>376</fpage>&#x2013;<lpage>398</lpage>. <isbn>9783319774039</isbn>. <pub-id pub-id-type="doi">10.1007/978-3-319-77404-6_28</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Firas</surname>
<given-names>A. K.</given-names>
</name>
<name>
<surname>Elizabeth</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Chatter Detection in Turning Using Persistent Homology</article-title>,&#x201d; in <source>Mechanical Systems and Signal Processing</source>, <fpage>527</fpage>&#x2013;<lpage>541</lpage>. <isbn>10961216</isbn>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2015.09.046</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Helm</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Blevins</surname>
<given-names>A. S.</given-names>
</name>
<name>
<surname>Bassett</surname>
<given-names>D. S.</given-names>
</name>
</person-group> (<year>2020</year>). <source>The Growing Topology of the <italic>C. elegans</italic> Connectome</source>. <publisher-name>arXiv: 2101.00065</publisher-name>. <comment>url:</comment> http://arxiv.org/abs/2101.00065.</citation>
</ref>
<ref id="B9">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Husson</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Wagner</surname>
<given-names>S. C.</given-names>
</name>
<name>
<surname>Schmitt</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Gottschalk</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2012</year>). <source>Keeping Track of Worm Trackers</source>. <pub-id pub-id-type="doi">10.1895/wormbook.1.156.1</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://pubmed.ncbi.nlm.nih.gov/23436808/">https://pubmed.ncbi.nlm.nih.gov/23436808/</ext-link>. </citation>
</ref>
<ref id="B10">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Jeff Erickson</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2012</year>). &#x201c;<article-title>Combinatorial Optimization of Cycles and Bases</article-title>,&#x201d; in <source>Advances in Applied and Computational Topology</source> (<publisher-loc>Providence, RI</publisher-loc>: <publisher-name>Proc. Sympos. Appl. Math. Amer. Math. Soc.</publisher-name>), <fpage>195</fpage>&#x2013;<lpage>228</lpage>. <pub-id pub-id-type="doi">10.1090/psapm/070/591</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Lindquist</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Nebel</surname>
<given-names>M. B.</given-names>
</name>
<name>
<surname>Caffo</surname>
<given-names>B. S.</given-names>
</name>
</person-group> (<year>20142014</year>). &#x201c;<article-title>Evaluating Dynamic Bivariate Correlations in Resting-State fMRI: A Comparison Study and a New Approach</article-title>,&#x201d; in <source>NeuroImage</source>, <fpage>531</fpage>&#x2013;<lpage>546</lpage>. <isbn>10959572</isbn>. <pub-id pub-id-type="doi">10.1016/j.neuroimage.2014.06.052</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Sharma</surname>
<given-names>A. K.</given-names>
</name>
<name>
<surname>Shaevitz</surname>
<given-names>J.&#x20;W.</given-names>
</name>
<name>
<surname>Leifer</surname>
<given-names>A. M.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Temporal Processing and Context Dependency in caenorhabditis Elegans Response to Mechanosensation</article-title>,&#x201d; in <source>eLife</source>. <isbn>2050084X</isbn>. <pub-id pub-id-type="doi">10.7554/eLife.36419</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://pubmed.ncbi.nlm.nih.gov/29943731/">https://pubmed.ncbi.nlm.nih.gov/29943731/</ext-link>. </citation>
</ref>
<ref id="B14">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>L&#xfc;tgehetmann</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Govc</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Smith</surname>
<given-names>J.&#x20;P.</given-names>
</name>
<name>
<surname>Levi</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Computing Persistent Homology of Directed Flag Complexes</article-title>,&#x201d; in <source>Algorithms</source>, <fpage>19</fpage>. <isbn>1999-4893</isbn>. <pub-id pub-id-type="doi">10.3390/a13010019</pub-id> <comment>url:</comment> https://www. mdpi.com/1999-4893/13/1/19. </citation>
</ref>
<ref id="B15">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Mileyko</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Mukherjee</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Harer</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Probability Measures on the Space of Persistence Diagrams</article-title>,&#x201d; in <source>Inverse Problems</source>, <fpage>124007</fpage>. <isbn>02665611</isbn>. <pub-id pub-id-type="doi">10.1088/0266-5611/27/12/124007</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="http://stacks.iop.org/0266-5611/27/i=12/a=124007?key=crossref.%2095e8c511fc5be094303f6bde8cb2bafd">http://stacks.iop.org/0266-5611/27/i&#x3d;12/a&#x3d;124007?key&#x3d;crossref. 95e8c511fc5be094303f6bde8cb2bafd</ext-link>. </citation>
</ref>
<ref id="B16">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Morozov</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2017</year>). <source>Dionysus</source>. <comment>url:</comment> https ://www.mrzv.org/software/dionysus/.</citation>
</ref>
<ref id="B17">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Obayashi</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Volume-Optimal Cycle: Tightest Representative Cycle of a Generator in Persistent Homology</article-title>,&#x201d; in <source>SIAM Journal on Applied Algebra and Geometry 2</source>, <fpage>508</fpage>&#x2013;<lpage>534</lpage>. <isbn>24706566</isbn>. <pub-id pub-id-type="doi">10.1137/17M1159439</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="http://www.siam.org/journals/%20siaga/2-4/M115943.html">http://www.siam.org/journals/siaga/2-4/M115943.html</ext-link>. </citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Otsu</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>1979</year>). &#x201c;<article-title>A Threshold Selection Method from gray-level Histograms</article-title>,&#x201d; in <source>IEEE Transactions on Systems, Man, and Cybernetics</source>, <fpage>62</fpage>&#x2013;<lpage>66</lpage>. <pub-id pub-id-type="doi">10.1109/tsmc.1979.4310076</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Perea</surname>
<given-names>J.&#x20;A.</given-names>
</name>
<name>
<surname>Deckard</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Haase</surname>
<given-names>S. B.</given-names>
</name>
<name>
<surname>Harer</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>SW1PerS: Sliding Windows and 1-persistence Scoring; Discovering Periodicity in Gene Expression Time Series Data</article-title>,&#x201d; in <source>BMC Bioinformatics</source>, <fpage>257</fpage>. <isbn>1471-2105</isbn>. <pub-id pub-id-type="doi">10.1186/s12859-015-0645-6</pub-id> <comment>url:</comment> <comment>
<ext-link ext-link-type="uri" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://bmcbioinformatics. biomedcentral.com/articles/10.1186/s12859-015-0645-6%20http://www.ncbi.nlm.nih.gov/pubmed/26277424%20http://www.pubmedcentral. nih.gov/articlerender.fcgi?artid&#x3d;PMC4537550">http://bmcbioinformatics. biomedcentral.com/articles/10.1186/s12859-015-0645-6%20http://www.ncbi.nlm.nih.gov/pubmed/26277424%20</ext-link>
</comment> <comment>
<ext-link ext-link-type="uri" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.pubmedcentral. nih.gov/articlerender.fcgi?artid&#x3d;PMC4537550">http://www.pubmedcentral. nih.gov/articlerender.fcgi?artid&#x3d;PMC4537550</ext-link>
</comment>. </citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Perea</surname>
<given-names>J. A.</given-names>
</name>
<name>
<surname>Harer</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Sliding Windows and Persistence: An Application of Topological Methods to Signal Analysis</article-title>,&#x201d; in <source>Foundations of Computational Mathematics</source>, <fpage>799</fpage>&#x2013;<lpage>838</lpage>. <pub-id pub-id-type="doi">10.1007/s10208-014-9206-z</pub-id> <comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://link.springer.com/article/10.%201007%20/%20s10208%20-%20014%20-%209206%20-%20z%20%%2020http%20:%20/%20/%20link%20.%20springer%20.%20com%20/%2010%20.%201007%20/%20s10208-014-9206-z">https://link.springer.com/article/10. 1007/s10208 - 014 - 9206 - z % 20http ://link . springer . com/10 . 1007/s10208-014-9206-z</ext-link>. </citation>
</ref>
<ref id="B20">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Perea</surname>
<given-names>J.&#x20;A.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Persistent Homology of Toroidal Sliding Window Embeddings</article-title>,&#x201d; in <source>ICASSP, IEEE International Conference on Acoustics, Speech and Signal Processing - Proceedings</source> (<publisher-name>Institute of Electrical and Electronics Engineers Inc.</publisher-name>), <fpage>6435</fpage>&#x2013;<lpage>6439</lpage>. <isbn>9781479999880</isbn>. <pub-id pub-id-type="doi">10.1109/ICASSP.2016.7472916</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Petri</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Scolamiero</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Donato</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Vaccarino</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>Topological Strata of Weighted Complex Networks</article-title>,&#x201d; in <source>PLoS ONE</source>, <fpage>e66506</fpage>. <isbn>19326203</isbn>. <pub-id pub-id-type="doi">10.1371/journal.pone.0066506</pub-id> <ext-link ext-link-type="uri" xlink:href="http://www.plosone.org">www.plosone.org</ext-link>. </citation>
</ref>
<ref id="B24">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Porto</surname>
<given-names>D. A.</given-names>
</name>
<name>
<surname>Giblin</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>Reverse-Correlation Analysis of the Mechanosensation Circuit and Behavior in <italic>C. elegans</italic> Reveals Temporal and Spatial Encoding</article-title>,&#x201d; in <source>Scientific Reports</source>, <fpage>1</fpage>. <isbn>20452322</isbn>. <pub-id pub-id-type="doi">10.1038/s41598-019-41349-0</pub-id> <comment>url:</comment> https://pubmed.ncbi. nlm.nih.gov/30914655/. </citation>
</ref>
<ref id="B25">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Sizemore</surname>
<given-names>A. E.</given-names>
</name>
<name>
<surname>Phillips-Cremins</surname>
<given-names>J.&#x20;E.</given-names>
</name>
<name>
<surname>Ghrist</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Bassett</surname>
<given-names>D. S.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>The Importance of the Whole: Topological Data Analysis for the Network Neuroscientist</article-title>,&#x201d; in <source>Network Neuroscience</source>, <fpage>656</fpage>&#x2013;<lpage>673</lpage>. <isbn>24721751</isbn>. <pub-id pub-id-type="doi">10.1162/netn_a_00073</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://pubmed.ncbi.nlm.nih.gov/31410372/">https://pubmed.ncbi.nlm.nih.gov/31410372/</ext-link>. </citation>
</ref>
<ref id="B26">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Stephens</surname>
<given-names>G. J.</given-names>
</name>
<name>
<surname>Johnson-Kerner</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Bialek</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Ryu</surname>
<given-names>W. S.</given-names>
</name>
</person-group> (<year>2008</year>). &#x201c;<article-title>Dimensionality and Dynamics in the Behavior of <italic>C. elegans</italic>
</article-title>,&#x201d; in <source>PLoS Computational Biology</source>. Editor <person-group person-group-type="editor">
<name>
<surname>Sporns</surname>
<given-names>O.</given-names>
</name>
</person-group>, <fpage>e1000028</fpage>. <isbn>1553734X</isbn>. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1000028</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://pubmed.ncbi.nlm.nih.gov/18389066/">https://pubmed.ncbi.nlm.nih.gov/18389066/</ext-link>. </citation>
</ref>
<ref id="B27">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Stirman</surname>
<given-names>J.&#x20;N.</given-names>
</name>
<name>
<surname>Crane</surname>
<given-names>M. M.</given-names>
</name>
<name>
<surname>Husson</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Wabnig</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Schultheis</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Gottschalk</surname>
<given-names>A.</given-names>
</name>
<etal/>
</person-group> (<year>2011</year>). &#x201c;<article-title>Real-time Multimodal Optical Control of Neurons and Muscles in Freely Behaving <italic>Caenorhabditis elegans</italic>
</article-title>,&#x201d; in <source>Nature Methods</source>, <fpage>153</fpage>&#x2013;<lpage>158</lpage>. <isbn>15487091</isbn>. <pub-id pub-id-type="doi">10.1038/nmeth.1555</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://pubmed.ncbi.nlm.nih.gov/21240278/">https://pubmed.ncbi.nlm.nih.gov/21240278/</ext-link>. </citation>
</ref>
<ref id="B28">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Stolz</surname>
<given-names>B. J.</given-names>
</name>
<name>
<surname>Harrington</surname>
<given-names>H. A.</given-names>
</name>
<name>
<surname>Porter</surname>
<given-names>M. A.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>Persistent Homology of Time-dependent Functional Networks Constructed from Coupled Time Series</article-title>,&#x201d; in <source>Chaos</source>, <fpage>047410</fpage>. <isbn>10541500</isbn>. <pub-id pub-id-type="doi">10.1063/1.4978997</pub-id>
<ext-link ext-link-type="uri" xlink:href="http://aip.scitation.org/%20doi/10.1063/1.4978997"/> </citation>
</ref>
<ref id="B29">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Swierczek</surname>
<given-names>N. A.</given-names>
</name>
<name>
<surname>Giles</surname>
<given-names>A. C.</given-names>
</name>
<name>
<surname>Rankin</surname>
<given-names>C. H.</given-names>
</name>
<name>
<surname>Kerr</surname>
<given-names>R. A.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>High-throughput Behavioral Analysis in <italic>C. elegans</italic>
</article-title>,&#x201d; in <source>Nature Methods</source>, <fpage>592</fpage>&#x2013;<lpage>598</lpage>. <isbn>15487091</isbn>. <pub-id pub-id-type="doi">10.1038/nmeth.1625</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://pubmed.ncbi.nlm.nih.gov/21642964/">https://pubmed.ncbi.nlm.nih.gov/21642964/</ext-link>. </citation>
</ref>
<ref id="B32">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Tralie</surname>
<given-names>C. J.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>High Dimensional Geometry of Sliding Window Embeddings of Periodic Videos</article-title>,&#x201d; in <source>Leibniz International Proceedings in Informat- Ics, LIPIcs</source>, <fpage>71.1</fpage>&#x2013;<lpage>71.5</lpage>. <isbn>18688969</isbn>. <pub-id pub-id-type="doi">10.4230/LIPIcs.SoCG.2016.71</pub-id> </citation>
</ref>
<ref id="B31">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Tralie</surname>
<given-names>C. J.</given-names>
</name>
<name>
<surname>Perea</surname>
<given-names>J.&#x20;A.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>(Quasi) Periodicity Quantification in Video Data, Using Topology</article-title>,&#x201d; in <source>SIAM Journal on Imaging Sciences</source>, <fpage>1049</fpage>&#x2013;<lpage>1077</lpage>. <isbn>19364954</isbn>. <pub-id pub-id-type="doi">10.1137/17M1150736</pub-id>
<comment>url:</comment> <ext-link ext-link-type="uri" xlink:href="https://github.com/ctralie/SlidingWindowVideoTDA">https://github.com/ctralie/SlidingWindowVideoTDA</ext-link>. </citation>
</ref>
<ref id="B33">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Yemini</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Jucikas</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Grundy</surname>
<given-names>L. J.</given-names>
</name>
<name>
<surname>Brown</surname>
<given-names>A. E. X.</given-names>
</name>
<name>
<surname>Schafer</surname>
<given-names>W. R.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>A Database of <italic>Caenorhabditis elegans</italic> Behavioral Phenotypes</article-title>,&#x201d; in <source>Nature Methods</source>, <fpage>877</fpage>&#x2013;<lpage>879</lpage>. <isbn>15487091</isbn>. <pub-id pub-id-type="doi">10.1038/nmeth.2560</pub-id> <comment>url:</comment> pmc/articles/PMC3962822/%20/pmc/articles/PMC3962822/?report&#x3d;abstract%20https://www.ncbi.nlm.nih. gov/pmc/articles/PMC3962822/. </citation>
</ref>
</ref-list>
</back>
</article>
