Topological coding of surfaces with boundary using Reeb graphs


Silvia Biasotti
Istituto di Matematica Applicata e Tecnologie Informatiche � Sez. di Genova
Consiglio Nazionale delle Ricerche - Italy

This paper is supposed to be viewed, using Internet Explorer version 5.0 (or any later version). Other browsers may give incorrect representations of the content.




         1. Introduction

         2. Shape representation

         2.1 Region extraction

         2.2 Super region extraction

         2.3 Region and super region classification

         3. Graph representation

         4. Examples and discussion

         5. Conclusions





Morse theory provides the theoretical framework for defining several shape descriptors related to the evolution on the surface of its contour levels. For example, the Reeb graph gives a conceptual sketch of the surface, which can be used to transmit/code abstract descriptions of the whole data set and to compose the object signatures instead of the whole models. In this paper, the basic concepts related to Reeb graphs are adapted and extended to generic surfaces with boundary.


Keywords: Reeb graph, surface characterisation, shape analysis


1. Introduction

Due to the conciseness of the Reeb graph description, such a representation has been extensively applied to several application contexts such as shape understanding [1,6], similarity estimation [4], database retrieval [7,15] and model representation [8,9,16]. An overview on the effectiveness of Reeb graph representations in shape modelling has been proposed in [10].

Definition 1 (Reeb quotient space): Let S be a surface and f:SÂ be a real mapping function associated to S, the quotient space G=S/~ defined by the equivalence relation �~�:

(P, f(p) ) ~ (Q, f(Q) ), P,Q Î S iff f(P)=f(Q)

P,Q are in the same connected component of f �1(f(P))

is called the Reeb graph of S with respect to the mapping function f.

The quotient space G can be effectively coded as a graph (see figure 1), where nodes correspond to critical points of the function f, while arcs represent the connections between them, for details see [1,4,5]. In particular, the Reeb graph is topologically equivalent to the original shape and the flexibility of the choice of the function f makes the Reeb graph adaptable to different application contents. Details on its implementation and the computational complexity can be found in [10].

����� (a)���������������������������������������� ��������(b)

Figure 1. Dotted ellipses in (a) are contour levels of f, while the continuous lines show a possible representation of the quotient space G. The Reeb graph representation of a bitorus is shown in (b).

Until now, most of methods for representing the Reeb graph structure mainly focused on the representation of closed surfaces [1,4,8,9,] or terrain-like models [2,11], where the Reeb graph is also referred as contour tree [11,12]. Furthermore, since terrain surfaces have only one boundary component that may be flattened, the Reeb graph can be always defined by adding a global minimum that virtually closes the surface and makes that homeomorphic to a sphere.

Things are slightly different when generic surfaces with boundary are considered. From a mathematical point of view it is known that, when f is a continuous map, the number of loops of G is an upper bound of the number of loops of S. In fact, the projection prjR:S G is also continuous and the fundamental group pushes forward; that is, there is a map prj*R:p1(S) p1(G) defined by taking the image of loops from S. Moreover, denoting g the genus of an orientable surface S having bS boundary components and #{loops} the number of loops of G, when the function f is Morse, the following relations hold:

g £ #{loops} £ 2g + bS - 1

see [5] for details.

This fact implies that the number of loops of G may change by varying the function f, for example mapping a surface along different height directions like in figure 2; therefore, when surfaces with boundary are considered, the characteristic of the Reeb graph of representing the genus of the surface independently of the mapping function is not any longer satisfied. The Reeb graph representation of generic 2-manifold surfaces with boundary has been firstly proposed in [5]. Such an approach substantially extended the construction of the contour tree presented in [11]; therefore it required that the function f is Morse and no critical points and vertices on the boundary may assume the same value of f, [13]. These hypotheses may become a limit when the Reeb graph representation is applied to discrete models affected by noise and/or uncertainty.

����������������� ������

(a)����������������������� ����� ����������������(b)������������ ������������������������ (c)����������������������������� ��� ������(d)

Figure 2. If S is a surface with boundary, the number of loops of G wrt the height function f may depend on the object position. In case of a torus with two boundaries, the Reeb graph representation admits two cycles, at most.

In our previous work [1,2] we described a method for computing a discrete representation of the Reeb graph of triangle meshes representing either a 2D scalar field or a closed manifold. In this paper we detail the approach introduced in [16] for representing the Reeb graph structure of triangle meshes with boundary, providing also the pseudo-code of the key points of our method. In particular, our approach is able to characterize mapping functions that are continuous but not differentiable and admits also boundary components that are polygonal curves. In addition, this paper describes a two level representation that codes both an extension of the classical Reeb graph structure (ERG) and a so-called Extended Reeb Super-graph (ERS) that highlights the genus of the surface.

