Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2010 Jan 12.
Published in final edited form as: J Math Imaging Vis. 2009 Jun 1;34(2):165–184. doi: 10.1007/s10851-009-0140-7

Digital Topology on Adaptive Octree Grids

Ying Bai *, Xiao Han , Jerry L Prince *
PMCID: PMC2805029  NIHMSID: NIHMS162571  PMID: 20072715

Abstract

The theory of digital topology is used in many different image processing and computer graphics algorithms. Most of the existing theories apply to uniform cartesian grids, and they are not readily extensible to new algorithms targeting at adaptive cartesian grids. This article provides a rigorous extension of the classical digital topology framework for adaptive octree grids, including the characterization of adjacency, connected components, and simple points. Motivating examples, proofs of the major propositions, and algorithm pseudocodes are provided.

Keywords: Digital topology, adaptive octree grid, simple point characterization

1 Introduction

Digital topology [23, 25, 41, 42] addresses the fundamental properties of binary object connectivity in two-dimensional (2D) and three-dimensional (3D) digital images. The principles and algorithms of digital topology are used in various image processing and analysis algorithms including thinning [22, 31, 39, 43, 44, 52], border and surface tracing [9, 27], component and tunnel counting [45], and region filling and growing [10,49]. The most widely used digital topology framework is the graph-based approach proposed by Rosenfeld [25], which divides the uniform discrete space into two graphs using a pair of adjacency1 relations to represent the foreground and background of a binary digital image. Rules for adjacency, neighborhoods, paths, connected components, cavities, handles, and tunnels can be consistently defined on regular grids within this framework.

The concept of simple point was developed to describe a point (i.e., pixel or voxel) whose inclusion in either the foreground or the background does not affect the topology of the overall digital image. In other words, a simple point can be included in either the foreground or the background and neither the number of objects nor the number of handles or cavities will change. Both the theoretical characterization [6, 7, 12, 35, 44] of simple points and efficient algorithms for their detection are essential in the design of image transformations that preserve topological features. An elegant characterization of a simple point on the uniform discrete grid using only two local conditions that are easily computed was established by Bertrand et al. [6, 7]. This result has found widespread application in many areas, and is particularly important in the processing of medical images, where true object topology is often known and topological correctness of the processing outcome is required [4, 5, 14, 15, 33, 46].

In most computer vision and medical imaging applications, objects are represented using finite and discrete sets of pixels (in 2D) or voxels (in 3D) arranged in a rectangular coordinate system. To faithfully represent the topology of the true object, a sufficiently dense grid is required [48]. For some objects, a dense grid may be required only in some regions, while a relatively coarse grid can be used over most of the field of view. Multi-scale adaptive grids distribute the grid nodes adaptively according to the local geometry and features of the underlying object. In this way, storage requirements are lessened, efficient algorithms are possible, and detailed features of the underlying object(s), including their topology, can be preserved [11, 13, 34]. An illustration of this principle is provided in Fig. 1.

Figure 1.

Figure 1

(a) A 2D object with three “fingers”. (b) Coarse sampling grid cannot represent the true topology of the underlying object (assume 4-adjacency for the object) and key geometrical features are also lost. (c) An adaptive quadtree grid recovers the correct topology and geometrical features without increasing the sampling rate overall. In (b) and (c), the pink contour is a linear approximation of the boundary of the digital object defined on each grid.

The definitions of adjacency and topological relations on adaptive grids are not simple extensions of those on uniform grids. Unlike a grid point on a uniform grid that is always surrounded by a fixed number of neighbor points, a grid point on an adaptive grid can have many different neighborhood configurations. This makes the study of topological properties on adaptive grids much more challenging. In this article, we present an extended digital topology framework for adaptive grids in 3D. This presentation extends and formalizes the work that we presented in recent conferences [2, 3]. Our immediate target for the use of the theory presented herein is in developing multi-scale topology-preserving segmentation methods [3]. We believe that the theory and algorithms presented herein will also help promote the development of new methods for region-growing, thinning, skeletonization, and simplification (cf. [2]).

This paper is organized as follows. In Section 2, we briefly review basic concepts of digital topology for uniform grids. In Section 3, we present the extended topology framework for adaptive octree grids. In Section 4, we present and prove the extension of simple point characterization for octree grids. In Section 5, a skeleton computation algorithm on octree grids is provided as an example to demonstrate the use of our simple point characterization. Finally, in Section 6, we summarize our contributions and discuss future research directions.

2 Background: Digital Topology on Uniform Grids

In this section, we review some basic 3D digital topology concepts on standard uniform grids (see [6, 7, 25] for more details).

A point xZ3 is defined by (x1, x2, x3) with xiZ. Three types of neighborhoods are commonly used (cf. Fig. 2(a)). These can be defined by Euclidean distance between points as follows

  • 6-neighborhood: N6(x)={yZ3;x1y1+x2y2+x3y31}.

  • 26-neighborhood: N26(x)={yZ3;max[x1y1,x2y2,x3y3]1}.

  • 18-neighborhood: N18(x)={yZ3;x1y1+x2y2+x3y32}N26(x).

Define Nn(x)=Nn(x){x},forn=6,18,26. Two points x and y are said to be n-adjacent if yNn(x), for n = 6, 18, 26, and denoted as x-Nn-y. We call the points of N6(x),N18(x)N6(x),N26(x)N18(x) the 6-, 18-, and 26-neighbors of x, respectively (see Fig. 2 (a)). An n-path π is a sequence of points, x0, · · · , xk, with xi n-adjacent to xi–1. π is elementary if all the points of the sequence are different, except for possibly x0 = xk. An elementary n-path π is called a simple path if each point of π is n-adjacent to only its successor (if any) and its predecessor (if any). If x0 = xk, then π is closed. It can be shown that any path from x0 to xk contains both an elementary path and a simple path from x0 to xk. Also, two paths can be concatenated into one path when they share a common end point. For example, if γ1 = xPy and γ2 = yQz are two paths, where x, y, and z are points and P and Q are paths, then the concatenation of the two paths is γ1 · γ2 = xPyQz.

Figure 2.

Figure 2

(a) The gray circle is the root point; the black squares denote the 6-neighbors; the white squares denote the 18-neighbors; and the gray squares denote the 26-neighbors. In (b)-(d), it is assumed that n = 6 for black points and = 26 for white points. Then the gray point is (b) a simple point, T6 = T26 = 1; (c) a non-simple point, T6 = 2, T26 = 1; and (d) a non-simple point, T6 = 0, T26 = 1.

A point set XZ3 is n-connected if an n-path can be found between every pair of points of X. An n-connected component of X is a set Y ⊂ X which is n-connected and no point in Y is n-adjacent to any other point of X. Denote X=Z3X. In order to have a correspondence between the topology of X (foreground) and that of (background), we must use different adjacency rules for X and [25, 26, 40]: if we use n-adjacency for X, we must use -adjacency for , where the pair (n, n̄) ∈ {(6, 26), (26, 6), (6+, 18), (18, 6+)}2 is called a pair of consistent adjacency rules. The topology of a set XZ3 can be characterized by its Euler number χ(X). In 3D, χ(X) equals the number of connected components in X plus the number of its cavities minus the number of its handles. A cavity is defined as a finite -connected component of . A handle is not easy to define, but the presence of a handle in X can be detected whenever there exists a closed path in X that cannot be homotopically deformed in X to a single point without breaking the path.

The homotopy relation between closed n-paths [21] is a discrete analog of the homotopy defined for continuous curves in classical topology. A closed continuous curve in a set S from a base point p ∈ S back to itself is called a loop in S with base point p. In other words, a loop in S with based point p is a continuous map γ : [0, 1] → S such that γ(0) = γ(1) = p. Two loops γ1 and γ2 in a set S that have the same base point p are said to be homotopic (or equivalent) in S if there exists a continuous map h : [0, 1] × [0, 1] → S such that for all 0 ≤ x ≤ 1 and 0 ≤ t ≤ 1:

h(x,0)=γ1(x),h(x,1)=γ2(x),h(0,t)=h(1,t)=p.

In order to define the discrete analog of loop homotopy, the notion of an elementary deformation [7, 21] in the discrete space must first be introduced. Let γ and γ′ be two closed n-paths in X. γ is an elementary deformation of γ′ in X, if they are of the form: γ = pP1u1 · P · u2P2p and γ′ = pP1u1 · P′ · u2P2p, where p is the base point. u1 and u2 are points in X. P1, P2, P, and P′ are paths in X, and:

  • if n = 6, then u1 · P · u2 and u1 · P′ · u2 are included in a unit square (2 × 2 square).

  • if n = 6+, 18, or 26, then u1 · P · u2 and u1 · P′ · u2 are included in a unit cube (2 × 2 × 2 cube).

Two closed n-paths, γ and γ′, are said to be n-homotopic in X if there exists a finite sequence of n-paths: γ0 = γ, γ1, · · · , γm = γ′, such that γi is an elementary deformation of γi–1 in X for i = 1, · · · , m.

A point x ∈ X is said to be simple if its deletion from X does not change the topology of the digital image, i.e., the number of connected components, the number of cavities, and the number of handles in both X and remain constant. Whether or not a point is simple can be determined from the configuration of its immediate neighborhood (N8(x) in 2D and N26(x) in 3D). An efficient approach to determine whether a point is simple or not was presented in [6, 7] using the concepts of geodesic neighborhood and topological numbers. For example, let Cn(x, X) denote the set of all n-connected components of X that are n-adjacent to a point x, and let #Cn(x, X) denote the cardinality of Cn(x, X). If we choose the adjacency pair (n, n̄) = (6, 26), then the geodesic neighborhood of x relative to X is defined to be N18(x)X, and the corresponding topological number is T6(x,X)=#C6(x,N18(x)X); the geodesic neighborhood of x relative to is defined to be N26(x)X, and the corresponding topological number is T26(x,X)=#C26(x,N26(x)X). These two numbers lead to a very concise characterization of a 6-simple point: x ∈ X is 6-simple for X if and only if T6(x, X) = 1 and T26(x, X̄) = 1. Some examples are shown in Figs. 2 (b)-(d).

