<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">AM</journal-id><journal-title-group><journal-title>Applied Mathematics</journal-title></journal-title-group><issn pub-type="epub">2152-7385</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/am.2015.62038</article-id><article-id pub-id-type="publisher-id">AM-54174</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  Skeletons of 3D Surfaces Based on the Laplace-Beltrami Operator Eigenfunctions
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>dolfo</surname><given-names>Horacio Escalona-Buendia</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Lucila</surname><given-names>Ivonne Hernández-Martínez</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Julio</surname><given-names>Roberto Murillo-Torres</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Omar</surname><given-names>Nieto-Crisóstomo</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Rarafel</surname><given-names>Martínez-Vega</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Academia de Matem&amp;amp;aacute;ticas, Universidad Aut&amp;amp;oacute;noma de la Ciudad de M&amp;amp;eacute;xico, Mexico City, Mexico</addr-line></aff><aff id="aff1"><addr-line>Academia de Inform&amp;amp;aacute;tica, Universidad Aut&amp;amp;oacute;noma de la Ciudad de M&amp;amp;eacute;xico, Mexico City, Mexico</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>aheb@xanum.uam.mx(DHE)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>03</day><month>02</month><year>2015</year></pub-date><volume>06</volume><issue>02</issue><fpage>414</fpage><lpage>420</lpage><history><date date-type="received"><day>25</day>	<month>January</month>	<year>2015</year></date><date date-type="rev-recd"><day>accepted</day>	<month>13</month>	<year>February</year>	</date><date date-type="accepted"><day>17</day>	<month>February</month>	<year>2015</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  In this work we describe the algorithms to construct the skeletons, simplified 1D representations for a 3D surface depicted by a mesh of points, given the respective eigenfunctions of the Discrete Laplace-Beltrami Operator (LBO). These functions are isometry invariant, so they are independent of the object’s representation including parameterization, spatial position and orientation. Several works have shown that these eigenfunctions provide topological and geometrical information of the surfaces of interest [1] [2]. We propose to make use of that information for the construction of a set of skeletons, associated to each eigenfunction, which can be used as a fingerprint for the surface of interest. The main goal is to develop a classification system based on these skeletons, instead of the surfaces, for the analysis of medical images, for instance.
 