The reminder of the paper is organized as follows. First, our characterisation method is adapted to a generic surface with boundary. Second, our two level graph representation is detailed. Then, results are presented and possible choices of the function f are discussed. Conclusive remarks and suggestions on future work end the paper.

2. Shape representation

In this section, we briefly discuss how to extend the representation method proposed in [1,2,17] to generic surfaces with boundary both in terms of characterisation and extraction algorithm.

Our idea is to organize the Reeb graph representation on two levels: first, the evolution of the level sets is stored obtaining a description analogous to [5]. Second, another representation, which is topologically coherent with the genus of the surface S, is obtained by virtually closing the boundary components. The second phase of the algorithm is based on the classification theorem of surfaces that claims that the topological type of an orientable, compact, connected surface with boundary depends on the number of its boundary components and on the genus of the surface S* obtained by gluing a disc onto each boundary component, [14]. Thus, the most intuitive idea for highlighting the topological type of S is to construct a closed model by physically filling each boundary component. Unfortunately, even if the operation of closing the boundary components is theoretically always possible, there are surfaces, such as the Seifert's surfaces, that do not admit such a filling without any self-intersection in the usual three dimensional space. Furthermore, since there are several ways of closing a boundary component, several artefacts could be introduced in the model during the filling phase. Founding upon these considerations, our approach virtually closes S without physically altering the model.

2.1 Region extraction

Our approach to surface characterization analyses the evolution of a set of contour levels C(S) as proposed in [1,2], where a region-oriented rather than a point-oriented classification of the behaviour of S was considered.

The contour levels decompose the surface into a set R(S) of regions; then, each region is classified either as regular or critical, the latter being a maximum, a minimum or a saddle. In case of surfaces with boundary the classification is achieved in two steps: first, all regions are detected and classified. Second, regions that belong to the same boundary component and assume the same value of f are virtually grouped in the so-called super-regions.

Let BS(R)= B1 È B2 È È Bn be the border of a region R Î R(S) and n the number of its connected components, where a connected component of BS(R) is either a closed contour or a polygonal line, that is a line whose end-points belong to the surface boundary. Each region R of S is classified according to the number of its border components and outgoing directions, which are classified as ascending or descending according to the behaviour of f across the corresponding border component as explained in [1].

In our implementation, the contour levels C(S) are inserted as constraints in the triangle mesh and the edges belonging to them are defined constrained. The following C pseudo-code describes the extraction of a surface region:


{����������������������� /* input: TIN, a triangle mesh; output R, a region*/


R=InitRegion(t);�������� /*the region is initialised with a generic triangle*/

while(there are non-visited triangles adjacent to R through a non-constrained edge)


AddTriangle(R,t)������������������� /* add a new triangle to the region R */

MarkTriangle(R,t);��������������������� /* mark the triangle t as visited */



DetectBoundaryRegion(R);���� /* detection of the boundary components of R */

ClassifyRegion(R);��������� /*the region is classified regular or critical*/

����������������� ��������� /*according to criteria described in section 2.3 */

if (!critical)

���� RemoveFromList(R);������� /* triangles of R are still marked as visited*/


Therefore, the region extraction procedure is repeated until there are triangles that have not been visited, yet. With reference to figure 3(a,b) surface regions correspond to model portions bounded by contours and boundary components, if any.

2.2 Super-region extraction

To obtain a Reeb graph representation of an orientable surface S such that #{loops of G}=g=#{handles of S}, a further region classification that simulates the virtual closing of each boundary component, is accomplished. Our algorithm for the closure of a boundary component modifies the approach proposed in [5]. Main step of such an extension is the virtual union of the contour end points belonging on same boundary component. Analogously to [5], maxima and minima of f along each boundary component are detected and end-points of contour levels that belong to the different portions of the same boundary component are collapsed. In figure 3 the contour levels with respect to f are depicted on a sphere with one boundary component; while circles highlight the end points of contours and dashed lines represent its virtual closure.

The Bolzano-Weierstrass theorem implies that, when the mapping function f is at least continuous, f assumes on each boundary component Bi(S) of S at least a maximum and a minimum value, both on the surface S and its boundary. Moreover, if the restriction of f to BS is Morse, the boundary sequentially alternates a maximum and a minimum point; therefore each maximum is adjacent to two minima at most and vice-versa. Nevertheless a similar behaviour is verified also when a boundary component is a polyline, that is a piece-wise linear curve composed by a sequence of edges that are joined along their end points. In fact, in this case, non isolated maxima and minima like in figure 3(c) may be considered as a single point and classified according to the behaviour of f around them.

������������������������������� ���������������������������������������������������

(a)������������������ ����� �������������������������������������������������������(b)����������������������������������������������������������� ��������������������������������� (c)

Figure 3 Virtual closure of a boundary component (a,b). Black circles indicate the critical points with respect to the height function. In (b) m1=m2. In (c) the edge E of the polyline is classified as maximum.

Let Mg be a maximum of f assumed on a boundary component Bi(S) of S and m1, m2 the two minima adjacent to Mg on Bi(S) such that f(m1) £ f(m2), m1 and m2 may also overlap. Denoting m the point on the arc (Mg,m1) such that f(m)=f(m2) two cases are distinguished.

First, there are no maxima Mk of Bi(S) such that f(Mk) Î [f(m), f(M)]. This implies that m1 and m2 coincide because m2 is a minimum and, on Bi(S), maxima and minima are sequentially alternated. In this case we virtually connect all end-points on the arcs (Mg ,m) and (Mg, m2) that belong on the opposite side of Bi(S) and have same value of f, as shown in figure 3(b).

Second, we denote Mf = max{ f(Mk) | f(Mk) Î [f(m),f(Mg)] }; in particular, we observe that the set Set(Mf) of the maxima having value Mf may consist of several points and, if m1¹ m2, Set(Mf) is not empty. Let m'1 and m'2 be the points on the arcs (Mg, m) and (Mg,m2), respectively, such that f(m'1)=f(m'2)=Mf. If the Euclidean distance between m'1 and m'2 (Euclid(m�1,m�2)) is less than that between the same points and the Set(Mf), the arcs (Mg ,m) and (Mg, m2) are collapsed; in practice such a control should determine if the critical points of the boundary behave like in figure 4(b). Otherwise (see figure 4(a)), we connect the end-points that belong to the arcs (Mg,m'1) and (Mg,m'2) with same value of f; while the remaining part of Bi(S) that does not contain Mg is split into the sub-parts induced by the points of Set(Mf).

Finally, such a gluing process is repeated separately for the other sub-parts of Bi(S), until the virtual correspondence among all contour end-points has been established.









(a)��������������������������������������������������� �������������������� (b)


Figure 4. Possible configurations of two boundary components. In (a) the maximum M1 lies between m�1 and m�2, therefore Euclid(m�1,m�2)³{Euclid(m�1,M1),Euclid(M1,m�2)}. Then, the arcs (M,m�1) and (M,m�2) will be connected and the reminder of the boundary splits. On the contrary, when the Euclidean distance between m�1 and m�2 is less that the other, like in the case (b), the arcs (M,m) and (M,m2) may be collapsed.

An example of the pseudo-code for the detection of the generalized contours is proposed in the following:


���� /* input: Bi(s), a boundary component of S; output: virtual closure of Bi(s)*/


CharacterizeBoundary(Bi(S));����������� /* maximum and minimum detection on Bi(S)*/

Mg=MaximumVertex(Bi(S));��������������� /* vertex having the highest value of f */

m1, m2=AdjacentMinima(Bi(S), Mg);�� /*extraction of minima adjacent to Mg on Bi(S)*/

���������������������� /*the minima m1 and m2 satisfy the inequality f(m1)£f(m2)*/

if (m1== m2)

�� CollapseArcs((Mg-m1),(Mg-m2));

��������������� /* the contour end points lying on the two arcs are identified */


�� {

�� m=VertexOnArc(Mg-m1,f(m2));���� /*vertex on the arc Mg-m1 such that f(m)=f(m2)*/

�� Set(Mf)=MaximaInInterval(f(Mg)-f(m));���� /*maxima whose f value is bounded by

���������������������������������������������������������������� f(Mg) and f(m)*/

�� m�1=VertexOnArc(Mg-m,f(Set(Mf)))

�� m�2=VertexOnArc(Mg-m2,f(Set(Mf)))

�� dist=EuclideanDistance(m�1,m�2);

�� dist_sets=MaxMinDistance(m�1,m�2,Set(Mf))������� /*minimum distance between m�1,

�������������������������� m�2 and set of maxima Set(Mf)*/

�� if (dist £ dist_set)

����� {

����� CollapseArcs((Mg-m),(Mg-m2));

����� GeneralizeContours(Bi(s));��������� /* repetition on other subparts of Bi(S)*/

����� }������������������������������������������������������������� /* end if */

�� else

����� {

����� CollapseArcs((Mg-m�1),(Mg-m�2));

����� GeneralizeContours(subpart of Bi(s) containing m2);

����� GeneralizeContours(subpart of Bi(s) containing m1);

����� }������������������������������������������������������������ /*end else */

�� }��������������������������������������������������������������� /*end else */


Once two arcs have been collapsed, the function �GeneralizeContours� is recursively applied to the remaining subparts of Bi(S). Finally, the extraction of the generalized contours ends when such a procedure is applied to each boundary component Bi(S) of S.

In figure 5(a) an example of the pipeline of our gluing algorithm is shown. First, the maximum Mg and the minima m1 and m2 of BS are considered. Since f(M1) ³ f(m2) the points m'1 and m'2 are detected. Since the distance between m'1 and m'2 is less than the distance between m'1 and M1, the arcs (Mg,m) and (Mg,m2) are glued (see figure 5(c)). Once the points m and m2 have been identified, the maximum M1 is selected. Then, the maximum M2 generates a further split of the arcs (M1,m4) and (M1,m7) introducing the points m5 and m6 (figure 4(d)). Analogously, M2 lies between m5 and m6. In this case the two arcs (M1,m5) and (M1,m6) glue together and the remainder portion of BS is split in two subparts. Finally, the arcs (m5,m1) and (m1,M2) are connected; similarly, (M2,m7) and (m7,m6) do (see figure 4(e)). The correspondence between the boundary portions is shown associating the same colour to arcs that are glued together; in particular, in figure 5(c,d) the line between m1 and m2 denotes that these vertices have been identified and (M1,m5) will become an arc.

(a)�������������������� ����������������� (b)�������������� ������������������ (c)������������� ����������������� (d)����������������� ����������������� (e)

Figure 5 Sequence of steps for virtually closing a boundary component using our method.

In figure 6(d) we show a possible boundary decomposition induced by the method proposed in [5]. There, arcs between minima and maxima of a boundary component are connected without considering if other critical values lie on the interval of values they span. In particular, once the points m4 and m5 have been identified, the arcs (Mg,m4) and (Mg,m3) are glued; similarly (m3,M1) and (M1,m5) do; finally, the pair (m4,m1) and (m5,m2) is connected and, analogously, the arcs (M2,m1) and (M2,m2) do.

(a)�������������������������������������� ����������������� (b)�������������� ���������������������� (c)��������� ��������������������� (d)

Figure 6. Virtual correspondence using the criteria in [5].

As a result of our gluing algorithm, contours with end points on same boundary component are virtually closed and we refer to them as generalized contours.

2.3 Region and super region classification

In this section it is described our surface regions classification. Such a classification mainly depends on the number of border components of a region and the behaviour locally around its border. Given a region R, we will denote BS(R) its border and n the number of its border components; then, the following classification scheme is adopted:

-         R is a maximum area iff all the outgoing directions from BS(R) are descending;

-         R is a minimum area iff all the outgoing directions from BS(R) are ascending;

-         R is a saddle area iff n>2 and there are both ascending and descending outgoing directions from BS(R);

-         finally, R is called regular iff does not belong to the previous categories.

Super regions are extracted gluing the regions whose image is in the same interval of values of f and share at least one generalized contour. Considering the generalized contours instead of the contour levels, the resulting super regions are further classified using the criteria proposed for regions. Therefore the algorithm for the extraction of the super regions works analogously to the method proposed in section 2.1.To what the outgoing directions of a generalized contour are concerned, they are still classified ascending or descending according to the behaviour of the function f of along its contour levels. The set of super regions is denoted by SR(S) and, analogously to R(S), they provide a full partition of the surface S.


3. Graph representation

The generalized characterization just described may be coded in a graph simply extending the equivalence relation used in the Reeb graph. The equivalence notion we are introducing may be applied not only to the region decomposition R(S), but to the super region segmentation SR(S) too.

Let f: S Â be the a real function defined on S, and let [fmin,fmax] be an interval containing the domain of f on the surface S, and fmin < f1 < � < fnp < fmax the distribution of the values of the contour levels C(S) of S as proposed in [2]. In addition, let I={(fmin, f1), (fi, fi+1), i=1, � , np-1, (fnp, fmax)} È {fmin, f1, � ,fnp, fmax} be the partition of the interval [fmin, fmax] provided by the function values of the contour levels and its np+1 interior parts.

Definition 2: An extended Reeb equivalence between two points P, Q