Besides the adjacency graph approach that we have summarized above, other approaches to define topology in multidimensional regular digital space include: the oriented graph proposed by Herman [17] and Udupa [51]; and the cellular complexes approach by Kovalevsky [28], Khalimsky [20], Bertrand and Couprie [8] and Ayala et al. [1]. Extensions to higher dimensions have also been made [24, 38]. Since the adjacency graph approach still enjoys the most popularity in various computer vision and image processing applications, we have currently chosen to extend this framework to adaptive grids.

3 Digital Topology on Octree Grids

3.1 Terminology and Notation

We first introduce some basic notations and concepts on octree grids.

Definition 1 An octree grid is a hierarchical cartesian grid. A cell is the basic unit of an octree grid; it is a cube with 6 faces, 12 edges, and 8 vertices. Each cell can be divided into eight child cells. The root cell represents the entire domain and is at level 0. The resolution level of a cell is defined by starting from the root cell and adding one for each refinement. A leaf cell is a cell that has no child cells.

See Fig. 3 for an illustration of an octree grid.

Figure 3.

Figure 3

Octree grid structure: Left panel shows the octree grid cells. Starting from root cell at level 0. {xi, i = 1 · · · 8} are the eight vertices of the root cell. Right panel shows the tree hierarchy corresponding to the left panel: each square represents a cell on the octree. The white cells are leaf cells; the black cells are non-leaf cells.

Definition 2 The domain of a digital image defined on an octree grid is the set Ω of all vertices of the octree leaf cells. The location of a point P ∈ Ω is given by an integer-valued triplet (x, y, z), which also represents its position on the underlying finest resolution uniform grid.

Because leaf cells have different sizes, the neighborhoods on an octree grid can no longer be defined using Euclidean distance. Instead we use the following definitions.

Definition 3 Three types of neighborhoods are defined for each point x ∈ Ω:

  • “EDGE (E)-neighborhood” of x: NE(x) = {x′ ∈ Ω: x and x′ are the two vertices of an edge of a leaf cell}

  • “SQUARE (S)-neighborhood” of x: NS(x) = {x′ ∈ Ω: x and x′ are two of the four vertices of a square of a leaf cell}

  • “CUBE (C)-neighborhood” of x: NC(x) = {x′ ∈ Ω: x and x′ are two of the eight vertices of a cube of a leaf cell}

We define the E-neighbors of x to be NE(x); the S-neighbors of x to be NS(x) \ NE(x), and the C-neighbors of x to be NC(x) \ NS(x).

See Fig. 4 for illustrations of these neighborhoods on both regular and octree grids.

Figure 4.

Figure 4

3D neighborhoods on an octree grid. In each example, the gray circle is the root point; the black squares denote the E-neighbors; the white squares denote the S-neighbors; and the gray squares denote the C-neighbors. (a)-(c) are single-level neighborhoods; (d) is a multi-level neighborhood.

Note that the E-, S-, and C-neighborhoods on an octree grid are analogous to the 6-, 18-, and 26-neighborhoods on a uniform grid, respectively. But unlike points on a uniform grid, points at resolution transitions of an octree grid are not guaranteed to have a regular neighborhood — they can have different numbers of neighbors in different directions. The distances between the root point and neighbor points also vary according to the sizes of the neighbor leaf cells. If all the neighbor leaf cells of the root point are of the same size, then we call it a single-level neighborhood; otherwise we call it a multi-level neighborhood (cf. Fig. 4). Now we define several terms for grid resolution transitions.

Definition 4 A transition face (or face diagonal) refers to a face (or face diagonal) of a leaf cell whose neighbor cell at the same resolution level that shares the same face (or face diagonal) is not a leaf cell. A transition edge refers to an edge of a leaf cell whose three neighbor cells at the same resolution level that share the same edge are not all leaf cells. Hence, a transition face (or edge, or face diagonal) consists of finer resolution faces (or edges, or face diagonals) belonging to the children of the neighbor cell(s).

See Fig. 5(a) for an example.

Figure 5.

Figure 5

(a) The polygon x1x3x5x7 is a transition face, consisting of four finer resolution faces x1x2x9x8, x2x3x4x9, x8x9x6x7, and x9x4x5x6. The line segments x1x3, x3x5, x5x7 and x7x1 are four transition edges, each consisting of two finer edges. The line segments x1x5 and x3x7 are two transition face diagonals. (b) If we use E-adjacency for the white points, then all the points in the simple closed E-path γy = y1y2y3y4y5y6y7y8y1 have single-level neighborhoods, and therefore each point is E-adjacent to only its successor and its predecessor. In the simple closed E-path γx = x1x2x3x4x5x6x7x8x1, there are four points — x1,x3, x5, and x7 — that have multi-level neighborhoods, and each of them is E-adjacent to two successors and two predecessors.

The notions of adjacency and path on octree grids are defined as follows.

Definition 5 Two points x ∈ Ω and y ∈ Ω are said to be α-adjacent (α ∈ {E, S, C}), denoted as x-Nα-y, on an octree grid if yNα(x).

Definition 6 An α-path π on an octree grid is a sequence of points x0, x1, ..., xk, such that xi-Nα-xi–1, for 1 ≤ ik. If x0 = xk, then the path is called closed. π is elementary if all points of the sequence are unique, except possibly x0 = xk. An elementary α-path π is simple if each point of π that has a single-level neighborhood is α-adjacent to only its successor (if any) and its predecessor (if any) in π, while each point of π that has a multi-level neighborhood is α-adjacent to at most four successors (if any) and four predecessors (if any) in π 3, and the multiple successors (or predecessors) must be included in a transition edge or a transition face diagonal.

See Fig. 5(b) for an example.

Once the concepts of “adjacency” and “path” on Ω are defined, the definitions of foreground (object) X, background , connected components, and cavities are straightforward extensions of those for Z3 in Section 2. Defining handles on Ω requires extension of other concepts and will be discussed later. As in uniform grids, to avoid topological anomalies we must use two different kinds of adjacency, α and α, for X and on octree grids, respectively, where the pair (α, α) ∈ {(E, C), (C, E), (E+, S), (S, E+)}4.

3.2 Topological inconsistencies at resolution transitions

As far as topology is concerned, octree grids are fundamentally different than uniform grids because they have cells of different resolutions. Since the octree grid is used to more efficiently represent objects that would otherwise be defined on a fine resolution grid, it is a fundamental premise that object configurations on the octree grid must unambiguously specify the topology of the same object on the fine grid. On uniform grids, there are ambiguous configurations sometimes referred to as ambiguous faces and ambiguous cubes [36,37]. These types of ambiguities also exist on octree grids, and they are easily resolved by using consistent adjacency rules as mentioned earlier [19, 29, 30]. On an octree grid, however, there are additional configurations that can create ambiguities not resolvable by the use of consistent adjacency rules. Such configurations take place at the transitions between cells of different resolutions in an octree grid. For example, the configurations shown in Fig. 6 are problematic because the connectivity defined by the coarse resolution cell and fine resolution cells are inconsistent on the transition face/edge. Assume that the foreground (black points) and background (white points) have adjacency rule of (E, C) or (E+, S). In Fig. 6(a), the two white points are E-connected on the transition edge according to the coarser cell, while they are disconnected according to the two finer cells. Similarly, in Fig. 6(e), the two black points are S-connected on the transition face according to the coarser cell, while they are disconnected according to the four finer cells. Figure 6 shows the 6 basic invalid configurations at resolution transitions when the adjacency rule of (E, C) or (E+, S) is assumed and the resolution levels of neighbor cells differ by 1. Other invalid configurations can be derived from these basic cases by reflections, symmetrical rotations, switching the role of foreground and background, or changing adjacency rules.

Figure 6.

Figure 6

Examples of invalid cases on transition edge/face. Assume S-adjacency for black points (X) and E+-adjacency for white points (): (a) On this transition edge, #CαC(x,X)=1, #CαF(x,X)=2; (b) On this transition edge, #CαC(x,X)=1, #CαF(x,X)=2; (c) On this transition face, #CαC(x,X)=0, #CαF(x,X)=1; (d) On this transition face, #CαC(x,X)=0, #CαF(x,X)=1; and (e-f) On this transition face, #CαC(x,X)=1, #CαF(x,X)=2.

Such ambiguous resolution transitions are caused by the fact that the coarse grid cell at the interface is inadequate to represent the topology of the underlying object in these cases. In theory, it would be possible to resolve these ambiguities by establishing a set of new adjacency rules for each ambiguous case, which however would introduce considerable extra complexity. To resolve the ambiguities without making new rules, the coarse cell should not be used in the first place, i.e., it should be split up into finer cells to represent the additional resolution that is implied by the ambiguity. This is consistent with our premise for using adaptive grids — that is, grid nodes are adaptively distributed so that the topology of the underlying object is resolved correctly and efficiently, i.e., coarse resolution cells are used where the object geometry is simple and fine resolution cells are used where the object geometry is complex. Because of this reasoning, we disallow these types of ambiguous configurations, and refer to them as invalid cases. We now provide a mathematical characterization of invalid cases.