</p></abstract><kwd-group><kwd>Skeleton</kwd><kwd> Centerline</kwd><kwd> Discrete Laplace-Beltrami Operator Eigenfunctions</kwd><kwd> Graph Theory</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Skeletons</title><p>A curve-skeleton is a 1D model of a 3D object that captures the general characteristics of the original object, and it is also known as centerline. They are useful for visualization and virtual navigation. Another application is re- gistration of 3D objects: given a query object, the task is to find similar objects in a database by using the curve- skeleton as a fingerprint. A great variety of algorithms for the generation of skeletons have been developed in recent years [<xref ref-type="bibr" rid="scirp.54174-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.54174-ref4">4</xref>] .</p><p>Shape intrinsic information should not depend on the given representation of the object. However, many of the current methods of skeleton construction have the weakness of being sensitive to changes on scale factors, changes in the surface’s triangulation, orientation, etcetera. It is desirable that the curve-skeletons have certain properties in order to be used as fingerprints [<xref ref-type="bibr" rid="scirp.54174-ref1">1</xref>] :</p><p>・ Topology preserving. Two objects have the same topology if they have the same number of connected components and cavities. Though a 1D curve cannot have cavities, skeletons must be able to grasp objects characteristics related to its genus.</p><p>・ Scaling invariant. It is necessary for the skeletons to be measurement unit independent; i.e. that it does not depend on the way in which the object could be measured.</p><p>・ Isometry invariant. The skeleton of an object should be independent of the object’s given depiction and location.</p><p>・ Rotation invariant. Therefore, checking if two objects are similar needs no prior alignment.</p><p>・ Similarity. Similar objects should have similar fingerprints.</p><p>In particular, it is known, that the eigenfunctions of the Laplace-Beltrami Operator satisfy several of the properties required for a fingerprint [<xref ref-type="bibr" rid="scirp.54174-ref1">1</xref>] , for instance:</p><p>The eigenfunctions depend only on the gradient and divergence which are dependent on the Riemannian structure of the manifold, so they are clearly isometry invariant.</p><p>The eigenfunctions are normalizable, therefore, there is no need to concern about scale factors.</p><p>Recently, several methods have been developed making use of these eigenfunctions to construct the curve- skeletons of objects of interest [<xref ref-type="bibr" rid="scirp.54174-ref5">5</xref>] .</p></sec><sec id="s2"><title>2. Surfaces Representation</title><p>Object File Format (.off) files are used to represent the geometry of a model by specifying a triangulation of the model’s surface. The OFF files in the Princeton Shape Benchmark [<xref ref-type="bibr" rid="scirp.54174-ref6">6</xref>] conform to the following standard:</p><p>OFF files are text files.</p><p>It has a header line with the string OFF.</p><p>The second line states the number of vertices, the number of faces, and the number of edges; however the number of edges can be ignored for our purpose.</p><p>The next lines describe the Cartesian coordinates of each vertex, written one per line. The enumeration of the vertices is given by the order they occurred in the file, starting with 0.</p><p>After the list of vertices, the faces are listed; starting with the number of sides and followed by the oriented list of vertices included. All the faces are oriented in the same direction.</p><p>The faces can have any number of vertices, although they usually are triangles. For example, <xref ref-type="table" rid="table1">Table 1</xref> shows the description of a unitary cube in this format.</p>Case of Study<p>Our present case of study are surfaces of rat-hippocampus, obtained from MRI images. On reported works, a relation between morphological changes in the hippocampus and Alzheimer disease in early stages has been found; nowadays there are many studies in image analysis of this and other different brain structures [<xref ref-type="bibr" rid="scirp.54174-ref7">7</xref>] .</p><p>As many works have shows, the first eigenfunction of the Laplace-Beltrami operator clearly identifies a principal direction of the surfaces of interest, so it is very useful to build a skeleton. Besides that, we noticed that the second eigenfunction reveals additional geometrical information, such as localization of protuberance. Thus, we decided to build a skeleton based on the second eigenfunction also. The construction of both skeletons will be described in detail in section 4. We expect that the properties of these skeletons will provide important information regarding the geometry of objects of interest in order to classify them in a more detailed manner.</p></sec><sec id="s3"><title>3. Laplace-Beltrami Operator</title><p>Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x5.png" xlink:type="simple"/></inline-formula> be a real-valued function defined on a Riemannian manifold M:</p><disp-formula id="scirp.54174-formula1173"><label>. (1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x6.png"  xlink:type="simple"/></disp-formula><p>The Laplace-Beltrami operator is defined as</p><disp-formula id="scirp.54174-formula1174"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x7.png"  xlink:type="simple"/></disp-formula><p>This operator appears in several equations in physics:</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Unitary cube</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >OFF</th><th align="center" valign="middle" ></th><th align="center" valign="middle" ></th><th align="center" valign="middle" ></th><th align="center" valign="middle" ></th></tr></thead><tr><td align="center" valign="middle" >8</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >7</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><disp-formula id="scirp.54174-formula1175"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x8.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.54174-formula1176"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x9.png"  xlink:type="simple"/></disp-formula><p>The method of separation of variables allows us to isolate the spatial dependence of u from the temporal dependence. Let<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x10.png" xlink:type="simple"/></inline-formula>, substituting this into the wave equation produces</p><disp-formula id="scirp.54174-formula1177"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x11.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.54174-formula1178"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x12.png"  xlink:type="simple"/></disp-formula><p>The substitution into diffusion equation leads to the same result. The solution of Equation (6) is a set of eigenvalues <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x13.png" xlink:type="simple"/></inline-formula> and a set of eigenfunctions <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x14.png" xlink:type="simple"/></inline-formula> which can be thought as fundamental vibration modes.</p>Finite Element Method<p>We do not have an equation describing a differentiable variety M, thus we work with a discrete representation of a triangulated surface S described by an OFF file. We need a numerical integration method to solve Equation (6) on S. We have opted to use the Finite Element Method [<xref ref-type="bibr" rid="scirp.54174-ref2">2</xref>] .</p><p>First of all, we choose N linearly independent form functions <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x15.png" xlink:type="simple"/></inline-formula> as a basis of a vector space. These base functions <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x16.png" xlink:type="simple"/></inline-formula> are chosen to simplify the calculations, so they are constructed as linear functions that “sample” function f at each vertex of the triangulated surface:</p><disp-formula id="scirp.54174-formula1179"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x17.png"  xlink:type="simple"/></disp-formula><p>The function f then can be written as a linear combination of these base functions</p><disp-formula id="scirp.54174-formula1180"><label>(8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x18.png"  xlink:type="simple"/></disp-formula><p>The substitution of this approximation in (6) reduces the equation to a generalized eigenvalue problem.</p><disp-formula id="scirp.54174-formula1181"><label>(9)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x19.png"  xlink:type="simple"/></disp-formula><p>where the entry U<sub>i</sub> is the contribution of f at vertex i on S. The components of matrix A are given by:</p><disp-formula id="scirp.54174-formula1182"><label>(10)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x20.png"  xlink:type="simple"/></disp-formula><p>and the components of matrix B are:</p><disp-formula id="scirp.54174-formula1183"><label>(11)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x21.png"  xlink:type="simple"/></disp-formula><p><xref ref-type="fig" rid="fig1">Figure 1</xref>(a) and <xref ref-type="fig" rid="fig1">Figure 1</xref>(b) show the first and second eigenfunctions, respectively, of Equation (9) applied on a triangulated surface of a rat-hippocampus. The lower values are colored in blue and the higher ones in red. We can see the monotonous behavior of the first function whereas the second function grows from the middle of the surface through its extremes.</p></sec><sec id="s4"><title>4. The Construction of the Skeletons</title><p>The first step is to transform the OFF format into a graph, in this way we can use standard Graph Theory methods. Let be<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x22.png" xlink:type="simple"/></inline-formula>, the vertices V are indexed as they are in the OFF file, and the edges E can be easily obtained from the list of faces.</p><p>We chose the adjacency lists representation for simplicity and efficiency on a triangulated surface with thousands of vertices, usually each one is adjacent only up to five or six vertices; although that number depends on the triangulation and the surfaces. <xref ref-type="table" rid="table2">Table 2</xref> shows the adjacency lists of the unitary cube above.</p><p>Although the graph is undirected, we allow redundancy of edges in order to simplify the search for local maxima and minima of the eigenfunctions.</p><fig-group id="fig1"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> First (a) and second (b) eigenfunctions on a hippocampus surface.</title></caption><fig id ="fig1_1"><label> (b)</label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/18-7402581x23.png"/></fig><fig id ="fig1_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/18-7402581x24.png"/></fig></fig-group><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Adjacency lists for the unitary cube</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >0:</th><th align="center" valign="middle" >1</th><th align="center" valign="middle" >4</th><th align="center" valign="middle" >2</th></tr></thead><tr><td align="center" valign="middle" >1:</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >2:</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >3:</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >7</td></tr><tr><td align="center" valign="middle" >4:</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >6</td></tr><tr><td align="center" valign="middle" >5:</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><p>We do not want to modify the OFF files, so we use an auxiliary file with the values of the first eigenfunctions calculated for each vertex, this is done with the method described in the previous section. On the surfaces studied, we have observed that each eigenfunction gives different information:</p><p>・ The first eigenfunction f<sub>1</sub> has one maximum and one minimum at opposite points of the surface, these extreme points give us a principal axis, and a main direction (<xref ref-type="fig" rid="fig1">Figure 1</xref>(a)). So we decide to use this function to build a polygonal skeleton, which can give us information about curvature and torsion.</p><p>・ The second eigenfunction f<sub>2</sub> has several local maxima and minima at the prominent protuberances of the surface (<xref ref-type="fig" rid="fig1">Figure 1</xref>(b)). So we decide to use this function to build a tree-based skeleton that captures the arborescent structure of the surface.</p><p>So we need two variations of the same algorithm, one for each eigenvalue.</p><sec id="s4_1"><title>4.1. First Eigenfunction Skeleton</title><p>Let M and m be the vertices with the absolute maximum and minimum values of the first eigenfunction: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x25.png" xlink:type="simple"/></inline-formula>and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x26.png" xlink:type="simple"/></inline-formula>, respectively. We define a set of energy levels <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x27.png" xlink:type="simple"/></inline-formula> equally spaced:</p><disp-formula id="scirp.54174-formula1184"><label>(12)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x28.png"  xlink:type="simple"/></disp-formula><p>The vertices fall between these energy levels, however there are some edges with one vertex in one level and the other in the following, so we define a boundary as a subgraph<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x29.png" xlink:type="simple"/></inline-formula>:</p><disp-formula id="scirp.54174-formula1185"><label>(13)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x30.png"  xlink:type="simple"/></disp-formula><p>These boundaries generate a partition of the original graph.</p><p>We perform a deep-first search to find one vertex in the boundary B<sub>i</sub>, and a second deep-first search to get all the vertices in it. It is possible that for some energy levels these are so close to each other that the algorithm cannot find a definite boundary; in this case we skip to the next level.</p><p>Each boundary B<sub>i</sub> is a “ring” of vertices, which must be reduced into a centroid c<sub>i</sub> that can be calculated as a “center of mass”:</p><disp-formula id="scirp.54174-formula1186"><label>(14)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x31.png"  xlink:type="simple"/></disp-formula><p>where r<sub>j</sub> represents the coordinates of the vector of vertex j. Obviously, the boundaries for e<sub>m</sub> and e<sub>M</sub> have just one vertex, so <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x32.png" xlink:type="simple"/></inline-formula> and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x33.png" xlink:type="simple"/></inline-formula>.</p><p>Finally we connect these centroids to build the skeleton; this last step is performed by the Prim’s algorithm [<xref ref-type="bibr" rid="scirp.54174-ref8">8</xref>] . This algorithm finds the minimum cost-spanning tree of the set of centroids c<sub>i</sub>, using their Euclidean distances as the costs function. Although the skeleton for the first eigenfunction is a polygonal, it can be seen as a degenerated tree (a one-degree tree).</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref>(a) and <xref ref-type="fig" rid="fig2">Figure 2</xref>(b) show the first eigenfunction skeletons of two surfaces for 32 energy levels.</p></sec><sec id="s4_2"><title>4.2. The Second Eigenfunction Skeleton</title><p>As we exposed for the first eigenfunction, we search for the absolute maximum and minimum points <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x34.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x35.png" xlink:type="simple"/></inline-formula> and, in this case, we also search for local minima and maxima. A local maximum (or minimum) is a vertex l which is surrounded by vertices of lower (or upper) values of f<sub>2</sub>.</p><disp-formula id="scirp.54174-formula1187"><label>(15)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x36.png"  xlink:type="simple"/></disp-formula><p>The search can be easily done in the adjacency lists of E.</p><p>We use the coordinates vectors of these vertices as the base of the centroids set:</p><disp-formula id="scirp.54174-formula1188"><label>(16)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x37.png"  xlink:type="simple"/></disp-formula><p>We define the energy levels e<sub>i</sub> as in (12) and the boundaries B<sub>i</sub> as in (13). However each one of these boundaries could have k connected components<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x38.png" xlink:type="simple"/></inline-formula>, each one has its own centroid<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x39.png" xlink:type="simple"/></inline-formula>, as defined in (14). The algorithm for the second eigenfunction process the surface as a tree structure: it performs a deep-first search for a set of boundaries with their respective branch of centroids, and then it performs a second search to find a second branch, an so on. The partition of the surface defined by the first search avoids the algorithm to fall into the same boundaries.</p><p>In this case, the Prim’s algorithm shows all its performance in the construction of the skeleton, connecting the set of centroids as a minimum-cost spanning tree. In order to avoid that the skeleton cuts the surface, we add directions to the distances between centroids. We associate the information of the energy level to each centroid:</p><disp-formula id="scirp.54174-formula1189"><label>(17)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x40.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.54174-formula1190"><label>(18)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/18-7402581x41.png"  xlink:type="simple"/></disp-formula><p>The algorithm connects the centroids in increasing order of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/18-7402581x42.png" xlink:type="simple"/></inline-formula>. <xref ref-type="fig" rid="fig3">Figure 3</xref>(a) and <xref ref-type="fig" rid="fig3">Figure 3</xref>(b) show the second eigenfunction skeletons of the same surfaces as <xref ref-type="fig" rid="fig2">Figure 2</xref> and <xref ref-type="fig" rid="fig3">Figure 3</xref>.</p><fig-group id="fig2"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Skeletons of the first eigenfunction on hippocampus (a) and hippocampus (b).</title></caption><fig id ="fig2_1"><label> (b)</label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/18-7402581x43.png"/></fig><fig id ="fig2_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/18-7402581x44.png"/></fig></fig-group><fig-group id="fig3"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Skeletons of the second eigenfunction on hippocampus (a) and hippocampus (b).</title></caption><fig id ="fig3_1"><label> (b)</label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/18-7402581x45.png"/></fig><fig id ="fig3_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/18-7402581x46.png"/></fig></fig-group></sec></sec><sec id="s5"><title>5. Conclusions and Further Work</title><p>We have developed the algorithms for building the skeletons for the first and second eigefunctions of the Laplace-Beltrami operator calculated on an rat-hippocampus surface depicted by an OFF file.</p><p>The skeleton for the first eigenfunction is built as a polygonal structure along the main axis of the surface. The skeleton for the second eigenfunction has a tree-structure with two main branches, each one with a similar structure to the first skeleton, and small branches for some local maxima at prominent protuberances.</p><p>This is a first step for the developing of a classification system. The next steps are to generalize these results for different anatomical structures, and define characterization methods for these skeletons based on their geometrical and topological properties, such as critical points of curvature and torsion, bifurcation points, number of branches, etcetera.</p></sec></body><back><ref-list><title>References</title><ref id="scirp.54174-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Reuter, M., Wolter, F.E. and Peinecke, N. (2006) Laplace-Beltrami Spectra as “Shape-DNA” of Surfaces and Solids. Computer-Aided Design, 38, 342-366. http://dx.doi.org/10.1016/j.cad.2005.10.011</mixed-citation></ref><ref id="scirp.54174-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Reuter, M., Biasotii, S., Patan&amp;egrave;, G. and Spagnulo, M. (2009) Discrete Laplace-Beltrami Operators for Shape Analysis and Segmentation. Computer &amp; Graphics, 33, 381-390. http://dx.doi.org/10.1016/j.cag.2009.03.005</mixed-citation></ref><ref id="scirp.54174-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Sadleir, R.J.T. and Whelan, P.F. (2005) Fast Colon Centerline Calculation Using Optimized 3D Topological Thinning. Computerized Medical Imaging and Graphics, 29, 251-318. http://dx.doi.org/10.1016/j.compmedimag.2004.10.002</mixed-citation></ref><ref id="scirp.54174-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Cornea, H.D., Siver, D. and Min, P. (2005) Curve-Skeleton Applications. IEEE Visualization, 23-28 October 2005, 95-102.</mixed-citation></ref><ref id="scirp.54174-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Seo, S., Chung, M.K., Whyms, B.J. and Vorperian, H.K. (2011) Mandible Shape Modeling Using the Second Eigenfunction of the Laplace-Beltrami Operator. Proceedings of SPIE, Medical Imaging, 2011: Image Processing, 7962, 79620Z. http://dx.doi.org/10.1117/12.877537</mixed-citation></ref><ref id="scirp.54174-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Object File Format (2005) Princeton Shape Benchmark.  
http://shape.cs.princeton.edu/benchmark/documentation/off_format.html</mixed-citation></ref><ref id="scirp.54174-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Thompson, P.M., Hayashi, K.M., et al. (2004) Mapping Hippocampal and Ventricular Change in Alzheimer Disease. Neuroimage, 22, 1754-1766. http://dx.doi.org/10.1016/j.neuroimage.2004.03.040</mixed-citation></ref><ref id="scirp.54174-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Aho, A.V., Hopcfort, J.E. and Ullman, J.D. (1983) Data Structures and Algorithms. Addison-Welsey, Boston.</mixed-citation></ref></ref-list></back></article>