We denote the set of points included in a coarse resolution edge/face as I, and the set of points included in the corresponding fine resolution edges/faces as I′. So we must have I ⊂ I′. Now we denote the number of α-connected components in the foreground (resp. background) in a set I as #Cα(I, X) (resp. #Cα(I, X̄)). Then we have the following definition of an invalid case.

Definition 7 An invalid case refers to a configuration on a transition edge/face, such that #Cα(I, X) ≠ #Cα(I′, X) or #Cα(I,X)#Cα(I,X).

Fig. 6 provides some examples of invalid cases.

In order to keep a consistent definition of topology over the entire grid, invalid cases are not allowed on an octree grid. Therefore, we must not create these configurations in the generation of an octree representation of a digital object or in any further manipulation (region growing, thinning, etc.) of the object. We refer to an octree grid that has no invalid cases as a valid octree grid (VOG). From this point on, all theory is established and discussed for VOGs only.

3.3 Handles and deformations on VOGs

Now we will define the notion of a handle on a VOG. A handle is a topological structure that cannot be continuously shrunk to a point. In the discrete domain, a handle is detected whenever there exists a closed path in X that cannot be homotopically deformed to a point within the object X itself. A homotopic deformation is one in which the deforming path never breaks in order to cross over another path in . Such a deformation has been defined on uniform grids in [7, 21, 25]. Extension of this definition to VOGs is not straightforward due to the extra complications at resolution transitions. Now we will define two types of basic homotopic deformations of a closed path in a VOG, one for shortening or expanding the path and another for allowing the path to transit from one resolution level to another. It is easy to verify that these deformations can never cross any path of , as will be explained later. Using a concatenation of these two basic deformations, we can then define a general homotopic deformation on VOGs.

Definition 8 Let γX and γ′ ∈ X be two closed paths, and choose α-adjacency for X. We say that γ′ is an elementary deformation (E-def) of γ on VOGs, denoted as γEγ, if γ and γ′ are of the form: γ = pP1u1 · P · u2P2p, γ′ = pP1u1 · P′ · u2P2p, where p, u1, and u2 are points, P1, P2, P, and P′ are paths, and:

  • if α = E, then u1 · P · u2 and u1 · P′ · u2 are included in a face of a leaf cell.

  • if α = E+, S, or C, then u1 · P · u2 and u1 · P′ · u2 are included in a cube of a leaf cell.

Let us use Fig. 7(a) to illustrate E-def's under different adjacency rules. Assume C-adjacency for the closed path γ = pP1x1x2x3x4x5P2p, where p is a point and P1 and P2 are paths (not shown in the figure). Let u1 = x1, u2 = x5, P = x2x3x4, and P′ = θ. Then we can deform γEγ=pP1x1x5P2p. Let u1 = x1, u2 = x1, P = x2x3x4x5, and P′ = θ. Then we can deform γEγ=pP1x1P2p. Now assume E-adjacency for the closed path γ = pP1x1x6x5x7P2p. Let u1 = x1, u2 = x7, P = x6x5, and P′ = θ. Then we can deform γEγ=pP1x1x7P2p.

Figure 7.

Figure 7

Demonstration of deformations: see text for details.

The above definition of E-def is an extension of the original definition on uniform grids (cf. [7, 25]). Applying an E-def on a closed path in X can either shorten or expand the path in length without crossing any path in . Since an E-def is only allowed to occur inside a leaf cell cube or a leaf cell face, there is not enough room for a path in to be crossed. One may be concerned about an E-def that occurs in a coarse resolution cell that has transition edges/faces. Since VOGs are constrained at resolution transitions such that the coarse resolution edge/face is always topologically equivalent to the fine resolution edges/faces, there cannot exist any path in only defined on the fine resolution edges/faces. This guarantees that an E-def in X within the coarse cell will not cross any path in . Fig. 7(b) helps to illustrate the above argument. Assume E+-adjacency for the black points (X), and S-adjacency for white points (). Now we want to deform the closed path γ = pP1x1x3x5x7P2p inside this leaf cell with a transition face. According to the definition of E-def, we can deform γEγ=pP1x1P2p. However, if the point x9 is white, such an E-def would cross a path in containing x9. But it turns out that such a case cannot occur because it is an invalid case forbidden on VOGs. This again demonstrates the value — indeed, necessity — of restricting our discussion to VOGs.

Now we define another type of basic deformation that allows the deformed path to transit in between different resolutions.

Definition 9 Let γX and γ′ ∈ X be two closed paths. We say that γ′ is a transitional deformation (T-def) of γ on a VOG, denoted as γTγ, if γ and γ′ are of the form: γ = pP1u1 · P · u2P2p, γ′ = pP1u1 · P′ · u2P2p, where p, u1, and u2 are points, P1, P2, P, and P′ are paths, and u1 · P · u2 and u1 · P′ · u2 are included inside a transition edge or a transition face diagonal.

We use Fig. 7(c) to illustrate T-def's. To let the path γ = pP1x1x2x3P2p transit from finer to coarser resolution, we let u1 = x1, u2 = x3, P = x2, and P′ = θ, and deform γTγ=pP1x1x3P2p. A reverse deformation lets the path transit from coarse to fine. As another example, to let the path γ = pP1x2x1P2p transit from finer to coarser resolution, we let u1 = x2, u2 = x1, P = θ, and P′ = x3, and deform γTγ=pP1x2x3x1P2p. Similarly, on the transition face diagonal, we can deform the path γ = pP1x1x4x5P2p by γTγ=pP1x1x5P2p; or deform the path γTγ=pP1x4x5x1P2p. It should be clear that a T-def that only occurs on a transition edge/face diagonal cannot cross any path in .

Now we are ready to define homotopic deformations and handles.

Definition 10 A homotopic deformation of a closed path in a VOG is defined to be a sequence of E-def's and T-def's. A handle is said to exist in X when there is a closed path in X that cannot be homotopically deformed in X to a single point.

Fig. 8 shows how to detect a handle by deforming a path on VOGs. Let us assume E-adjacency for black points. Fig. 8(a) shows a closed path γ = x1x2x3x4x5x6x7x1 that does not define a handle, since we can perform the following homotopic deformations: γEγ=x1x4x5x6x7x1; γTγ=x1x5x6x7x1; γEγ=x1, to deform γ into a point. Fig. 8(b) shows a closed path γ = x1x2x3x4x5x6x7x8x9x1 that defines a handle, as we perform the following homotopic deformations: γEγ=x1x2x3x4x5x6x7x1; γTγ=x1x2x3x4x5x6x1, and then we can no longer shorten the path γ″ to deform it to a point.

Figure 8.

Figure 8

Detection of handles through homotopic deformations on VOGs (see text for details).

3.4 Algorithm for the generation of VOGs

In this section, we present an algorithm to generate an octree grid representation of an object from its uniform grid samples. To start, the original uniform grid is regarded as an octree grid that is at its finest resolution everywhere. The leaf cells of this octree grid are then traversed from the bottom level to the top level. At each level, the leaf cells are evaluated one-by-one to see if they can be merged without violating the VOG constraint and some other user-specified criteria (see below). If all criteria are satisfied, then the cells are coarsened, and the process is repeated until the root of the octree is reached.

The user-specified criterion we use is specifically selected to preserve the object's shape after cell merging [13]. Let the object's shape be represented by a signed distance function (cf. [47, 50]). Now consider a potential coarsening in which certain grid points will be removed due to a cell merging. If the remaining nodes can linearly interpolate the signed distance function at the locations of the removed grid points to within an tolerance ε, then the merge is allowed, otherwise it is disallowed.

The algorithm to generate a VOG under this geometric criterion can be summarized as follows.

The VOG Algorithm

  1. Define a status array the same size as the finest resolution data on uniform grid. Set all values in the status array to be 1, meaning that all the grid points are currently on the octree grid. (When a grid point is deleted, its value in the status array is set to be 0.) If the octree has n resolution levels, set current level to be n – 1.

  2. Find all the parent cells at the current level whose child cells are all leaf cells, and let Q denotes the total number of such cells found.

  3. For i = 1, · · · , Q, check the i'th parent cell
    1. If there is no sign change inside this parent cell, go to (e)
    2. Check if the merging of this parent cell (i.e. delete the body point from the octree grid; delete other face/edge points if the neighbor cells sharing the face/edge are already leaf cells) leads to any invalid cases on transition faces/edges. If true, go to (e). Otherwise continue to (c).
    3. Check the geometrical criterion for this parent cell. If the error exceeds the pre-specified error bound, go to (e). Otherwise continue to (d).
    4. Allow merging inside this parent cell.
    5. Increase i, if i > Q, then decrease current level and go to Step 2.

Since the conditions checked inside each parent cell on the current level are not affected by any other cells of the same level on the octree grid, the output of the cell merging algorithm is unique — i.e., the order of processing cells at each level can be arbitrary. The complexity of this algorithm is O(N3), with N being the size of the data in each dimension.

There are two possible variants of the basic VOG algorithm. The first is to only consider the geometric criterion of Step 3(c) and ignore the validness criterion of Step 3(b). In this case, the output octree grid will have fewer fine resolution cells, but it will not be a VOG which means the object topology is not well defined. If we want to keep this coarser octree grid structure and still have a VOG, we would have to modify the underlying data to eliminate the features that cannot be represented by this coarser grid. Although we will be able to define the topology of the data after this modification, it may not be the same as the topology of the original data. One algorithm to fix the data without refining the octree grid works by traversing all the leaf cells, and for each leaf cell that has an invalid case, changing the sign of the data to eliminate the invalid case. The result of this algorithm may not be unique, and one may choose the order of data point visiting to ensure fewer points are modified. As the second variant, one might want to preserve the topology of the original object defined on the uniform grid during the VOG generation. Then the above algorithm can be further augmented with a topological criterion as described in [2].

4 Simple Point Characterization on VOGs

A homotopic transformation of a binary digital image is one that preserves the topology of all objects as well as their connectivity and nesting relationships. Since a homotopic transformation can be regarded as a sequence of deletion or addition of simple points [33], the characterization and detection of simple points is important in the design of homotopic algorithms such as thinning and region growing. In this section, we characterize simple points on VOGs and describe an efficient algorithm for their detection.

It was proven in [6, 7] for uniform grids that whether a point is simple or not can be determined from two topological numbers computed from two of the point's local geodesic neighborhoods. Below, we characterize simple points on VOGs in a similar fashion. We first extend the concepts of geodesic neighborhoods and topological numbers to VOGs. We then describe an efficient algorithm for computing the topological numbers. Finally, we propose and prove a proposition that characterizes simple points on VOGs using topological numbers.

4.1 Geodesic neighborhoods and topological numbers

Topological numbers were introduced in [32] as an effective way to characterize the topological type of a given point. A topological number gives the number of connected components within a certain geodesic neighborhood around a point. Based on our new adjacency rules on VOGs, we can extend the original definitions of geodesic neighborhoods and topological numbers to VOGs.

Definition 11 Let X ⊂ Ω and x ∈ Ω where Ω is the domain of a VOG. The geodesic neighborhood of order k of x with respect to X is the set Nαk(x,X) defined recursively by: Nα1(x,X)=Nα(x)X and Nαk(x,X)={Nα(y)NC(x)X,yNαk1(x,X)}.

In other words, (x)k (x, X) is the set of all the points y in NC(x)X that there exists an α-path from x to y of length less than or equal to k. A geodesic neighborhood in a uniform grid always exists within a uniform 3 × 3 × 3 neighborhood including x. In a VOG, geodesic neighborhoods can exist on multiple resolution levels, extending far beyond the capacity of a 3 × 3 × 3 neighborhood around x. Taking Fig. 9(a) as an example, where we assume E+-adjacency for the black points(X) and S-adjacency for the white points (). The geodesic neighborhoods NE3(x,X) and NS2(x,X) of the gray point x are shown in Fig. 9(b) and Fig. 9(c), respectively. Since the neighbor cells of x are at three resolution levels, there exist multiple neighbor points in the same direction that are included in a transition edge or transition face diagonal.

Figure 9.

Figure 9

Illustration of geodesic neighborhoods: assume E+-adjacency for black points (X) and S-adjacency for white points (). (a) NC(x), where x is the gray point in the center. There are neighbor cells at three resolution levels, and suppose the levels are 1(largest) to 3(smallest). (b) NE3(x,X) (c) NS2(x,X) (d) U63(x,X) (e) U182(x,X). After counting the number of connected components in (d) and (e), we get TE+ (x, X) = 2 and TS(x, X̄) = 1.

Definition 12 Let X ⊂ Ω and x ∈ Ω where Ω is the domain of a VOG. The topological numbers of the point x relative to the set X are:

TE(x,X)=#CE(NE2(x,X))TE+(x,X)=#CE(NE3(x,X))TS(x,X)=#CS(NS2(x,X))TC(x,X)=#CC(NC1(x,X))

where Cα(Y) denotes the set comprising all α-connected components of Y, and # denotes the cardinality of a set. When counting connected components inside geodesic neighborhoods, we use the edges, the squares, and the cubes that belong to all the neighbor cells as well as all the transition edges/faces.

Note that the orders of different geodesic neighborhoods must be chosen properly. The guideline for choosing the order is that: when adjacency α is assumed for set X, we should choose the order k such that: (1) there cannot exist any closed α-path in Nαk(x,X){x} that forms an α-handle. This means if an α-handle is removed by deletion or addition of x, the remaining of the handle cannot be one piece of connected component in Nαk(x,X), i.e. we must have Tα(x, X) ≥ 2. (2) if there exists a closed α-path in Nαk(x,X){x} that is not a handle, after the deletion or addition of x, the remaining of the handle should still be one connected component in Nαk(x,X). For example, let us examine why we must choose order k = 3 for adjacency E+. If we choose order k > 3, then an E-handle can exist in NEk(x,X){x} as shown in Figs. 10(a)–(b). On the other hand, if we choose k < 3, a closed path in Nαk(x,X){x} that is not a handle could generate two connected components in Nαk(x,X) when x is deleted as shown in Figs. 10(c)–(d).

Figure 10.

Figure 10

Choice of order of geodesic neighborhood for adjacency E+: (a) NC(x): a closed path that defines a handle is highlighted; (b) NE4(x,X): the circled point is a 4th order neighbor point that causes the handle to exist in NE4(x,X). (c) NC(x); (d) NE2(x,X): there are two connected components in NE2(x,X).

Although geodesic neighborhoods on VOGs are complex when they involve points at transition edges or faces, there is a certain property that makes the computation of the topological numbers easier than it appears. Before describing this property, we first introduce the concept of a neighbor group.

Definition 13 If P1, P2, · · · Pn are multiple neighbor points of x included in a transition edge (or face diagonal) inside a geodesic neighborhood Nαk(x,X), they form a neighbor group of x in Nαk(x,X).

Since a transition edge is shared by four neighbor cells, a neighbor group on a transition edge can have at most 4 points (i.e. when all four neighbor cells are at different levels). Similarly, since a transition face diagonal is shared by two neighbor cells, a neighbor group on a transition face diagonal can have at most 2 points (i.e. when the two neighbor cells are at different levels).

Property 1 Assume that the deletion of x from X (or the addition of x to X) does not cause any invalid cases. If P1, P2, · · ·, Pn form a neighbor group of x inside Nαk(x,X), then they must be α-connected on that transition edge (or face), and there exists an α-path connecting them that does not include x. Therefore, P1, P2, · · · Pn belong to the same α-connected component in Nαk(x,X).

See Appendix A for a proof. Note that the assumption made in this property is to ensure that the validness constraint is satisfied, since the property is only used for simple point characterization on VOGs.

Based on Property 1, points of a neighbor group are always connected inside the geodesic neighborhood, and therefore can be regarded as one point existing at multiple levels. This means that we can possibly represent geodesic neighborhoods on VOGs using only uniform arrays, on which connected components counting becomes much easier. To encode all the information of a geodesic neighborhood on VOGs, we use a uniform 3 × 3 × 3 array of points or neighbor groups. This array contains 8 cubes, and each cube represents a neighbor cell of the root point. We also store the level of each neighbor cell in the center of each cube in the array.

We refer to this array as a multi-level array defined as follows.

Definition 14 Let n be an adjacency rule on the uniform grid that is analogous to the α-adjacency rule on the VOG (cf. Section 3). We define a multi-level array (MLA) form of a geodesic neighborhood Nαk(x,X) on VOGs to be a 3 × 3 × 3 point array (denoted as Unk(x,X)), such that: every point p in Unk(x,X) represents either a single neighbor or a neighbor group in that particular direction in Nαk(x,X). If p represents a single neighbor qNαk(x,X), then p is tagged with the level of the leaf neighbor cell connecting x and q. If p represents a neighbor group QNαk(x,X), then p is tagged with all the different levels of the leaf neighbor cells connecting x and points in Q. Each of the 8 cubes in the array is tagged with the level of the corresponding leaf neighbor cell.

Fig. 11 illustrates how to convert part of a geodesic neighborhood NS2(x,X) (left figure) into its MLA form U182(x,X) (right figure). Assume the smaller cell is at resolution level 2, the larger cell is at resolution level 1. The neighbor group {a1,a2}NS2(x,X) are merged a^U182(x,X). Similarly, the neighbor group {d1,d2}NS2(x,X) and {e1,e2}NS2(x,X) are merged into d^U182(x,X) and e^U182(x,X), respectively. Points b, c, and f in NS2(x,X) correspond to b^, c^, and f^ with tagged level information. 5 The two cubes are also tagged with levels.

Figure 11.

Figure 11

Conversion of geodesic neighborhood into MLA form (see text for details).

It should now be apparent that there exists a one-to-one correspondence between an α-connected component in Nαk(x,X) and an n-connected component in Unk(x,X). Therefore, we can compute Tα(x, X) by counting the number of n-connected components in Unk(x,X), which is a standard computation on the uniform grid. The notions of “adjacency” and “path” in MLA forms are slightly different from those defined on uniform grids, due to the extra level information.

Definition 15 Two points p and q are n-adjacent in Unk(x,X) (denoted as p-Un-q) if they are n-adjacent in the uniform array via a cube that is tagged with a resolution level shared by both p and q.

In Fig. 11, we have a^-U18-b^ through the cube tagged with level 1, as both a^ and b^ are tagged with level 1; whereas b^ and f^ are not 18-adjacent in U182(x,X) since they do not share a common level. Note that b^ and e^ are not 18-adjacent in U182(x,X) either, although they are both tagged with level 1, as the cube they share are tagged with level 2. Paths in Unk(x,X) are defined accordingly using this modified adjacency concept. Topological numbers on a VOG can now be defined using the MLAs, as follows:

TE(x,X)=#C6(U62(x,X))TE+(x,X)=#C6(U63(x,X))TS(x,X)=#C18(U182(x,X))TC(x,X)=#C26(U261(x,X))

Figs. 9(d)–(e) demonstrate how to convert the two geodesic neighborhoods in Figs. 9(b)–(c) into MLA forms for computing the topological numbers.

The advantage of using Unk(x,X) for computing topological numbers is that resolution transition (i.e., counting along a transition edge or face) is implicitly handled by counting through a multi-level point in Unk(x,X). Furthermore, it becomes more convenient to describe homotopic deformations of a closed path inside a local neighborhood of x. Only one type of basic deformation — the elementary deformation (E-def) — is needed to describe a homotopic deformation inside an MLA. T-def's are no longer necessary since the resolution transition of a path is also implicitly handled by E-def's through multi-level points. Denote N~αk(x,X)=Nαk(x,X){x} and U~nk(x,X)=Unk(x,X){x}. The definition of an E-def inside U~nk(x,X) is similar to that on uniform grids, except the underlying concepts of “adjacency” and “path” are modified.

Definition 16 Let γX and γ′ ∈ X be two closed paths in U~nk(x,X). We say that γ′ is an elementary deformation (E-def) of γ in U~nk(x,X) (denoted asγE^γ) if γ and γ′ are of the form: γ = pP1u1 · P · u2P2p, γ′ = pP1u1 · P′ · u2P2p, where p, u1, and u2 are points, P1, P2, P, and P′ are paths in U~nk(x,X), and:

  • if n = 6, then u1 · P · u2 and u1 · P′ · u2 are included in a unit square (2 × 2 square).

  • if n = 6+, 18, or 26, then u1 · P · u2 and u1 · P′ · u2 are included in a unit cube (2 × 2 × 2 cube).

The relationship between a deformation in N~αk(x,X) and a deformation in U~nk(x,X) is clear: applying to a closed path γ a sequence of E-def's and T-def's within N~αk(x,X) is equivalent to applying to γ a sequence of E-def's within U~nk(x,X). Fig. 12 illustrates this equivalence. Let us use E-adjacency for a closed path γ. Fig. 12(a) shows N~αk(x,X), and Fig. 12(b) shows the MLA form of γ=π1a^b^xc^d^e^π2inU~nk(x,X). If we apply the following deformation in (a): γEγ1=π1axc1c2deπ2; γ1Tγ2=π1axc2deπ2; γ2Eγ=π1axeπ2, it is equivalent to apply the following deformation in (b): γE^γ1=π1a^xc^d^e^π2; γ1E^γ=π1a^xe^π2. As we shall see, this equivalence is very useful in proofs related to simple point characterization.

Figure 12.

Figure 12

Equivalence of a deformation in N~αk(x,X) and a deformation in U~nk(x,X).

4.2 Characterization of simple points on VOGs

Now we will state and prove a proposition that gives a characterization of simple points on a VOG.

Proposition 1 A point x ∈ X on a VOG is simple if and only if (1) after its removal the grid is still a VOG and (2) Tα(x, X) = 1, Tα(x,X)=1, where (α, α) is (E,C) or (C,E) or (E+,S) or (S,E+).

Before proceeding to the proof, it is necessary to establish the following lemmas.

Lemma 1 Let x ∈ X and suppose we delete x from X. Then Tα(x, X) = 0 ⇔, an α-component of X is removed. (See Appendix B for a proof.)

Lemma 2 Let x ∈ X and suppose we delete x from X. Then Tα(x, X) ≥ 2 ⇔ an α-component of X is created or an α-handle of X is removed. (See Appendix C for a proof.)

Since the handles of X correspond to the handles of , Lemma 1 and Lemma 2 lead to:

Lemma 3 Let x ∈ X and suppose we delete x from X. Then Tα(x, X) = 1 ⇔ the α-components of X are preserved, no α-handles of X are removed, and no α-handles ofX are removed.

The reverse operation of the deletion of x ∈ X from X is the addition of x to X. The removal of handles corresponds to the creation of handles in this reverse operation. Therefore we have the following lemma:

Lemma 4 Let x and suppose we add x to X. Then Tα(x, X) = 1 ⇔ the α-components of X are preserved, no α-handles of X are created, and no α-handles ofX are created.

Since that the addition of x to X is the same as the deletion of x from , and by replacing X by , by α, we have:

Lemma 5 Let x ∈ X and suppose we delete x from X. Then α-components ofX are preserved, no α-handles ofX are created, and no α-handles of X are created.

Now Proposition 1 can be readily proved as follows:

Proof: If x is removed from X, then only the following three types of topological changes can happen:

  1. an α-component of X is created or removed.

  2. an α-component ofX (i.e., α-cavity ofX) is created or removed.

  3. an α-handle of X (or an α-handle ofX) is created or removed. (Note: an α-handle ofX is dual to an α-handle of X.)

From Lemma 3, we know that if Tα(x, X) = 1, then the α-components of X are preserved, no α-handles of X are removed, and no α-handles ofX are removed. From Lemma 5, we know that if Tα(x,X)=1, then the α-components ofX are preserved, no α-handles ofX are created, and no α-handles of X are created. Therefore, if Tα(x, X) = 1 and Tα(x,X)=1, no topological change will occur if x is removed from X. We can conclude that Proposition 1 is a characterization of simple points on VOGs.

4.3 Pseudocode for simple point detection on VOGs

Based on the above proposition, a simple point detection algorithm on a VOG consists of the following steps:

  1. Ensure that the removal of a point causes no invalid cases.

  2. Construct the two geodesic neighborhoods in MLA form.

  3. Compute the two topological numbers and check if they are both 1.

Algorithm 1 provides a pseudocode that returns TRUE if the removal of x from X yields a valid new configuration. This algorithm works no matter X is foreground or background and also works for arbitrary adjacency rules. Algorithm 2 provides a pseudocode for the construction of the geodesic neighborhood U63(x,X) within a VOG, where it is assumed that the adjacency rule α = E+; geodesic neighborhoods for other adjacency rules can be constructed similarly. Algorithm 3 provides a pseudocode to count the number of n-components in Unk(x,X). The topological numbers can be computed using this algorithm, from which it is straightforward to determine whether a point in a VOG is a simple point or not.

Algorithm 1.

Check the validness constraint for the removal of a point x from X

INPUT: NC(x)
OUTPUT: true/false
for each transition edge/face inside NC(x) do
    Compute#Cα(I,X),#Cα(I,X),#Cα(I,X)and#Cα(I,X)
    if#Cα(I,X)#Cα(I,X)or#Cα(I,X)#Cα(I,X)then
        return false /* removal of x causes an invalid case */
    end if
end for
return true /* removal of x is valid */

Algorithm 2.

Construction of the geodesic neighborhood U63(x,X)

INPUT: NC(x)
OUTPUT:U63(x,X)
Initialize U to be a 3 × 3 × 3 array with all entries to be OFF
for each neighbor cell Ci of x do
    tag the corresponding cube in U with the resolution level of Ci.
    for each E-neighbor of x in Ci do
        if this neighbor belongs to X then
            set the corresponding entry in U to be ON and tag the entry with the resolution level of Ci.
        end if
    end for
    for each S-neighbor of x in Ci do
        if this neighbor belongs to X and at least one of the adjacent E-neighbors also belong to X then
            set the corresponding entry in U to be ON and tag the entry with the resolution level of Ci.
        end if
    end for
    for each C-neighbor of x in Ci do
        if this neighbor belongs to X and at least one of the adjacent S-neighbors also belong to X then
            set the corresponding entry in U to be ON and tag the entry with the resolution level of Ci.
        end if
    end for
end for

Algorithm 3.

Counting n-components in Unk(x,X)

Procedure CountCCn(U)
    INPUT:Unk(x,X)
    OUTPUT: Tα(x,X)
    initialize queue Q
    set counter t = 0
    for each n-adjacent direction do
        find the n-neighbor p of x in that direction
        if U(p) = ON then
            if p, x and a cube they share are all tagged with a same resolution level then
                t++
                set U(p) = OFF
                push point p into Q
            end if
        end if
        while Q is not empty do
            pop point q from Q
            DepthFirstTraversal(U, q)
        end while
    end for
    return t;
Procedure DepthFirstTraversal(U, q)
    INPUT:Unk(x,X),pointq
    for each n-adjacent direction do
        find q's n-neighbor r in that direction
        if U(r) = ON then
            if r, q and a cube they share are all tagged with a same resolution level then
                set U(r) = OFF
                push point r into Q
            end if
        end if
    end for

5 Example: Computing Skeletons on VOGs

In this section, we present an example, skeleton computation, which is a potentially useful application of the digital topology theory on VOGs. Skeletons are widely used as efficient shape descriptors in object representation. They capture the topology and shape information of an object in a simple form and can be very useful in shape modeling, shape analysis, and etc. As volumetric data increases in size with modern technology, more efficient schemes such as adaptive grid techniques are adopted to keep the computation cost manageable. In the following, we present a method to compute skeletons on VOGs.

The first step is to generate a VOG representation of a volumetric model defined on uniform grid. The grid refinement criterion should be designed according to the purpose of the skeletonization algorithm. The design of an optimal grid adaptation criterion for skeleton computation is beyond the scope of this paper. In general, however, since the goal is to compute the skeleton of an object, the VOG should have fine resolution cells in the skeleton regions (i.e. the center of the object) and coarse cells elsewhere. In this example, we estimate the skeleton location of a binary object by first computing a distance map D to the object boundary, and then detect the regions where |D| << 1. Points in these regions are roughly at the center of the object. The VOG generation is then guided by this skeleton measure, i.e., the VOG should have higher resolution where |D| is small and lower resolution where |D| is close to 1.

We use a toy phantom to demonstrate how VOGs are generated for skeleton computation. Fig. 13(a) shows the triangulated boundary surface of a volumetric chair phantom defined on a uniform grid. Fig. 13(b) shows a cross section view of the computed skeleton measure. Fig. 13(c) shows a cross section view of the generated VOG overlaid on the skeleton measure. Dark regions denote the skeleton regions where |D| is small, and therefore has finer resolution cells. Fig. 13(d) shows the triangulated boundary surface of the phantom defined on the generated VOG. The VOG has only 13520 grid points (with 9284 points inside the object), whereas the original uniform grid has 128 × 128 × 128 grid points (with 64116 points inside the object). Clearly, skeleton computation that involves a thinning process can be more efficiently carried out on VOGs thanks to the simplified object representation.

Figure 13.

Figure 13

Skeleton computation of a chair phantom: (a) boundary surface of a chair phantom defined on a uniform grid; (b) a cross section view of the skeleton measure; (c) a cross section view of the resulting VOG overlaid on the skeleton measure; (d) boundary surface of the chair phantom defined on the VOG; (e) boundary surface of the skeleton computed on the uniform grid; (f) boundary surface of the skeleton computed on the VOG.

To compute skeleton on a VOG, we start from sorting all the object points based on two criteria: (1) points are first sorted by the distance to the object boundary; (2) points that are equidistant to the boundary are further sorted by the number of E-connected neighbors (neighbor groups) of them. The second criterion is adapted from the method proposed by Ju et al. [18] on uniform grids. It helps to generate more regular-shaped skeleton. After sorting, we apply a topology-preserving thinning to the object on the VOG. The simple point characterization that we have derived in Section 4 must be integrated into the thinning process to guarantee that only simple points are removed so that the skeleton has the correct topology. During thinning, we also preserve surface-end and curve-end points using criteria adapted from [18]. Figs.13(e) and (f) show the triangulated boundary surfaces of the computed skeletons on the uniform grid and the VOG, respectively. Note that in Fig. 13(f), there are larger triangles at both ends of the “neck” connecting the bottom cushion and the back cushion. This is because the skeleton measure is less prominent in those regions (see Fig. 13(b)) and therefore the grid resolution there is relatively lower. The Euler number is verified to be equal to 2 for each of the boundary surface models in Figs. 13(a), and (d)–(f). We conclude that for both skeleton results on the uniform grid and the VOG, topology has been correctly preserved during thinning.

6 Conclusion

A new digital topology framework for adaptive octree grids was presented. Due to potential topological ambiguities between an object defined on an octree grid and the same object defined on the finest grain grid, we defined the concept of a valid octree grid (VOG), which contains no scale-related topological ambiguities. Fundamental concepts such as neighborhoods, adjacency, connected components, and handles are all extended to VOGs. We also developed a characterization of simple points on VOGs and provided pseudocodes for the basic steps required to detect simple points on VOGs. This new framework should be useful in the design of topology preserving algorithms on adaptive octree grids that are relevant in applications such as computer vision, computer graphics, and image processing and analysis. Future work include formulating an extension to general octree grids that do not require a validness constraint and exploring connections to algebraic topology [16].

Acknowledgements

This research was supported in part by NIH/NINDS grant R01NS037747.

This work was supported in part by NIH/NINDS Grant R01NS37747.

APPENDICES

A. Proof of Property 1

Proof:

Fig. 14, which shows the upper four neighbor cells of x, helps to illustrate the proof. There are two cases, (a) and (b), to consider.

  1. We first prove the case when the neighbor points of x in Nαk(x,X) are included in a transition edge — e.g., points a, b, and d in Fig.14. Consider a coarse leaf cell edge (e.g., the edge xd in Fig.14). It is obvious that at most one α-component of X can exist on a coarse edge. In addition, since the topology of X defined by the finer edges must be equivalent to that by the coarser edge on any transition edge of a VOG, there can exist at most one α-component on the finer edges (e.g. the edges xa, ab and bd in Fig.14). Therefore these multiple neighbor points must all belong to the same α-component (denoted as I). This must be true before and after the deletion of x from X (or the addition of x to X), since it is assumed that the octree grid remains a VOG before and after the change at x. Hence there exists an α-path not including x connecting these neighbor points on that transition edge. Note that if one of the fine edges (e.g. the edge bd in Fig.14) is also a transition edge containing still finer edges (e.g. the edges bc and cd in Fig.14), then we must have all the points in that transition edge belong to I (i.e. we must have c ∈ I in Fig.14) by the validness constraint of VOGs, and the above argument is still true.

  2. Now we prove the case when the neighbor points of x in Nαk(x,X) are included in a transition face diagonal — e.g., points g and i in Fig. 14. We note that there can be only two neighbor points in such a neighbor group, since x can have at most two neighbors in a diagonal direction. Consider a coarse leaf cell face (e.g. the face xdgh in Fig. 14). If α = C or α = S, then it is obvious that there can exist at most one α-component on that face; in this case, the proof is analogous to that of case (a). If α = E or α = E+ for X, then it is obvious that there can exist at most two α-components on the coarser face. If there is only one α-component, then the argument of case (a) holds. If there are two α-components (I1 and I2) in X, then we must have two points on the coarse face diagonal with each belonging to one of the two components (e.g. in Fig. 14, if g belongs to I1, then x must belong to I2, and h and d must belong to ). By the validness constraint, I1 and I2 must be the only two α-components on the finer faces on the transition face. It follows that the neighbor of x on the finer face diagonal (e.g. the point i in Fig. 14) must be α-connected to either x or the neighbor of x on the coarser face diagonal (e.g. the point g in Fig.14) on the transition face. If it is the first case, then the deletion of x will cause an invalid case, which is not allowed on a VOG. Therefore, the neighbor of x on the finer face diagonal must be connected to the neighbor of x on the coarser face diagonal — i.e., there exists an α-path in the transition face connecting the neighbor group on the transition face diagonal.

Figure 14.

Figure 14

Illustration for Appendix A (see text for details)

From cases (a) and (b) we conclude that the multiple neighbor points included in a transition edge/face diagonal inside a geodesic neighborhood are always α-connected on that transition edge/face, which proves the property.

B. Proof of Lemma 1

Suppose x is deleted from X. If Tα(x, X) = 0, then x has no α-neighbor in X, which means x is an isolated point that forms an α-component by itself. Therefore deleting x from X removes an α-component of X. On the other hand, if the deletion of x removes an α-component of X, then x must have no α-neighbors in X, which means Tα(x, X) = 0. Fig. 15 shows some examples of an α-isolated point. In these examples, Tα(x, X) = 0, and the point x forms a connected component by itself. Deleting x from X removes an α-component from X.

Figure 15.

Figure 15

Illustration for Appendix B. In each figure, the gray point is the root point x. All the white points belong to X. All the other points not denoted in the neighborhood can either belong to X or . (a) (α,α)=(E,C) or (E+, S), then x is an E-isolated point. (b) (α,α)=(S,E+), then x is an S-isolated point. (c) (α,α)=(C,E), then x is a C-isolated point.

C. Proof of Lemma 2

C1. Necessary condition: Suppose x is deleted from X. If an α-component of X is created or an α-handle of X is removed, then Tα(x, X) ≥ 2.

Proof:

  1. If a new α-component of X is created when x is deleted from X, it must be the case that an original α-component is separated into two components (I1 and I2) by the deletion of x. It follows that x is locally α-adjacent to I1 and I2, and I1 and I2 are not connected in X \ x. Thus we must have Tα(x, X) ≥ 2.

  2. If a handle is removed, then before the deletion of x, there must exist a closed simple α-path γ that contains x and has the form of π1x1xx2π2 where π1 and π2 are paths and x1 and x2 are distinct points in NC(x, X). We denote the corresponding points of x1 and x2 in Unk(x,X) by x^1 and x^2, respectively.

We now proceed to prove C1 by contradiction. Assume that Tα(x, X) ≤ 1. If Tα(x, X) = 0, then it reduces to the case in Lemma 1. Therefore, x must have at least one α-adjacent neighbor in X and we must have Tα(x, X) = 1 — i.e., there exists an n-path π^=x^1y^1y^lx^2inUnk(x,X) connecting x^1 and x^2. Here y^1 is an n-neighbor of x^1 in Unk(x,X), y^l is an n-neighbor of x^2 in Unk(x,X), and y^i is an n-neighbor of y^i1 in Unk(x,X),fori=2l. We will show later that we can perform the following sequence of E-def's to γ in U~nk(x,X):γE^E^γ=π1x^1y^1y^2y^lxx^2π2E^γ=π1x^1y^1y^2y^lx^2π2=π1π^π2. This means that we can homopotically insert the path π^ into γ, and can conclude that the deletion of x from X cannot remove the handle γ (since x^1 and x^2 are still connected inside Unk(x,X) through π^ after the deletion of x). This contradicts our assumption, and therefore we must have Tα(x, X) ≥ 2.

Now what remains to be proven is that we can deform γ to γ′ using a sequence of E-def's in Unk(x,X) under different choices of adjacency relations. We consider each case separately in the following:

  1. If α = C, then π^=x^1y^1y^lx^2 is a 26-path in U261(x,X). Since y^1-U26-x^1 and x^1-U26-x, we must have x, x,x^1, and y^1 belong to a unit cube in U261(x,X). Since x always shares a common level with any point in U261(x,X), we also have y^1-U26-x. Therefore we can deform γE^γ1=π1x^1y^1xx^2π2. This operation can be iterated until γl1E^γl=π1x^1y^1y^2y^lxx^2π2.

  2. If α = S, then π^=x^1y^1y^lx^2 is an 18-path in U182(x,X). Since y^1-U18-x^1 and x^1-U18-x, we must have x,x^1,y^1 belonging to a unit cube in U182(x,X). Now we iterate the following operation relative to x in U182(x,X):
    • if y^1-U18-x (see Fig. 16(a) for an example), we can deform γE^γ1=π1x^1y^1xx^2π2.
    • otherwise y^1 is a 26-neighbor of x, then it must be true that y^2-U18-x (see Fig. 16(b) for an example) and x,x^1,y^1,y^2 must belong to a unit cube in U182(x,X). Hence, we can deform γE^γ1=π1x^1y^1y^2xx^2π2.
    By iterating the above operation, we can deform γ to γ′ through a sequence of E-def's.
  3. If α = E+, then π^=x^1y^1y^lx^2 is a 6-path in U63(x,X). It is necessary that x^1 is a 6-neighbor of x, the point y^1 is necessarily an 18-neighbor, and y^2 is either a 6-neighbor (see Fig. 16(c) for an example) or a 26-neighbor (see Fig. 16(d) for an example). We can then iterate the following operation relative to x in U63(x,X):
    • if y^2 is a 6-neighbor of x, we can deform γE^γ1=π1x^1y^1y^2xx^2π2.
    • otherwise, y^2 is a 26-neighbor of x. Since π^ is simple, y^3 is necessarily a 6-neighbor of y^2 which is a 26-neighbor of x^1 (see Fig. 16(d) for an example). It is necessary that we have one of the two common 6-neighbors of x and y^3 (e.g., a and b in Fig. 16(d)) belonging to X, and it must also share a common level with y^3. Otherwise the shortest path included in X from y^3 to x would be of length 4 and y^3 could not belong to U63(x,X). Let us denote u^ to be such a common neighbor belonging to X. Thus we can deform γE^γ1=π1x^1y^1y^2y^3u^xx^2π2.
    By iterating the above operation, we can deform γ to γ′ through a sequence of E-def's.
  4. If α = E, then π^=x^1y^1y^lx^2 is a 6-path in U62(x,X). Since x^1 is a 6-neighbor of x, it is necessary that x,x^1,y^1, and y^2 are included in a unit square in U62(x,X). Thus we can deform γE^γ1=π1x^1y^1y^2xx^2π2. By iterating the above operation, we can deform γ to γ′ through a sequence of E-def's.

Figure 16.

Figure 16

Illustration for Appendix C1 (see text for details).

C2. Sufficient condition: suppose x is deleted from X. If Tα(x, X) ≥ 2, then an α-component of X is created or an α-handle of X is removed.

Proof:

If Tα(x, X) ≥ 2, then there exist at least two disconnected α-components I and I2 in Nαk(x,X).

  1. If I1 and I2 are not connected in X \ {x}, then the deletion of x will separate I1 and I2 and a new α-component will be created.

  2. If I1 and I2 are connected by an α-path in X \ {x}, then there exists in X a closed simple α-path γ0 = π1c1xc2π2 connecting I1 and I2, where c1 is a point in I1 and c2 is a point in I2. Using the MLA form of the geodesic neighborhood, we have γ0=π1c^1xc^2π2 connecting two n-components I^1 and I^2 in Unk(x,X). Let γ be any closed path that is a homotopic deformation of γ0. We denote #(γ,I^1) as the number of occurrences of the form xc^1 or c^1x appearing in γ. If it can be proven that #(γ,I^1) is necessarily an odd number, then it follows that the closed path γ0 must define a handle, since otherwise it could be deformed to a closed path γ which is a single point and we would have #(γ,I^1)=0. Furthermore, the handle defined by γ0 is removed by the deletion of x, since otherwise γ0 could be deformed to a closed path γ that does not contain x and again we would have #(γ,I^1)=0. We see that the above two conclusions are exactly what we intend to prove (i.e., the deletion of x removes an α-handle in X).

We prove the result that #(γ,I^1) is always an odd number by induction. Suppose γl is obtained from γ0 by L consecutive E-def's or T-def's, where L is any integer. We prove that #(γl,I^1) is an odd number for 0 ≤ lL.

When l = 0, we have #(γ0,I^1)=1 since γ0 is a simple path. Assume the property is true until l – 1, i.e., #(γl1,I^1) is an odd number. Now consider #(γl,I^1). If the basic deformation from γl–1 to γl does not involve x, then #(γl,I^1)=#(γl1,I^1) remains odd. Let us consider a basic deformation (an E-def or a T-def) that involves x. It is obvious that such a deformation can only occur inside NC(x)X=NC1(x,X), or in the MLA form U261(x,X). Consider the E-def γl1E^γl in U261(x,X) involving x:

γl=pP1u^1P^u^2P2p,γl1=pP1u^1P^u^2P2p

when n=6+,18,26,u^1P^u^2 and u^1P^u^2 are included in a unit cube in U261(x,X); when n=6,u^1P^u^2 and u^1P^u^2 are included in a unit square in U261(x,X). Since x is involved in this E-def, we must have xu^1P^u^2 or xu^1P^u^2, thus we can decompose u^1P^u^2 and u^1P^u^2 into a sequence of loops containing x.

u^1P^u^2=u^1x^1Q^1x^1xx^2Q^2x^2xxx^iQ^ix^ixx^i+1Q^i+1x^i+1u^2

with xx^1Q^1x^1,,x^i+1Q^i+1x^i+1, and

u^1P^u^2=u^1y^1R^1y^1xy^2R^2y^2xxy^jR^jy^jxy^j+1R^j+1y^j+1u^2

with xy^1R^1y^1,,y^j+1R^j+1y^j+1.Ifi=0(orj=0), it means that P^(orQ^) does not contain x.

In the following, we will show that #(γl,C^1) can be obtained from #(γl1,C^1) by adding and subtracting even numbers.

  1. If i > 0 and j > 0,
    1. We know that x^2Q^2x^2 does not include x and is included in a unit cube (if n = 6+, 18, 26) or a unit square (if n = 6) in U261(x,X). We also know that x^2-Un-x and x^2-Un-x. From the definition of geodesic neighborhood, we must have Q^2Unk(x,X), and thus x^2Q^2x^2Unk(x,X). It then follows that x^2 and x^2 belong to the same component in Unk(x,X). Hence, the contribution of xx^2 and x^2x in #(γl,I^1) is either 0 (if the component is not I^1) or 2 (otherwise). An example is shown by Fig. 17 in which n = 6+, and we have Q^2=abc. By extension, it can be seen that the contribution of xx^2 and x^2x,,xx^i and x^ixin#(γl,I^1) is an even number and, in a similar way, the contribution of xy^2 and y^2x,,xy^i and y^ixin#(γl1,I^1) is an even number.
    2. If u^1x, then the path x^1Q^11x^1u^1y^1R^1y^1 does not include x and is included in a unit cube (if n = 6+, 18, 26) or a unit square (if n = 6) in U261(x,X). (Note that Q^11 denotes the inverse path of Q^1, i.e. if Q^1=q1q2qn, then Q^11=qnqn1q1.) We also know that x^1-Un-x and y^1-Un-x. From the definition of geodesic neighborhood, we must have x^1Q^11x^1u^1y^1R^1y^1Unk(x,X). Then it follows that x^1 and y^1 belong to the same component in Unk(x,X). Hence the contribution of x^1x in #(γl,I^1) is the same as the contribution of y^1xin#(γl1,I^1). Fig. 17 shows an example, where y^1=y^1,R^1=,Q^1=d.
    3. If u^1=x, the discussion for x^1Q^1x^1 is similar to case (1). We must have x^1 and x^1 belong to the same component in Unk(x,X). This is also true for y^1 and y^1.
    4. The discussion for the contribution of xx^i+1 and xy^j+1 is similar to case (2) and (3).From (1)-(4) we conclude that #(γl,I^1) can be obtained from #(γl1,I^1) by adding and subtracting even numbers, hence #(γ,I^1) is an odd number.
  2. If i = 0 or j = 0, the discussion is also similar to the above cases. For example, if i = 0, j > 0, and u^1x, it can be shown that y^1 and y^j+1 belong to the same component in Unk(x,X), and therefore #(γl,I^1)=#(γl1,I^1) is odd.

Figure 17.

Figure 17

Illustration for Appendix C2 (see text for details).

Footnotes

1

The notion of connectivity is sometimes used instead of adjacency in other literature. We use adjacency because it is a stronger concept, i.e. two points that are adjacent are always connected, but two points that are connected may not be adjacent.

2

Here, both 6 and 6+ indicate conventional 6-adjacency. The use of the + superscript simply provides a convenient way to indicate that the set's complement is 18-connected. If there is no + superscript then the set's complement is 26-connected.

3

There can be four successors (or predecessors) when α = E, and the root point has four E-neighbors in one direction, i.e., the four neighbor leaf cells that contain the four E-neighbors are at four different resolution levels.

4

Here the + superscript is used to indicate that the set's complement is S-connected. If there is no + superscript then the set's complement is C-connected.

5

In all later notations, point i^ in the MLA form corresponds to point(s) i('s) in the original octree form.

References

  • 1.Ayala R, Dominguez E, Frances A, Quintero A. Homotopy in digital spaces. Discrete Applied Mathematics. 2003;125:3–24. [Google Scholar]
  • 2.Bai Y, Han X, Prince JL. IEEE Workshop on Mathematical Methods in Biomedical Image Analysis. New York: Jun, 2006. Octree-based topology-preserving isosurface simplification. [Google Scholar]
  • 3.Bai Y, Han X, Prince JL. Information Processing in Medical Imaging. 2007. Octree grid topology preserving geometric deformable models for 3D medical image segmentation. [DOI] [PubMed] [Google Scholar]
  • 4.Bazin P, Pham DL. Topology-preserving tissue classification of magnetic resonance brain images. IEEE Transactions on Medical Imaging. 2007;26(4):487–496. doi: 10.1109/TMI.2007.893283. [DOI] [PubMed] [Google Scholar]
  • 5.Bazin P, Ellingsen L, Pham DL. Information Processing in Medical Imaging. 2007. Digital homeomorphisms in deformable registration. pp. 211–222. [DOI] [PubMed] [Google Scholar]
  • 6.Bertrand G. A new characterization of three-dimensional simple points. Pattern Recognition Letters. 1994;15:169–175. [Google Scholar]
  • 7.Bertrand G. Simple points, topological numbers and geodesic neighborhoods in cubic grids. Pattern Recognition Letters. 1994;15:1003–1011. [Google Scholar]
  • 8.Bertrand G, Couprie M. A model for digital topology. Discrete Geometry for Computer Imagery. 1999;1568:227–239. [Google Scholar]
  • 9.Brimkov V, Klette R. Border and surface tracing - theoretical foundations. IEEE Transactions on Pattern Analysis And Machine Intelligence. doi: 10.1109/TPAMI.2007.70725. to appear. [DOI] [PubMed] [Google Scholar]
  • 10.de Andrade MC, Bertrand G, de Albuquerde Araujo A. Proceedings of SPIE:Nonlinear Image Processing VIII. 1997. Segmentation of microscopic images by flooding simulation: a catchment-basins merging algorithm. [Google Scholar]
  • 11.Droske M, Meyer B, Schaller C, Rumpf M. An adaptive level set method for medical image segmentation. In: Insana MF, Leahy RM, editors. Information Processing in Medical Imaging. Springer Verlag; 2001. pp. 416–422. LNCS 2082. [Google Scholar]
  • 12.Fourey S, Malgouyres R. A concise characterization of 3D simple points. Discrete Applied Mathematics. 2005;125:59 C 80. [Google Scholar]
  • 13.Frisken SF, Perry RN, Rockwood AP, Jones TR. SIGGRAH. 2000. Adaptively sampled distance fields: A general representation of shape for computer graphics. pp. 249–254. [Google Scholar]
  • 14.Han X, Xu C, Braga-Neto U, Prince JL. Topology correction in brain cortex segmentation using a multiscale graph-based approach. IEEE Transactions on Medical Imaging. 2002;21:109–121. doi: 10.1109/42.993130. [DOI] [PubMed] [Google Scholar]
  • 15.Han X, Xu C, Prince JL. A topology preserving level set method for geometric deformable models. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2003;25:755–768. [Google Scholar]
  • 16.Hatcher A. Algebraic Topology. Cambridge University Press; Cambridge, UK: 2002. [Google Scholar]
  • 17.Herman GT, editor. Geometry of digital spaces. Birkhauser; 1998. [Google Scholar]
  • 18.Ju T, Baker ML, Chiu W. Computing a family of skeletons of volumetric models for shape description. Computer Aided Design. 2007 May;39(5):352–360. doi: 10.1016/j.cad.2007.02.006. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 19.Kenmochi Y, Kotani K, Imiya A. International Conference on Image Processing. 1999. Marching cubes method with connectivity. [Google Scholar]
  • 20.Khalimsky E, Kopperman R, Meyer PR. Computer graphics and connected topologies on finite ordered sets. Topolog and its applications. 1990;36:1–17. [Google Scholar]
  • 21.Kong TY. A digital fundamental group. Computer Graphics. 1989;13:159–166. [Google Scholar]
  • 22.Kong TY. On topology preservation in 2-D and 3-D thinning. International Journal of Pattern Recognition and Artificial Intelligence. 1995;9:813–844. [Google Scholar]
  • 23.Kong TY. Foundation of Image Understanding. Kluwer; 2001. pp. 73–93. chapter Digital topology. [Google Scholar]
  • 24.Kong TY. Topological adjacency relations on zn. Theoretical Computer Science. 2002;283:3–28. [Google Scholar]
  • 25.Kong TY, Rosenfeld A. Digital topology: Introduction and survey. CVGIP: Image Understanding. 1989;48:357–393. [Google Scholar]
  • 26.Kong TY, Rosenfeld A. If we use 4- or 8-connectedness for both the objects and the background, the euler characteristics is not locally computable. Pattern Recognition Letters. 1990;11:231–232. [Google Scholar]
  • 27.Kong TY, Udupa JK. A justification of a fast surface tracking algorithm. CVGIP: Graphical Model and Image Processing. 1992;54:162–170. [Google Scholar]
  • 28.Kovalevsky V. Axiomatic digital topology. Journal of Mathematical Imaging and Vision. 2006;26:41–58. [Google Scholar]
  • 29.Lachaud J. Topologically defined iso-surfaces. Lecture Notes in Computer Science. 1996;1176:245–256. [Google Scholar]
  • 30.Lachaud J-O, Montanvert A. Continuous analogs of digital boundaries: A topological approach to isosurfaces. Graphical Models. 2000;62:129–164. [Google Scholar]
  • 31.Ma CM, Sonka M. A fully parallel 3D thinning algorithm and its applications. Computer Vision And Image Understanding. 1996;64:420C433. [Google Scholar]
  • 32.Malandain G, Bertrand G, Ayache N. Topological segmentation of discrete surfaces. International Journal of Computer Vision. 1993;10(2):183–197. [Google Scholar]
  • 33.Mangin J, Frouin V, Bloch I, Regis J, Lopez-Krahe J. From 3D magnetic resonance images to structural representations of the cortex topography using topology preserving deformations. Journal of Mathematical Imaging and Vision. 1995;5:297–318. [Google Scholar]
  • 34.Milne RB. PhD thesis. Dept. Math., UC Berkely; 1995. Adaptive Level Sets Methods Interfaces. [Google Scholar]
  • 35.Morgenthaler DG. Technical report. Computer Vision Lab., Univ. of Maryland; 1981. Three-dimensional simple points: Serial erosion, parallel thinning and skeletanization. [Google Scholar]
  • 36.Natarajan B. On generating topologically consistent isosurfaces from uniform samples. Visual Computer. 1994;11(1):52–62. [Google Scholar]
  • 37.Nielson GM, Hamann B. IEEE Visualization. Los Alamitos; Calif.: 1991. The asymptotic decider: Resolving the ambiguity in marching cubes. pp. 83–91. [Google Scholar]
  • 38.Niethammer M, Kalies WD, Mischaikow K, Tannenbaum A. On the detection of simple points in higher dimensions using cubical homology. IEEE Transactions on Image Processing. 2006;15:2462–2469. doi: 10.1109/tip.2006.877309. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 39.Pudney C. Distance-ordered homotopic thinning: A skeletonization algorithm for 3d digital images. Computer Vision and Image Understanding. 1998;72:404–413. [Google Scholar]
  • 40.Rosenfeld A. Connectivity in digital pictures. Journal of the Association for Computing Machinery. 1970;17:146–160. [Google Scholar]
  • 41.Rosenfeld A. Arcs and curves in digital pictures. Journal of the Association for Computing Machinery. 1973;20:81–87. [Google Scholar]
  • 42.Rosenfeld A, Kak AC. Digital Picture Processing. Academic Press, Inc.; 1982. [Google Scholar]
  • 43.Saha P, Chaudhuri B, Majumder D. A new shape preserving parallel thinning algorithm for 3D digital images. Pattern Recognition. 1997;30:1939C1955. [Google Scholar]
  • 44.Saha PK, Chaudhuri BB. Detection of 3D simple points for topology preserving transformation with application to thinning. IEEE Transactions on Pattern Analysis and Machine Intelligence. 1994;16:1028–1032. [Google Scholar]
  • 45.Saha PK, Chaudhuri BB. 3D digital topology under binary transformation with applications. Computer Vision And Image Understanding. 1996;63:418–429. [Google Scholar]
  • 46.Segonne F, Pons J-P, Grimson E, Fischl B. Computer Vision for Biomedical Image Applications. 2005. Active contours under topology control genus preserving level sets. pp. 135–145. [Google Scholar]
  • 47.Sethian JA. A fast marching level set method for monotonically advancing fronts. Proc. Nat. Acad. Sci. 1996;93:1591–1595. doi: 10.1073/pnas.93.4.1591. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 48.Stelldinger P, Latecki L, Siqueira M. Topological equivalence between a 3D object and the reconstruction of its digital image. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2007;29(1):126–140. doi: 10.1109/tpami.2007.250604. [DOI] [PubMed] [Google Scholar]
  • 49.Teo P, Sapiro G, Wandell B. Creating connected representations of cortical gray matter forfunctional MRI visualization. IEEE Transactions on Medical Imaging. 1997;16:852–863. doi: 10.1109/42.650881. [DOI] [PubMed] [Google Scholar]
  • 50.Tsitsiklis JN. Efficient algorithm for globally optimal trajectories. IEEE Trans. Automat. Contr. 1995;40(9):1528–1538. [Google Scholar]
  • 51.Udupa JK. Multidimensional digital boundaries. CVGIP:Graphical Models and Image Processing. 1994;56:311–323. [Google Scholar]
  • 52.Xie W, Thompson RP, Perucchio R. A topology-preserving parallel 3d thinning algorithm for extracting the curve skeleton. Pattern Recognition. 2003;36:1529–1544. [Google Scholar]

RESOURCES