Topologically De ned Isosurfaces - École normale supérieure de Lyon

Laboratoire de l’Informatique du Parallélisme
Ecole Normale Supérieure de Lyon
Unité de recherche associée au CNRS n°1398
Topologically Dened Isosurfaces
Jacques-Olivier Lachaud
July 96
Research Report No 96-20
Ecole Normale Supérieure de Lyon
46 Allée d’Italie, 69364 Lyon Cedex 07, France
Téléphone : (+33) 72.72.80.00 Télécopieur : (+33) 72.72.80.80
Adresse électronique : [email protected]−lyon.fr
Topologically Dened Isosurfaces
Jacques-Olivier Lachaud
July 96
Abstract
In this research report, we present a new process for dening and building the set of
congurations of Marching-Cubes algorithms. Our aim is to extract a topologically correct isosurface from a volumetric image. Our approach exploits the underlying discrete
topology of voxels and especially their connectedness. Our main contribution is to provide a formal proof of the validity of the generated isosurface according to the chosen
connectedness. The generated isosurface is a closed, oriented surface without singularity with no self-intersection. Furthermore, we demonstrate that it does not intersect
the adjacency map (a volumetric embedding of the adjacency graph) of the foreground
and of the background, thus separating the foreground from the background. Finally
we show that the graph dening the isosurface is closely linked to the surfel-adjacency
graph of the digital surface of the same image.
Keywords: isosurface extraction, Marching-Cubes, surface topology, digital geometry
Resume
Dans ce rapport de recherche, nous presentons une nouvelle methode pour denir et
construire l'ensemble des congurations d'algorithmes de type Marching-Cubes. Son
objectif est d'extraire une isosurface topologiquement correcte d'une image volumique.
Notre approche exploite la topologie discrete sous-jacente des voxels et, plus particulierement, la connexite. Notre principale contribution reside dans l'apport d'une
preuve formelle de la validite de la surface extraite, qui depend des connexites choisies.
L'isosurface obtenue est une surface orientee et fermee, sans singularite ni auto-intersection. De plus, nous demontrons qu'elle n'intersecte pas la carte d'adjacence (une extension volumique du graphe d'adjacence) du fond et des objets. Enn, nous montrons
que le graphe denissant l'isosurface est etroitement lie au graphe de surfel-adjacence
de la surface discrete de la m^eme image.
Mots-cles: extraction d'isosurfaces, Marching-Cubes, topologie des surfaces, geometrie discrete
Topologically Dened Isosurfaces
Jacques-Olivier Lachaud
LIP, ENS-Lyon, URA CNRS 1398
46, allee d'Italie, 69364 LYON Cedex 7
tel: 72.72.85.03 fax: 72.72.80.80
e-mail: [email protected]
1 Introduction
Volumetric imagery has become common with new three-dimensional acquisition devices, especially
in the biomedical area (X-ray tomography, MRI, confocal microscopy). Lots of methods have been
developed in order to visualize three-dimensional data, such as volumetric rendering, segmentation,
deformable models, isosurface extraction. The last approach turns out to be particularly fruitful,
especially with the development of the Marching-Cubes algorithm, presented in [12], which provides
a fast solution to extract an isosurface from an image with a given threshold.
This algorithm has been intensively used for rendering purposes but has shown limits in other
applications, because the extracted isosurface is generally not a \simple" surface. Many authors
have contributed to solve this problem (see Section 2.1) but they have often provided an empirical
solution or a visual justication. Some authors [22] have noticed that the isosurface cannot always
have the same topology that an underlying continuous surface dening the image.
In this work, we propose a topological approach to this problem, based on digital geometry
considerations (especially adjacency and connectedness), which allows us to demonstrate formally
the coherence of the isosurface (closeness, orientability, no singularity, no self-intersection) along
with fundamental properties: the extracted isosurface is the opposite (in terms of orientation) of
the isosurface extracted for the opposite image with connectedness considerations, the foreground
with a given connectedness is inside the surface and the background (with another connectedness)
is outside the surface.
The outline of the paper is as follows:
Section 2 presents the problem and recalls major denitions and theorems in digital geometry,
convexity, graph theory and combinatorial manifold. We show that this problem is closely
linked to connectedness considerations over the picture.
Section 3 describes the building of the combinatorial manifold supporting the isosurface.
This section also proves that the generated isosurface is a closed and oriented surface without
singularity and self-intersection.
Section 4 exposes the subdivision process of the generated manifold: a triangulated manifold
is obtained; the isosurface of the image is dened as the embedding in space of this manifold.
Convexity properties are intensively used to extract this \correct" subdivision. Thanks to this
denition, we prove that the isosurface separates the background voxels from the foreground
voxels and that the isosurface does not intersect any connections between voxels.
1
Section 5 validates our method with examples on synthetic images and on medical images. In
Section 5.5 we prove that the underlying graph of the generated surface is exactly the adjacency
graph of the corresponding digital surface considered with the same connectednesses. This property
points out the close link between an isosurface and its underlying digital surface dened by the
threshold. It turns out that this specic isosurface can be extracted using an algorithm of digital
surface tracking, thus reducing the theoretical computation time for a number of applications.
2 Isosurfaces and Digital Geometry
The Marching-Cubes algorithm is based on the tabulation of 256 dierent congurations. It allows
a local isosurface extraction inside a cube dened by eight voxels. The global isosurface is the
union of these small pieces of surface computed on each set of eight connected voxels of the image.
For a precise survey, see [12]. We emphasize here that we only modify the table of congurations;
that is the reason why the Marching-Cubes algorithm itself remains unchanged. Furthermore, we
provide four dierent tables of congurations, because several connectednesses may be chosen for
the foreground and for the background.
2.1 Topologically Correct Isosurfaces
Our purpose is to build a surface locally by starting from an image of voxels. Each voxel is either
a voxel of the foreground or a voxel of the background. The corresponding surface must separate
the foreground from the background. The Marching-Cubes is often used to solve this problem,
because it rst thresholds the grey image to distinguish voxels of the foreground and voxels of the
background, then it builds for each set of eight neighbouring voxels (these voxels form a cube) a piece
of surface using a set of fteen dierent congurations. Note that the other congurations (there
are 256 ? 15 = 241 other congurations) are obtained via symmetries, inversions, and rotations.
The union of all pieces of surface forms the so-called isosurface of the grey image for the given
threshold. The main problem is that the coherence of this surface is not guaranteed as was stressed
by, for instance, [24] and [4]. The surface has indeed some holes in it, especially when the case
of Figure 1 appears, because an arbitrary choice for connecting the vertices does not ensure that
pieces of surface are face-to-face. Many researches have been done to correct the topology of the
surface (see [22] for a precise survey) such as:
arbitrary connection along one diagonal [16] in the case of Figure 1,
use of facial average value [24] or of bilinear and trilinear interpolation [16] for connectivity
decisions,
lling holes [18],
re-sampling in case of ambiguity [15].
use of extended neighbourhood (4 4 4 instead of 2 2 2) and tricubic interpolation [22],
use of the gradient consistency heuristic or quadratic t [22].
All these methods have been designed and tested empirically. The surfaces generated by these
methods are topologically correct (simple and closed 2-manifolds). Despite this fact (even if the
orientability is not often guaranteed in the methods presented above), the generated surface does
not exactly represent the underlying volume. This problem was mainly studied by [22] who tested
the methods by applying them on several continuous elds. Even complex methods as the two last
2
Figure 1: The problematic case in Marching-Cubes Algorithms and the dierent solutions which
may be chosen.
ones sometimes fail in providing the appropriated answer (i.e. a surface of the same topology than
the underlying continuous isosurface).
2.2 Digital Geometry Considerations
Some of the methods listed above make an implicit or explicit use of the connectedness between
voxels. For instance [16] solve the problem of Figure 1 on faces by always connecting voxels
of the background that share an edge or a face. This is known as the 6-connectedness for the
foreground and the 18-connectedness for the background (or 1-connectedness for the foreground
and 2-connectedness for the background with the terminology of [21]). Unfortunately, relationships
between the Marching-Cubes algorithm and connectedness of voxels have not been exhibited and
proved formally. Moreover, as far as we know, no author has ever explored the relationships between
digital surfaces (and especially Jordan surfaces) of a set of voxels, and isosurfaces locally computed.
2.3 3D Digital Geometry Denitions
Denition 2.1 (Image) Let ED = 1::M 1::N 1::P be a digital space of size M , N , P . An
image I is an application ED ?! D(I ) where D(I ) is the value domain of the image. Typically
D(I ) = f0; 1g for a black and white image, D(I ) = [0::255] for a grey level image. In the case of
D(I ) = [::], we can threshold the image with a value sI 2 [::] and we can then dene a new
application I 0 : ED ?! f0; 1g.
Without loss of generality we can limit our study to these applications from a digital space
toward a binary space. They are also called binary pictures. We dene the inverse picture I of
a binary picture I as the application I : v 7! 1 ? I (v ) where v belongs to ED . All the following
denitions are valid within a binary picture.
Denition 2.2 (Voxel, Object and Background)
A voxel v is an element of ED ; I (v) is the value of the voxel v in the image I ,
we dene the background N (I ) of an image as: N (I ) = fv 2 ED = I (v) = 0g, and the
foreground U (I ) of an image as: U (I ) = fv 2 ED = I (v ) = 1g
an object O is a subset of U (I ),
we denote a voxel of value 0 as a 0-voxel and a voxel of value 1 as a 1-voxel.
We are only interested in nite pictures. Furthermore we consider only pictures where there are
only 0-voxels or only 1-voxels on the border of the support. Notice that this is not restrictive, since
we can always extend the support of the image so that only one kind of voxel lies on the border of
the image.
3
Each voxel v of an image I may be identied by its three coordinates (i; j; k) 2 ED and its value
I (v). This identication allows us to dene an adjacency relation between the voxels.
Denition 2.3 (Adjacency) Two voxels are -adjacent for = 6; 18; 26 if their coordinates dier
of 1 for:
= 6: exactly one coordinate (face adjacency),
= 18: one or two coordinates (face or edge adjacency),
= 26: one, two or three coordinates (face, edge or vertex adjacency).
Two voxels are said to be strictly -adjacent if they are adjacent only for this . Two -adjacent
voxels u and v are denoted (u; v ) and is called an adjacency relation.
In order to dene objects we use the transitive closure of this relation, called the connectedness.
Denition 2.4 (Connectedness) Two 1-voxels v and vn are -connected (in the set I ) if there
exists a sequence of 1-voxels v ; v ; : : :; vn such that for any 1 i < n, vi is -adjacent to vi . An
object O is -connected if all pairs of voxels of O are -connected.
1
1
2
+1
We have the similar denitions for 0-voxels considered with another adjacency relation . Because the -connectedness is an equivalence relation, the equivalence classes of this relation for any
object O are called the -components of O. An object O is -connected when it possesses only
one -component. We emphasize that a 6-connected object is 18-connected, and also 26-connected.
Therefore, as a binary relation, 26-connectedness includes the other connectednesses.
Denition 2.5 (Adjacency Graph) Let O be a set of voxels, be an adjacency relation. Then
the -adjacency graph of O is the graph, noted G (O), whose vertices are the voxels of O and whose
edges are the connections between two -adjacent voxels.
In addition, we dene an 8-cube as a set of voxels v0; : : :; v7 such that for all i and j belonging
to f0; : : :; 7g, vi and vj are 26-connected if i 6= j . The coordinates of an 8-cube are the lowest
coordinates of the eight voxels. If (x; y; z ) 2 Z3 are the coordinates of an 8-cube, then we order its
voxels so that v0 has coordinates of (x; y; z ), v1 has coordinates of (x + 1; y; z ), v2 has coordinates
of (x; y + 1; z ), v3 has coordinates of (x + 1; y + 1; z ), : : : , v7 has coordinates of (x + 1; y + 1; z + 1)
(see Figure 2.a). We use the ordered notation C8 (v0; : : :; v7).
2.4 Denitions and Theorems on Convexity
Denitions and theorems in this section are taken from [1] but they are classical. They are valid as
long as the workspace is a R-vectorial space (here it is R3). We suppose that the notion of convex
hull of a set AP, denoted Conv(A), is known. The set Conv(A) can also be expressed as a linear
combination a a, where (a )a2A is an arbitrary family over a nite support of positive reals
P a2A
such that a = 1. We denote by Fr(A) the frontier of A which is equal to the adherence of A
a2A
minus the interior of A.
Denition 2.6 (Extremal Points) Let A be a convex set of a R-vectorial space. A point a 2 A
is said to be extremal if, and only if, ((x; y ) 2 A and a = (x + y )) ) (a = x = y ). The set of all
2
extremal points of A is denoted Extr(A).
4
1
2
Theorem 2.1 (Krein-Milman) Let C be a convex set and compact part of a R-vectorial space
then C = Conv(Extr(C )) (and Extr(C ) =
6 ;). If H is a supporting hyperplane of C , then
Extr(C \ H ) = Extr(C ) \ H . We have C = Conv(Fr(C )).
Denition 2.7 (Polyhedral Convex Set) We call polyhedral convex set of a R-vectorial space
any convex hull of a nite set whose interior is non null. The extremal points of a polyhedral convex
set are called its vertices.
Denition 2.8 (d-facet) Let P be a polyhedral convex set; every compact set P such that
P n is convex and dim() = d (0 d n = 3) and maximal for these properties with a given
d, is called a d-facet of P . The 0-facets are the vertices of P , the 1-facets are the edges and the
(n ? 1)-facets (here the 2-facets) are the faces of P . Every d-facet is immediately included in P .
2.5 Adjacency Graph and Extensions
Our purpose is to segment volumetric images according to the connectedness chosen for the object.
For instance, the obtained surface must not intersect the connection (dened by the adjacency
relation) between two voxels of the same kind (i.e. 0-voxels or 1-voxels). So we introduce the
notion of 3-map of an adjacency graph. The 3-map allows us to extract a volumetric embedding of
an adjacency graph.
Denition 2.9 (3-map of Z ) We dened the 3-map of the space Z considered with the adjacency, that we denoted Z , as the polyhedral complex derived from the set of points of R with
3
3
3
3
integer coordinates such that:
(i) the vertices (or 0-cells) are the points of R3 with integer coordinates (i.e. Z3 in R3).
(ii) the edges (or 1-cells) are the closed segments between 0-cells corresponding to the connections
dened by the -adjacency.
(iii) the faces (or 2-cells) are the minimal closed convex cells of dimension 2 that can be formed
using the 1-cells. A minimal convex cell p veries the following property:
8q non-null convex cell with dim p = dim q; q p ) q = p
(iv) the volumes (or 3-cells) are the minimal closed convex cells of dimension 3 that can be formed
using the 2-cells.
Z is a locally nite three-dimensional polyhedral complex. If p 2 Z then the extremal points
of the convex set p (i.e. Extr(p)) are 0-cells of Z . Note that Z is the standard decomposition of
3
3
3
3
6
R into unit-cubes, squares, edges and vertices.
Denition 2.10 (-adjacency
m-map) We dene the -adjacency m-map of a set of voxels O,
m
3
for 0 m 3, and denote G (O), as a subset of Z3 such that:
Gm
(O) =
p 2 Z j dim p m and Extr(p) are voxels of O
3
5
Informally, the -adjacency m-map of a set of voxels O is a subset of the decomposition of
the whole space R3 by Z3 into cells according to an adjacency relation and such that each cell is
only built over voxels of O. Thus, the graph G3 (O) is the \volume" occupied by a set of voxels
considered with a given connectedness.
Let S be a closed and oriented surface, Int(S ) its strict inner part, Ext(S ) its strict outer
part. Then S strictly includes a set of voxels O considered with the -adjacency, if, and only if,
G3 (O) Int(S ). We have then the following property:
Proposition 2.1 If O is a -connected component of a binary picture, then a closed and oriented
surface S strictly includes G3 (O) if, and only if, G3 (O) \ S = ; and there exists u 2 G3 (O) such
that u Int(S ).
Proof. This
is a direct consequence of the fact that S satises a Jordan theorem and that the
volume G3 (O), which is a single component in R3 too, must either be in Int(S ) or in Ext(S ) if it
does not intersect S .
2.6 Surface Denition
We build our surface using the denitions of [10] and [6] as a two-dimensional combinatorial oriented
manifold without boundary. We use some denitions of [5].
Denition 2.11 (Loop) Let G be a nite graph, VG its set of vertices. An oriented loop of G
is a circular permutation L = (u0; u1; : : :; uk?1), k > 2, of elements of VG such that, for all i, ui
is adjacent to ui+1 (indices are taken modulo k) and ui 6= uj if i 6= j ; the opposite oriented loop
L0 of L is the loop (uk?1; uk?2; : : :; u0); a loop of G is an oriented loop apart from its orientation.
A vertex ui of a loop (oriented or not) is called adjacent to the loop; the oriented edge (ui; ui+1)
(respectively, the edge fui; ui+1g) is called adjacent to the oriented loop (resp. the loop). Two
loops (oriented or not) having a common edge (oriented or not) are called adjacent.
Denition 2.12 (2D Combinatorial Manifold without Boundary) A two dimensional combinatorial manifold without boundary (or closed) M is a nite graph G with a set fF ; F ; : : :; Ff g
1
2
of loops of G, called faces or 2-cells of M , such that:
(i) every edge of G is adjacent to exactly two faces,
(ii) for every vertex u, the set of faces adjacent to u can be organized in a circular permutation
(f0; f1; : : :; fk?1), k > 1, called the umbrella of v , such that, for all i, fi is adjacent to fi+1
(indices taken modulo k).
The manifold M is said to be dened over the graph G, which is said to be the graph of M . The
vertices (resp. the edges) of M are also called the 0-cells (resp. the 1-cells) of M . The following is
a direct consequence of the denition of orientability of surfaces.
Theorem 2.2 (Orientability) Let M be a two dimensional combinatorial manifold without boundary. Let G be its graph and fF1 ; F2; : : :; Ff g be the loops of G. If there exists an orientation for
each loop Fi denoted Li such that every oriented edge is adjacent to one Lk and one L0l , then M is
orientable. The set fL1; L2; : : :; Lf g is one of the two orientations of M and the set fL01; L02; : : :; L0f g
is the other one.
6
A two dimensional combinatorial oriented manifold without boundary M , when embedded in R3,
represents a surface which is closed (point (i) of Denition 2.12), without singularity (point (ii)
of Denition 2.12), and oriented (Theorem 2.2). If S is an embedding of M with a given orientation fL1 ; L2; : : :; Lf g, then we denote S the embedding of M with the opposite orientation (i.e.
fL01; L02; : : :; L0f g). Obviously we have S = S. Note that S may have several connected components
(all closed and oriented). Our Marching-Cubes process builds a set of oriented loops which veries
these properties.
3 Isosurface Generation
3.1 Isosurface Properties
Let I be a binary picture on ED . Let be a given connectedness for the 1-voxels and for the
0-voxels. We denote M the process which transforms a binary picture into a surface according to
the chosen connectednesses. We now precise the properties that the generated surface S = M (I )
must follow:
(i) S is a simple, closed and oriented surface;
(ii) S is embedded in R3 without self-crossing;
(iii) If I is the inverse of the image I , then we must have M (I ) = M (I );
(iv) G3 (U (I )) Int(S );
(v) G3 (N (I )) Ext(S ).
Point (i) species the kind of surface we want to obtain. Point (ii) forbids self-crossing. Point
(iii) expresses that the isosurface generated for a picture I must be the same that the isosurface
generated for the picture I except for the orientation. Points (iv) and (v) force the isosurface to
separate the -components of 1-voxels from the -components of 0-voxels. We emphasize that these
conditions force the surface to lie within the limits dened by the connections between voxels.
3.2 Local Reconstruction
In order to build the isosurface, we decompose the binary picture into the set of all 8-cubes of I (if
I has a support M N P then there are (M ? 1)(N ? 1)(P ? 1) 8-cubes in I ). For each 8-cube,
a small piece of surface is built inside. We show after that the global resulting surface follows the
properties described above.
Let C8 (v0; : : :; v7) be an 8-cube of a binary picture I and (X; Y; Z ) be its coordinates. An 8-cube
has six faces (or 4-faces), each composed of four voxels. One 4-face is shared by exactly two 8-cubes.
One 4-face has two sides, and, for a given 8-cube, an inner (resp. outer) side called inner 4-face
(resp. outer 4-face). Each inner 4-face for an 8-cube is an outer 4-face for the neighbouring 8-cube
in this direction. The six 4-faces of an 8-cube are naturally called lower, upper, right, left, front,
back. We call an 8-conguration (resp. a 4-conguration) an 8-cube (resp. a 4-face) associated
with the value of each voxel (0 or 1). When no confusion may arise, the 8-conguration (resp.
4-conguration) is assimilated to the 8-tuple (resp. 4-tuple) of voxel value.
We arbitrarily choose the orientation of the normal to an oriented loop according to Figure 2.b.
This choice requires an orientation of the base on each inner 4-face which is described on Figure 2.c.
Now, on an inner 4-face, the interior is locally to the left of an oriented edge and the exterior is
7
?v ?v ?
?? ?? ??
? ? ? ?
?
v
v
?
? v?
?
v
v
?
?
6
4
7
5
3
0
1
(a)
(b)
(c)
Figure 2: (a) voxel representation of an 8-cube, (b) denition of the orientation according to the
direction of the loop, (c) corresponding denition of the bases for the inner 4-faces.
4-face
lower
upper
left
right
front
back
order
(v0 ; v1; v3; v2)
(v6 ; v7; v5; v4)
(v0 ; v2; v6; v4)
(v3 ; v1; v5; v7)
(v1 ; v0; v4; v5)
(v2 ; v3; v7; v6)
binary notation
(v000; v001; v011; v010)
(v110; v111; v101; v100)
(v000; v010; v110; v100)
(v011; v001; v101; v111)
(v001; v000; v100; v101)
(v010; v011; v111; v110)
Table 1: Order of each inner 4-faces
locally to the right due to the selected orientation. Note that two opposite faces have opposite
orientations.
An couple of two 6-connected voxels is called a link. The value of a link is the value of its
voxels. For instance, v0 and v1 are 6-connected and the link (v0 ; v1) has a value (I (v0); I (v1)). An
inner 4-face possesses four links in the clockwise direction and four links in the counterclockwise
direction. An inner 4-face is said to be ordered when it is read in the clockwise direction in its base.
Two successive voxels of an ordered 4-face are 6-connected.
3.2.1 Hamming Coding of 4-face
By analogy with the boolean coding and especially the Hamming coding for two numbers that dier
only on one bit, we code the ordered 4-face such that two successive voxels are 6-connected. For
instance, the lower ordered 4-face of the given 8-cube can be coded (v0; v1; v3; v2) with the four links
(v0; v1), (v1 ; v3), (v3; v2), (v2; v0). A binary coding of the voxels v0 ; : : :; v7 shows that the indices of
two successive voxels dier on one bit. The Table 1 summarizes the ordered 4-faces of an 8-cube.
Now, we apply the rules below on each link of an ordered 4-face:
if the value of the link is (0; 0) or (1; 1) then there is no vertex created between these two
voxels;
if the value of the link is (0; 1) then there is one vertex between these two voxels and there is
an incoming oriented edge on this vertex which stays on this 4-face.
if the value of the link is (1; 0) then there is one vertex between these two voxels and there is
an outgoing oriented edge on this vertex which stays on this 4-face.
Note that these rules are independent of the connectedness of the foreground and of the background. Consider the results of these rules for each conguration on Figure 3. 14 congurations
8
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Figure 3: The 16 dierent congurations for a 4-face; two cases remain indeterminate. The inner
part of the surface is shadowed.
{(6,6)}
{(6,18),(6,26)}
?
?
?
?
{(18,6),(26,6)}
{(18,18),(18,26),(26,18),(26,26)}
?
?
?
?
Figure 4: Resolution of problematic cases according to the connectedness; the local subgraphs of
the adjacency graphs of the foreground and of the background are highlighted.
provide an immediate result and only cases 6 and 9 receive special processing. Here the connectedness of the foreground and of the background is essential to give a coherent solution to these cases.
We call congurations 0 and 15 empty 4-faces, congurations 1, 2, 4, 8, 7, 11, 13 and 14 cornering
4-faces, congurations 3, 5, 10 and 12 half 4-faces and congurations 6 and 9 crossed 4-faces.
If (resp. ) is the connectedness of the 1-voxels (resp. 0-voxels), the Figure 4 shows that
a correct solution cannot be obtained for every couple (; ). As a matter of fact, the generated
surface must follow point (iii) of Section 3.1. An arbitrary choice in the cases (6; 6) or any one of
f(18; 18); (18; 26); (26; 18); (26; 26)g would provide a locally dierent surface in the inverse picture.
Proposition 3.1 In general, a coherent isosurface for a binary picture I cannot be generated when
I is considered with the connectedness couples (6; 6), (18; 18), (18; 26), (26; 18) and (26; 26).
In the following, the connectedness couples (6; 18), (6; 26), (18; 6) and (26; 6) will be called valid
couples. Note that there is no distinction between the 18-connectedness and the 26-connectedness
in the solution of the two problematic cases, because on a 4-face, these connectedness are identical.
We emphasize also that, on a 4-face, no oriented edge intersects the adjacency sub-graphs of the
9
yx
yx
00
01
11
10
0
v0
v1
v3
v2
1
v4
v5
v7
v6
z
00
01
11
10
0
v0
v1
v3
v2
1
v4
v5
v7
v6
z
front
upper
back
right
(a)
lower
(b)
left
Figure 5: Karnaugh table of a 8-cube: (a) Karnaugh table; v1 and v5 are 6-adjacent, v1 and v4
are 18-adjacent, v5 and v2 are 26-adjacent - (b) the six oriented inner 4-faces.
foreground and of the background (when the couple is valid). Moreover the building rules respect
the xed orientation.
Proposition 3.2 If (; ) is a valid couple, then the oriented edges generated by an ordered 4-face
are the opposite of the oriented edges generated by the same 4-face with an opposite order.
Proof. Trivial because when there is an outgoing (resp. incoming) edge dened by a link, the opposite link has an incoming (resp. outgoing) edge. The problematic cases dene opposite edges too. 3.2.2 8-cube and Karnaugh Table
There is a Hamming coding for the 8-cube in the same way there was a Hamming coding for a
4-face. We can use a Karnaugh table (see Figure 5) to represent the whole 8-cube. If vk is a voxel
of the given 8-cube, k is a number between 0 and 7 that we can code with three bits zyx. Note that
voxel vk has coordinates of (X + x; Y + y; Z + z ) with x, y , and z of value 0 or 1. Two 6-adjacent
voxels are adjacent in a Karnaugh table (and their indices dier on one bit); two 18-adjacent (resp.
26-adjacent) voxels are not adjacent (and their indices dier on two bits (resp. three bits)).
Let us denote G (C8) the graph obtained by gathering all the oriented edges generated on the
six oriented inner 4-faces. This graph is called the local graph of the 8-cube C8.
Theorem 3.1 If (; ) is a valid couple, the local graph G(C8) is a set of oriented loops, each
loop being disconnected from the others. Moreover the length of the oriented loops is greater or
equal than 3.
Proof. A close look at Figure 5.b shows that each link is an element of two 4-faces and that each
link is systematically covered two times in both directions. This can also be veried more formally
with Table 1. According to the four rules above, either no vertex is created on this link (case (0; 0)
and (1; 1)), or there is a vertex on this link with an incoming edge (0; 1) and an outgoing edge
((1; 0) when it is covered in the other 4-face). Because all vertices of the graph possess exactly
one incoming edge and one outgoing edge, the graph trivially forms a set of oriented loops with no
common vertex or edge. Now there is no loop of length 1, because each vertex belongs to at least
a 4-face, and, on this 4-face, the outgoing (resp. incoming) edge ends (resp. starts) on another
vertex. There is no loop of length 2 either, since a loop of length 2 would lie on a 4-face and checking
the congurations on a 4-face (see Figure 3 and Figure 4) shows they present no loop of length 2. 10
Dy
Dy
Dx
Dx
Cz
Cz
Dz
Dz
Cy
Cy
Cx
Cx
Figure 6: Conguration of strict 26-adjacency; building of a triangulation when = 26.
3.2.3 Redenition of the Local Graph in case of 26-adjacency
Denition 3.1 (Conguration of strict 26-adjacency) Let C be an 8-cube. We say that C
8
8
forms a conguration of strict 26-adjacency when there are two voxels of the same kind that are
strictly 26-connected in the 8-cube. Trivially, the six other voxels are of the opposite kind. In this
case, the local graph is a set of two oriented loops of length 3.
By the same way the connectedness was inuencing the generation of the local graph on 4-faces,
the 26-connectedness modies the local graph in congurations where two voxels are strictly 26connected. When a conguration of strict 26-adjacency arises and either = 26 or = 26, the
local graph is transformed and the two disconnected loops are triangulated (see Figure 6).
For instance, let (; ) = (26; 6), I (v0) = 1, I (v7) = 1, and the others are 0-voxels. We associate
vertices to the links of the 8-cube (see Figure 6). Then G (C8) = f(cx; cy ; cz ); (dz; dy ; dx)g. We
break the two loops and redene the local graph as a set of 6 loops of length 3 as follows (see
Figure 6 for a visualization):
When = 26 or = 26, the local graph is modied as follows:
G(C8) = f(cx; cy ; dz); (cy; cz; dx); (cz; cx; dy ); (dx; dz; cy); (dz; dy ; cx); (dy; dx; cz )g
An examination of all oriented edges of G (C8) shows that edges of the form (ci; dj ) or (dj ; ci)
are covered twice, one in each direction, and that all edges of (ci ; cj ) or (di; dj ) are covered one
time and are identical to the edges computed naturally by the local graph. Note that the redened G (C8) with the opposite of f(cx; cy ; cz ); (dz; dy ; dx)g is the (oriented) convex hull of the set
fcx; cy; cz; dx; dy; dzg. That is the reason why the embedding of the redened local graph in R3 does
not intersect the adjacency graph of two strictly 26-adjacent voxels. This fact critically inuences
the demonstrations of Section 4.3.
3.2.4 Oriented Loops of Length > 3
Denition 3.2 (Subdivision) Let L = (c ; c ; : : :; ck? ) be an oriented loop of length k 3. We
call the set of k ? 2 oriented loops fL ; : : :; Lk? g a subdivision of L if, and only if (all indices are
0
1
1
1
2
taken modulo k):
(i) all Lj have length 3, and their vertices are vertices of L,
(ii) every oriented edge (ci; ci+1) is an element of exactly one Lj ,
11
Figure 7: Several subdivisions of an oriented loop.
(iii) an oriented edge (ci1 ; ci2 ) with i2 6= i1 + 1 either does not exist or is an element of exactly one
Lj1 and one L0j2 with j1 6= j2.
See Figure 7 for an example. It is easy to prove that there are k dierent edges of the form
(ci; ci+1) and k ? 3 dierent edges of the form (ci1 ; ci2 ) with i2 6= i1 + 1. If k = 3 then L is its
own subdivision. The subdivision will allow us to build a combinatorial manifold with only loops
of length 3. In this case, the embedding of the manifold is canonical and denes a triangulated
surface.
The following propositions are useful to demonstrate that the isosurface has no self-intersection.
Proposition 3.3 If L1 is an oriented loop of G(C8), then two successive edges of L1 do not
belong to the same 4-face and the two 4-faces which contain the successive edges are perpendicular.
Proof. An examination of the sixteen 4-congurations shows that two connected edges cannot lie
on the same 4-face. Now the two 4-faces share the same edge, so they are perpendicular.
Proposition 3.4 Let L1 2 G(C8) be an oriented loop of length 3. If L2 is another oriented loop
of G (C8 ), then the (canonical) embedding of L1 in R3 does not intersect any canonical embedding
of any subdivision of L2 .
Proof. It is easy to see that the vertices of a loop of length 3 border a unique voxel u. This loop
thus lies in the corner of the 8-cube dened by the voxel u. Let L1 = (c1; c2; c3), C be the canonical
embedding of the 8-cube in R3. Let L2 = (d1; : : :; dk ) be any other loop of the local graph. Because
u, c1, c2 and c3 lies in the corner of C , we have for all i, 1 i k, di 2 C nConv(u; c1; c2; c3). Now
the embedding of any subdivision of L2 is included in the convex hull of the set fd1; : : :; dkg and
Conv(d1; : : :; dk ) Conv(C nConv(u; c1; c2; c3)). Now, if A is convex, then Conv(A) = A; as a matter of fact, C nConv (u; c1; c2; c3) is also convex. We deduce Conv(d1 ; : : :; dk) C nConv(u; c1; c2; c3)
and immediately Conv(d1 ; : : :; dk) \ L1 = ; with the embedding of any subdivision of L2 included
in Conv(d1 ; : : :; dk ).
Proposition 3.5 Let L 2 G(C ) be an oriented loop of length 4. Then, either there is no other
loop in G (C ), or there are exactly two loops in G (C ) (L and another loop L ), both of length
1
8
8
8
1
2
smaller or equal than 4. Moreover, the vertices of L1 are coplanar and the (canonical) embedding
of L1 in R3 does not intersect any canonical embedding of any subdivision of L2 .
Proof. The loop L cannot have two edges on the same 4-face, because the 4-face would be a
1
crossed 4-face and the two edges would be parallel, the other edges would thus lie on the same
12
Figure 8: The two dierent kinds of loop of length 4; the rst has two half 4-faces, the second has
four half 4-faces.
4-face too, and there is no 4-face with more than two edges. So L1 lies on four dierent 4-faces. Let
F0 ; F1; F2; F3 be the four 4-faces traveled by L1. By Proposition 3.3, F0 ? F1 , F1 ? F2 , F2 ? F3,
F3 ? F0. Suppose none of these 4-faces are half 4-faces. Then F0 ? F2, F1 ? F3, and F0, F1, F2
form a corner of the cube. This means that F3 is the opposite face of F0 (because F0 6= F3 ) and
this is in contradiction with Proposition 3.3. So one of (Fi ) (suppose F0 ) is an half 4-face and F1
is the opposite of F3 . We deduce that there are only two forms of loop of length 4 in a 8-cube (see
Figure 8). Thus the vertices of L1 are coplanar. In the rst form, the loop xes the value of six
voxels; the remaining two voxels may build no loop, a loop of length 3 or a loop of length 4. In
all cases, there is no intersection between L1 and any embedding of a possible other loop. In the
second form, the loop xes the value of all voxels and L1 is the only loop of the 8-cube.
Theorem 3.2 Let L ; : : :; Lk be the oriented loops of the local graph G(C ) for a valid couple
1
8
(; ). Then the embedding of any subdivision of all loops has no self-intersection.
Proof. If there is only one loop, then the theorem is trivial. Suppose k 2. There are six 4-faces
in the 8-cube, so G (C ) has at most twelve edges (and twelve vertices). If this is the case, G (C )
8
8
is trivially composed of four loops of length 3, and Proposition 3.4 allows us to conclude.
If G (C8) has less than twelve edges, one of the 4-face is not a crossed 4-face. It is easy to see
that at least two neighbouring 4-faces cannot be also crossed. G (C8) has thus at most 9 edges.
At least one loop has a length smaller than 4. As a matter of fact suppose a loop Li has a length
strictly greater than 4, then any other loop Lj cannot possess more than 9 ? 5 = 4 edges. Because one loop has a length 3 or 4, we can apply Proposition 3.4 and Proposition 3.5 to conclude. 3.3 Global Isosurface
Now, we have all elements to build the whole surface.
Denition 3.3 (Complete Graph) Let I be a binary picture. By extension, we dene the
complete graph of I , and denote it G (I ), as the set of all local graphs build from the 8-cubes of I .
Theorem 3.3 If (; ) is a valid couple, then the complete graph of a binary picture I is an oriented
two-dimensional combinatorial manifold without boundary.
Proof. According to Denition 2.12, we must rst prove that the graph is composed of a set of
loops. This is due to Theorem 3.1 and this is also true in the special case of 26-adjacency.
Secondly we prove that each edge is adjacent to exactly two faces. Let (u; v ) be any oriented
edge of G (I ). Either (u; v ) is an element of an inner 4-face of a 8-cube C81 (and so is an element
13
of the local graph), or (u; v ) is an edge dened in the conguration of strict 26-adjacency (see
Section 3.2.3). In the rst case, this 4-face belongs to exactly two dierent 8-cubes C81 and C82
(because if there is an edge, then this 4-face does not lie in the border of the picture). Now the inner
4-face of C81 has the opposite orientation of the corresponding inner 4-face of C82. Proposition 3.2
shows that there exists one corresponding edge (v; u) in C82. In the other case, by construction
there is exactly one opposite edge (v; u) (see Section 3.2.3).
Now we prove that on each vertex, we can build an umbrella. Let u be any vertex of G(I ).
The vertex u belongs to exactly four 8-cubes C80 , C81, C82 and C83 that can be ordered such that C8i is
face-adjacent to C8i+1 . By construction, u is adjacent to four corresponding dierent loops L0, L1,
L2 and L3 , one on each 8-cube. Moreover, we have Li adjacent to Li+1 because they share a 4-face
and thanks to Proposition 3.2.
Eventually, we have proved that each oriented edge possesses one corresponding edge that has
opposite orientation. Theorem 2.2 allows us to conclude.
A manifold derived from another manifold M by replacing every loop of length strictly greater
than 3 with any subdivision of this loop is by extension called a subdivision of M . We call a
manifold composed uniquely of loops of length 3 a triangulated manifold which can be identied to
its canonical embedding in R3, i.e. a triangulated surface.
Theorem 3.4 Let G(I ) be the complete graph of a binary picture I with (; ) valid. Let M
be a subdivision of G(I ). Then M is a triangulated manifold. Its canonical embedding is a
closed and oriented surface without singularity. Furthermore this surface is embedded in R3 without
self-crossing.
Proof. By Denition 3.2.(i) all loops of M have length 3 (because G(I ) only contains loops
of length greater than 3). Now M is an oriented two-dimensional combinatorial manifold without
boundary, because, by Denition 3.2, the subdivision is an Eulerian transformation (see [10] [6])
and thus preserves properties of G (I ). Eventually, each oriented loop of G (I ) belongs to a
unique 8-cube. Any subdivision of a loop is constrained by the boundaries of its 8-cube. Between
loops of dierent 8-cubes, no self-intersection is possible. Between loops of the same 8-cube, either
the conguration of strict 26-adjacency holds and the conditions are fullled, or we can apply Theorem 3.2 to conclude.
The Marching-Cubes process M (I ) is dened as the canonical embedding of a particular
subdivision of the complete graph of I with the connectedness couple (; ). Theorem 3.4 shows
that properties (i) and (ii) of Section 3.1 hold for M (I ). The following sections specify the
subdivision needed to respect properties (iii), (iv) and (v).
4 Correct Subdivision for the Generated Manifold
In this section, we exhibit a correct (i.e. the surface respects the ve properties of Section 3.1)
subdivision for the generated manifold.
Proposition 4.1 Let C8 be an 8-cube and (; ) a valid couple. The 1-voxels of C8 together
with the -connectedness dene n -components over C8. The 0-voxels of C8 together with the
-connectedness dene n -components over C8 . Then, either n = 1 or n = 1.
Proof. If = 26 (so = 6) then, either there is no 1-voxel and n = 1, or each 1-voxel is 26connected to any other 1-voxel in the 8-cube and n = 1. If = 18 (so = 6) then, either there are
14
two 1-voxels strictly 26-connected and the six other voxels (which are 6-connected) are restricted
to be 0-voxels and n = 1, or there is one 18-connected component of 1-voxels and n = 1. The
cases (6; 18) and (6; 26) are solved by the same arguments.
This proposition provides us with the idea that the surface must be built around the unique
? or ? component of the 8-cube. Informally, the \biggest" component must be included in the
surface and that is the reason why we introduce the notion of generated volume over a conguration
C8.
4.1 Generated Volume and Induced Local Surface
In this section, we x = 6. Moreover we suppose that C8 does not form the conguration of
strict 26-adjacency. Let C be the embedding of C8 in R3. Let G (C8 ) be the local graph of C8
and L1; : : :; Ll be the oriented loops of the local graph. We are only interested in the cases where
G(C8) is not empty. According to Proposition 4.1 there is one -component
in C8. We denote
O = fo1; : : :; opg the 1-voxels of the -component and we denote Ai = fa1(i) ; : : :; ak(i)g, for 1 i l,
Sl
the ordered vertices of Li . Let A = Ai . Now we can dene the generated volume as:
i
i=1
V (C ) = Conv(O [ A)
6
(1)
8
Proposition 4.2 The (embedding of the) loops L ; : : :; Lk are Jordan curves of Fr(V (C )).
Proof. Each loop Li is a simple closed curve lying on a closed, oriented surface without singularity, and which is homologous to a sphere. It is a characterization of Jordan curves along surfaces. 1
6
8
Proposition 4.3 Each loop Li splits Fr(V6(C8)) into two open surfaces. One of these two surfaces,
called the interior surface of Li, contains no elements of O [ A.
Proof. Li splits Fr(V (C )) into two open surfaces S and S according to Proposition 4.2. Because C is not the conguration of strict 26-adjacency, O is as well a 26-connected component
than a 18-connected component. Now G (O) Fr(V (C )) by (1) and because G (O) Fr(C ).
i
i
6
8
8
1
1
18
( )
6
2
8
1
18
On each face where an oriented edge (aj ; aj ) exists, we have by construction (see Figure 3)
)
G118(O) \ (aj(i); aj(i+1
) = ;. This graph does not cross the Jordan curve Li . By application of the
Jordan theorem, the graph is completely included in S1 or in S2 . Suppose G118(O) S1. With a
similar argument any element of any other loop Li is at least connected to one vertex of O which
is included in G118(O). By denition, it cannot exist any vertex or edge of Li which crosses this
connection. We deduce that this element belongs to S1 too. We have also that the open set S2
trivially contains no element of Li .
( )
+1
0
Proposition 4.4 The interior surface of Li implicitly denes a subdivision for Li.
Proof. According to Proposition 4.3, the interior surface of Li is included in Fr(V (C )) and
contains no elements of O [ A. The volume V (C ) is convex; consequently the surface is entirely
6
6
8
8
dened by the vertices of its boundary, i.e. the set of vertices of Li . Being part of a convex hull,
the vertices of Li dene plane convex elements over the interior surface. It corresponds to the
embedding of a subdivision of Li . The plane convex elements dened by coplanar vertices of Li
15
can have any subdivision but their embedding is identical.
We dene now the triangulated manifold generated by the Marching-Cubes process:
Denition 4.1 (Local Triangulated Manifold) Every 8-cube C of the binary picture I together
with a valid connectedness couple (; ) denes a local graph G (C ) which is a set of oriented
loops L ; : : :; Lk. Note that we clearly have G (C ) = G (C ). That is the reason why we dene
the local triangulated manifold S (C ) by cases:
- case = 6; if C is a conguration of strict 26-adjacency then, either = 26 and S (C ) is
dened as in Section 3.2.3, or = 18 and S (C ) = G (C );
else S (C ) is dened as the subdivision of G (C ) implicitly dened by the interior surfaces
8
8
1
8
8
8
8
8
8
8
8
8
of L1 ; : : :; Lk (see Proposition 4.4);
- case = 6; then S (C8) is dened as S (C8 ) with opposite orientation (which is already
dened by the previous case).
4.2 Marching-Cubes Surface
Denition 4.2 (Marching-Cubes Surface or Isosurface) We call a surface an isosurface of
the binary picture I considered with valid connectedness (; ) (denoted M (I )) the canonical
embedding of the complete graph of I (G (I )) with the subdivision of Denition 4.1.
Theorem 4.1 If (; ) is a valid connectedness couple then M(I ) respects properties (i), (ii),
(iii) of Section 3.1.
Proof. Immediate for (i) and (ii) according to Theorem 3.4. Denition 4.1 proves property (iii). 4.3 Resolution of the Conguration of strict 26-adjacency
Proposition 4.5 If C is a conguration of strict 26-adjacency, then G (N (C )) \ S (C ) = ;.
Proof. Trivial according to Figure 6 if = 26. Case = 18 is also trivial.
3
8
8
=6
6
8
Proposition 4.6 If C forms the conguration of strict 26-adjacency, then G (U (C ))\S (C ) = ;.
Proof. If = 26 then the result is obvious by construction of the local graph in this particular case
(see Figure 6). If = 18, the graph G (U (C )) is reduced to two vertices which cannot intersect
the local surface.
3
8
3
8
16
8
6
8
4.4 Background and Generated Surface
In this section, we suppose C8 does not form the conguration of strict 26-adjacency.
Proposition 4.7 The set of extremal points of V (C ) is exactly the set A [ O.
Proof. According to (1), we only have to demonstrate that A [ O Extr(V (C )). We show
rst that the set O is included in Extr(V (C )), then we prove that the set A is also included in
Extr(V (C )).
Let oi 2 O. We have oi 2 Extr(C ) where C is the embedding of C in R . And V (C ) C .
Suppose oi 2= Extr(V (C )), then oi may be expressed using a linear combination of points of
V (C ), which means a linear combination of points of C ; this is a contradiction to the hypothesis
and oi 2 Extr(V (C )).
Let a 2 A. By denition, there exist two 2-facets of C , noted F and F such that a 2 F \ F .
Now, because F \ V (C ) is the trace of V (C ) over F and, by construction, the trace of the isosurface on each 4-face, we have a 2 Extr(F \ V (C )). F is a supporting hyperplane of C . According
to Theorem 2.1 we have Extr(F \ V (C )) = Extr(V (C )) \ F ; we deduce a 2 Extr(V (C )). 6
8
6
6
6
8
3
8
6
6
8
8
6
8
8
8
6
8
1
1
6
8
6
1
1
6
8
6
2
1
2
1
8
1
8
6
8
1
6
8
Lemma 4.1 The (local) -adjacency 3-map of C (with = 6) has an empty intersection with the
(local) corresponding generated volume V (C ).
Proof. Let C be the embedding of C in R . Note that we have V (C ) C and, by Denition 2.10,
(G (N (C )) C . Let be a d-cell of G (N (C )) with 0 d 3. The convex set is build over
vertices of the background by Denition 2.10. Because the graph Z is the standard decomposition
of R in cubes, faces, edges, vertices, is also a d-facet of a cube containing it: is a d-facet of C .
If d = 3 then N (C ) = C and V (C ) = ;;
If d < 3 then, according to Proposition 4.7, Extr(V (C )) = A[O. Trivially the set O of 1-voxels
has an empty intersection with the 3-map G (N (C )). Furthermore, no element of A can be in
G (N (C )), because this element belongs to an edge connecting a 1-voxel to a 0-voxel and therefore
this edge cannot be an element of the 3-map of the 0-voxels. We deduce that Extr(V (C )) \ = ;,
if, and only if, Extr(V (C )) C n. According to Denition 2.8, C n is also convex. We obtain
Conv(Extr(V (C ))) Conv(C n) = C n. The Theorem 2.1 gives V (C ) C n which allows
us to conclude.
8
6
3
3
8
3
8
=6
8
6
8
=6
3
6
3
8
8
6
8
3
3
=6
8
6
8
8
=6
8
6
6
6
8
8
8
6
8
Lemma 4.2 The -adjacency 3-map of N (I ) (with = 6) has an empty intersection with the
isosurface M6 (I ).
S
S (C ). Now S (C ) C if C is the embedding of C in R .
It is thus sucient to prove that, for any C , G (N (C )) \ M (C ) = ;. Now, either C forms
Proof. Note that M (I ) =
6
C8 2I
6
8
6
8
3
=6
8
8
8
6
8
8
3
the conguration of strict 26-adjacency, and Proposition 4.5 allows us to conclude, or we have, by
Denition 4.1, S6 (C8) V6 (C8), and, according to Lemma 4.1, V6 (C8) \ G3=6 (N (I )) = ;. The
conclusion is immediate.
Theorem 4.2 The -adjacency 3-map of N (I ) (with = 6) is a subset of Ext(M (I )).
6
17
Proof. We decompose G (N (I )) in -components of the background. Around the generated
3
=6
surface M6 (I ), it is easy to verify that, locally, at least one voxel is in Ext(M6 (I )) according to
the chosen orientation (note that for each local surface, the -adjacency 3-map of the background
is in the complementary of the local generated volume). Now the combination of Proposition 2.1
and of Lemma 4.2 shows that any -component of the background is in Ext(M6 (I )).
4.5 Foreground and Generated Surface
Lemma 4.3 The -adjacency 3-map of U (C ) (with 2 f18; 26g) is a subset of V (C ).
Proof. Let be a d-cell of G (U (C )). By Denition 2.10, is a minimal convex set built over
several 1-voxels of C , i.e. Extr() O O [ A = Extr(V (C )). Applying Theorem 2.1 provides
immediately V (C ).
8
3
6
8
8
6
8
6
8
8
Lemma 4.4 The -adjacency 3-map of U (I ) (with 2 f18; 26g) has an empty intersection with
the isosurface M6 (I ).
Proof. As G3(U (I )) = CS2I G3(U (C8)) and M6 (I ) = CS2I S6(C8), and all elements are dened over
8
8
the embedding C of the 8-cube C8, it is sucient to prove that, for any C8 , G3 (U (C8)) \ S6 (C8) = ;.
If C8 is a conguration of strict 26-adjacency, Proposition 4.6 allows us to conclude. Otherwise,
Lemma 4.3 implies that G3 (U (C8)) is included in V6(C8), which means that the -adjacency 3-map
cannot cross the local surface (but may have common points with it). Proposition 4.3 states that
no 0-cell of G3 (U (C8)) is in S6 (C8 ). Suppose there is a 1-cell (u1; u2) of G3 (U (C8)) which have
a common point a with S6 (C8). This means that a 2 Fr(V6 (C8)). Now u1 2 Fr(V6(C8 )) and
u2 2 Fr(V6(C8 )) also hold. V6(C8) is convex, we deduce that the 1-cell (u1 ; u2) is totally included
in Fr(V6 (C8)), and, consequently, (u1; u2) cannot be a connection between two 26-adjacent voxels
of C8. Trivially (u1; u2) belongs to a face of C . Therefore (u1 ; u2) cannot have any intersection with
an oriented loop of C8 and lies on the same side than u1 and u2 . Proposition 4.3 implies that a is
not in an interior surfaces of any loop of the local graph of C8 . By Denition 4.1, there is no 1-cell
of G3 (U (C8)) that lies also in S6 (C8). We have proved that the 1-map G1 (U (C8)) \ S6 (C8 ) = ;.
The 2-cells and 3-cells of G3 (U (C8)) are minimal convex sets derived from G1 (U (C8)). We can use
the same argument as for 1-cells to show that they have no common point with the local surface.
Theorem 4.3 The -adjacency 3-map of U (I ) (with 2 f18; 26g) is a subset of Int(M (I )).
Proof. This demonstration is similar to the proof of Theorem 4.2 but, in this case, the local
6
-adjacency 3-map of the 1-voxels is included in the local generated volume. Now the combination
of Proposition 2.1 and of Lemma 4.4 shows that any -component of the foreground belongs to
Int(M6 (I )).
4.6 The Isosurface lies between the Background and the Foreground
Now we can demonstrate the theorem below, which states that the isosurface of an image lies
between foreground voxels and background voxels. The adjacency graphs of the foreground and of
the background do not intersect the isosurface.
18
Theorem 4.4 If (; ) is a valid connectedness couple then M(I ) respects properties (iv), (v) of
Section 3.1.
Proof. Let I be a binary picture. If = 6 then Theorem 4.3 proves property (iv) and Theorem 4.2
proves property (v). If =
6 6 then = 6 in order to have a valid couple. We compute
M (I)
where I is the opposite image of I . Then Theorem 4.2 proves
thatG (N (I )) Ext M (I ) .
Knowing that N (I ) = U (I ), we deduce G : (U (I )) Ext M (I ) . Using property (iii) of the
isosurface and the fact that I = I , we obtain G (U (I )) Ext M (I ) . For a closed and oriented
3
3
=6
6
6
=6
3
=6
6
surface S , we have Ext(S ) = Int S (S is the same surface with opposite orientation). This leads
to G3=6 (U (I )) Int(M6(I )) and proves property (iv). The proof of property (v) is strictly similar
and uses Theorem 4.3.
5 Results and Properties
5.1 Implementation
Locally, the generated isosurface depends only on the local conguration of voxels. This means
that we can compute once and for all the 256 dierent congurations for a given connectedness
couple. We shall build four dierent tables, one for each valid connectedness couple. A classical
Marching-Cubes algorithm may thus use directly one of these tables to build a coherent isosurface
without any modication in the source code (unlike other methods such that [18] which imposes
to modify the algorithm). Moreover classical optimizations [25] [3] [23] of the Marching-Cubes
algorithm are not inuenced by the modications brought in the table of congurations and can
also be used directly.
Figure 9 summarizes the algorithm used to compute the 256 local congurations for the connectedness couples (18,6) and (26,6). The two other tables are computed using the two previous tables
and property (iii). The procedure of Figure 9 must be called with the 256 dierent congurations.
One can escape the computation of the convex hull by checking whether an edge is a \roof"
(like a ^) or an \hollow" (like a _) on the loop. Let (a1; : : :; ak) be an oriented loop. Then we have
(if all indices are taken modulo k):
??! ???!
???! ??!
???! ??!
Let ~u = ?
a?i!
aj ^ a???!
i?1ai ;~v = ai aj ^ ai ai+1 ; u~0 = aj ?1aj ^ ai aj ; and v~0 = aj aj +1 ^ ai aj
(~v ^ ~u) ?
a?i!
aj 0 and (u~0 ^ v~0) ?
a?i!
aj 0 ) ai aj is an \hollow" (valid for = 6)
?
?
!
?
?
!
0
0
(~v ^ ~u) ai aj 0 and (u~ ^ v~ ) ai aj 0 ) ai aj is a \roof" (valid for = 6)
5.2 Results on Dierent Congurations
(2)
(3)
Figure 10 and Figure 11 shows the building process for two dierent congurations also considered
with dierent connectednesses. Note that the result is identical whether one of the connectedness is 18 or 26. This is due to the fact that the 26-connectedness behaves dierently than the
18-connectedness only for congurations of strict 26-adjacency. Eventually, Figure 12 shows the
behaviour of the algorithm in the conguration of strict 26-adjacency. If the connectedness of the
foreground is 26, then a triangulation is done over the vertices of the local graph; if not, the local
graph is not modied.
19
Procedure Build Local Surface(Conguration C , Connectedness )
Let E ? ;,
For all inner 4-faces F of C do
j EF ? Extract edges(F ,,6)
j
E ? E [ EF
End for all
L ? Extract loops(E )
H ? Convex Hull(get vertices(L) [ get 1-voxels(C ))
While L contains a loop L of length > 3 do
j L ? Remove a loop of length> 3(L)
j L is an ordered set (a1; : : :; ak) of vertices
j Let exit ? false, i ? 1, j ? i + 2
j Repeat
j j If (ai; aj) 2 H then exit ? true
j j Else
j j j j ?j+1
j j j If j = k then i ? i + 1, j ? i + 2
j j End If
j Until exit
j Insert loop((a1; : : :; ai; aj ; : : :; ak), L)
j Insert loop(ai; : : :; aj ), L)
End While
If Conguration strict 26-adj(C ) and = 26 then
j L ? build special loops 26-adj(L)
End If
Return L
Figure 9: Algorithm for building local congurations with couples (18,6) and (26,6).
5.3 Results on Synthetic Images
We test our modied Marching-Cubes algorithm on synthetic images in order to highlight the inuence of connectedness on the results. First, we verify that a hole is generated inside a conguration
with two voxels of the background strictly 26-adjacent with = 26 (see Figure 13). Then, we
test the inuence of connectedness over an image which represents a cube with eight connected
vertices. Figure 14 shows the image and the results of a Marching-Cubes algorithm with the couples (26,6), (18,6) and anyone of f(6; 18); (6; 26)g. Figure 15 is another example of the inuence of
connectedness.
One may notice that we never use the fact that vertices of the isosurface lie at the middle of
the two voxels which dene it. All our properties are still valid if created vertices lie in the open
segment linking the two bordering voxels. This ability for the vertex to lie anywhere on this segment
is critical in visualization, where the surface must be as smooth as possible. This can be achieved
by computing the localization of the vertex with an interpolation of the intensity value of the two
bordering voxels together with the threshold value. A description of this method is available in
[12]. Figure 16 shows the obtained visual improvement. Note that the topology of the isosurface
remains unchanged.
20
For (26,6) and (18,6) =)
(b)
(c)
(d)
(a)
For (6,26) and (6,18) =)
(e)
(f)
(g)
Figure 10: An example of a conguration with the corresponding local surface: (a) displays the
conguration, (b) (resp. (e)) shows the oriented loops generated for a couple (18,6) or (26,6) (resp.
(6,18) or (6,26)), (c) and (f) show the corresponding subdivisions, (d) and (g) display the isosurfaces
derived from the subdivisions.
5.4 Results on Medical Data
Figure 17.a shows an isosurface of a computed tomography. The size of the image is 256 256 113.
Note that we make no use of the interpolation to smooth the result. With this method, the edge
length of the isosurface is extremely regular. Now, because the computed isosurface is a \simple"
surface, it can be considered as a deformable model and exploited as an initialization for another
process. For instance, we have used the snake-like algorithm described in [9] to deform and smooth
the isosurface according to physical constraints. The result (see Figure 17.b) is better than a direct
visualization of a Marching-Cubes result. For instance, the isosurface computed by the MarchingCubes possesses 354 connected components and 958 topological holes (and about 295; 000 vertices)
whereas the deformed surface possesses only 45 connected components and 181 holes (and about
191; 000 vertices).
5.5 Properties of Isosurfaces
In this section we prove that the complete graph of I , considered with the connectedness couple
(; ), is exactly the graph of surfel-adjacency of the corresponding digital surface of I dened with
the same connectedness couple.
Digital surfaces were rst introduced in [11]. The notion of digital surfaces was extended to
arbitrary dimensions in [7].
Denition 5.1 (Surfel) If v and v0 are two 6-adjacent voxels, the pair fv; v0g is called a surfel s
(surfel for surface element). The oriented pair (v; v 0) is called an oriented surfel. v and s are said
to be incident.
A digital surface is a non-empty set of surfels. Digital surfaces have a canonical embedding in
R : each surfel (v; v0) is embedded as a square face, which is the intersection of the two cubes dened
3
by the voxels v and v 0. We may now dene a digital surface that lies between two components of I .
21
For (26,6) and (18,6) =)
(b)
(c)
(d)
(a)
For (6,26) and (6,18) =)
(e)
(f)
(g)
Figure 11: An other example of a conguration with the corresponding local surface: (a) displays
the conguration, (b) (resp. (e)) shows the oriented loops generated for a couple (18,6) or (26,6)
(resp. (6,18) or (6,26)), (c) and (f) show the corresponding subdivisions, (d) and (g) display the
isosurfaces derived from the subdivisions.
Denition 5.2 (-boundary) If O is a -connected set of 1-voxels and Q is a -connected
set of 0-voxels, then the (oriented) digital surface (O; Q), dened as the set of surfels such that
(v; v 0) 2 (O; Q) , v 2 O and v 0 2 Q, is called a -boundary (of the picture I ) and is the
-boundary of O and Q.
The rst interesting result is that these surfaces follow a Jordan-like theorem for couples (18,6)
and (6,18) (which has been demonstrated by [19]) and for couples (26,6) and (6,26) (a demonstration
may be found in [14]). We can establish a parallel between that fact and the coherence of generated
isosurfaces for these connectedness couples. One can be interested whether a -boundary respects
some properties of isosurfaces or not. In the following, the notation (O; Q) will represent as
well the digital surface of the -boundary, its combinatorial representation and its canonical
embedding.
Proposition 5.1 We suppose that (; ) is valid. If there is no strictly 18-adjacent and strictly
26-adjacent voxels in the set O and in the set Q, then the canonical embedding of (O; Q) in
R33 follows properties (i), (ii), (iii) of Section 3.1. We only have G36(O) Int((O; Q)) and
G6(Q) Ext((O; Q)).
Proof. By hypothesis, only two surfels of (O; Q) share the same edge and, consequently, (O; Q)
has no singularity. Therefore, each edge of the combinatorial representation of (O; Q) is incident
to exactly two faces. According to Denition 2.12 and Theorem 2.2, (O; Q) is a two-dimensional
oriented combinatorial manifold without boundary. Each face is a plane square; the canonical embedding of (O; Q) is thus a closed oriented surface without singularity (property (i)). Now, by
construction, (O; Q) has no self-intersection (property (ii)). The embedding of (O; Q) satises
property (iii) by inversion of each couple (i.e. surfels) and because of the hypothesis on connectedness. The surfel of two 6-adjacent voxels of O does not belong to (O; Q). The embedding of
(O; Q) has thus an empty intersection with the 6-adjacency 3-map of O. The demonstration for
Q is similar.
22
For (26,6) =)
(a)
; 6); (6; 26)
For (18
and (6; 18) =)
(b)
(c)
(d)
(e)
(f)
(g)
Figure 12: The conguration of strict 26-adjacency: (a) displays the conguration, (b) (resp.
(e)) shows the oriented loops generated for a couple (26,6) (resp. 2 f(18; 6); (6; 18); (6; 26)g), (c)
and (f) show the corresponding subdivisions, (d) and (g) display the isosurfaces derived from the
subdivisions.
1.5
2.5
1
2
0.5
1.5
0
1
−0.5
1.5
0.5
2.5
−0.5
1
0.5
−0.5
1.5
1
1
(a)
1
1.5
0.5
0
0.5
2
0
2
(b)
0.5
1.5
2.5
Figure 13: The conguration of strict 26-adjacency when = 26: (a) displays the conguration,
(b) result of the Marching-Cubes algorithm.
Note that -boundaries always follow properties (ii) and (iii) of isosurfaces. However they
seem weaker than isosurfaces with respects to the expressed properties.
The study of algorithm of digital surface tracking has provided the notion of adjacency between
surfels or surfel-adjacency. The surfel-adjacency is closely linked to the underlying adjacency between the voxels that dened the surfels. Refer to [2] and [8] for precise denitions and to [20] for
the theory of boundaries in Zn.
Denition 5.3 (Surfel-Adjacency) Let s = (u; u0) and s = (v; v0) be two surfels. These surfels
1
2
are said to be -adjacent if:
(i) u = v and u0 is -adjacent to v 0 or the voxel w such that 6(u0; w) and 6(w; v 0) is also an
element of Q (see Figure 18.a);
(ii) u0 = v 0 and u is -adjacent to v or the voxel w such that 6(u; w) and 6(w; v ) is also an element
of O (see Figure 18.c);
23
(a)
(b)
(c)
(d)
Figure 14: Test of the Marching-Cubes over a \connection" cube: (a) displays the image, (b)
result of the Marching-Cubes algorithm with (; ) = (26; 6), (c) with (; ) = (18; 6), (d) with
(; ) 2 f(6; 18); (6; 26)g.
(a)
(b)
(c)
(d)
Figure 15: Test of the Marching-Cubes over a wire-mesh: (a) displays the image, (b) result of
the Marching-Cubes algorithm with (; ) = (26; 6), (c) with (; ) = (18; 6), (d) with (; ) 2
f(6; 18); (6; 26)g.
(iii) 6(u; v ) and 6(u0; v 0) (see Figure 18.b);
(iv) u is strictly -adjacent to v and u0 is strictly -adjacent to v 0 (see Figure 18.d);.
We stress that points (i), (ii), (iii) are classical denitions of the surfel-adjacency for the connectedness couples (18,6) and (6,18). They correspond to an adjacency link between two surfels
that share an edge, constrained by the local connectedness of voxels. In the literature, two surfels of
two strictly 26-adjacent voxels are never connected and the surface components dened for connectedness (18,6) and (26,6) are thus identical. Furthermore, this classical denition of surfel-adjacency
sets problems in surface tracking algorithm. To our knowledge, only [14] has introduced an adjacency between surfels of two strictly 26-adjacent voxels. They have proved that -boundaries
follow a Jordan-like theorem for couples (26,6) and (6,26). Moreover they have proved the validity
of a surface tracking algorithm for these digital surfaces in [17]. As a matter of fact, they introduce
one adjacency link between surfels that share only a vertex.
If this denition of 26:6-adjacency is sucient for a surface tracking algorithm where only one
connection is required, it has no real topological meaning. That is why we introduce the point (iv)
of Denition 5.3. This denition states that two surfels are 26:6-adjacent if they share a vertex
and if they do not lie on the same plane (see Figure 18.d). As a matter of fact, we have 26:6(si; s0j )
when i 6= j . With this denition, the surface tracking algorithm of [17] is still valid. Moreover we
can now deduce the link between isosurfaces and digital surfaces with the following theorem.
Theorem 5.1 Let (O; Q) be the -boundary of O and Q. Let G(O [ Q) be the restriction
24
(a)
(b)
(c)
(d)
Figure 16: Visual comparison between vertices xed at the middle of each edge and free vertices
(the image has a size of 153): (a) isosurface of a sphere, (b) same isosurface with interpolation of
the vertices, (c) isosurface of a sphere minus cylinders, (d) same isosurface with interpolation.
(a)
(b)
Figure 17: Results on medical data: (a) isosurface of a Computed Tomography, (b) after processing
of a snake-like algorithm.
of the complete graph of I to the vertices of O [ Q. Then the -adjacency graph of (O; Q) is
identical to the graph G (O [ Q).
Proof. Let a be a vertex of the -adjacency graph of (O; Q). By denition a is a surfel between a 1-voxel u 2 O and a 0-voxel u0 2 Q. Now there is a vertex in the local graph on a link
between a 1-voxel and a 0-voxel. Therefore the surfel a is also a vertex of G (O [ Q). Now if
(a; b) is an edge of the -adjacency graph of (O; Q), then this edge has been built according
to rule (i), (ii), (iii) or (iv) of Denition 5.3. Now rules (i), (ii), (iii) are built with four voxels,
which correspond to a 4-face. On this 4-face, rule (i) is applied for congurations 1, 2, 4, 6 (with
= 6), 8 and 9 (with = 6); rule (iii) is applied for congurations 6 (with = 6), 7, 9 (with
= 6), 11, 13, 14; rule (ii) is applied for congurations 3, 5, 10, 12; congurations 0 and 15
may not appear. It clearly appears that an edge generated by a conguration on a 4-face corresponds to a surfel-adjacency between two surfels of the 4-face. Now, it is easy to show that the
surfel-adjacency dened by rule (iv) connects two surfels of two strictly 26-adjacent voxels. More25
s2
u’
u=v
s2
s1
u’
u
v’
w
(a)
v
s1
u’
v
w
s2
u
s1
u
s2
s1
(b)
s’2
s 3 s’1
u’=v’
v’
s’3
(c)
v
v’
(d)
Figure 18: Description of surface adjacency
over, two 26:6-adjacent surfels dene an edge that corresponds to an edge dened in Section 3.2.3.
One may notice that it explains the fact that the surfels si and s0i of Figure 18 are not connected. Corollary 5.1 Let be the digital surface dened by U (I ) and N (I ). Let G(I ) be the complete
graph of I . Then the -adjacency graph of is identical to the graph G (I ).
Proof. Immediate according to the previous theorem.
Corollary 5.2 Let be the digital surface dened by U (I ) and N (I ). There is an embedding in
R of considered with any -adjacency which is a (set of) closed oriented surface(s) without
3
singularity and which does not self-intersect.
Proof. Trivial according to the properties (i), (ii) and (iii) of isosurfaces and to Corollary 5.1. A very interesting consequence of this theorem is that a Marching-Cubes over a component of
the foreground and a component of the background can be computed in O(s) time if s is the number
of surfels of I , by using a surface tracking algorithm to build the complete graph. The subdivision
of the obtained graph can also be built in O(s) because the digital surface has O(s) vertices. The
computation of the classical Marching-Cubes is in O(n3 ), where n3 is the size of the volumetric
image. Usually, a digital surface has O(n2) elements. It may thus be interesting to use this property
when we just need to compute one isosurface of the volumetric image I .
6 Conclusion
We have presented a new topological and formally proved approach for extracting coherent isosurfaces from a volumetric image. For a given connectedness couple, a corresponding isosurface
is built which separates foreground elements (d-cells of the foreground) from background elements
(d0-cells of the background). The identity between the underlying graph of the isosurface and the
surfel-adjacency graph of the digital surface has been established. The algorithm has been implemented and validated with synthetic data. It is at the moment used in segmentation of medical
images. Future works could explore the idea of local connectedness for the foreground and for the
background, thus providing a local control on the image together with a theoritical formulation.
26
Acknowledgements
The author thanks Jean-Marc Nicod and Serge Miguet for providing a parallel version of the
Marching-Cubes algorithm (see [13] for a description). Tests on real data were performed by this
algorithm with modied conguration tables. The author also thanks Vincent Bouchitte, Annick
Montanvert, Denis Richard, and Jayaram K. Udupa for helpful comments and discussions.
References
[1] J.-M. Arnaudies and J. Bertin. Groupes, Algebres et Geometrie, volume 1, chapter 8.
Ellipses, 1993.
[2] E. Artzy, G. Frieder, and G.T. Herman. The theory, design, implementation and evaluation of a three-dimensional surface detection algorithm. Computer Graphics and Image
Processing, 15:1{24, 1981.
[3] J.-H. Chuang and W.-C. Lee. Ecient Generation of Isosurfaces in Volume Rendering.
Computer & Graphics, 19(6):805{813, 1995.
[4] M.J. Du rst. Additionnal Reference to Marching Cubes. Computer Graphics, 22(2):72{73,
1988.
[5] J. Francon. Discrete Combinatorial Surfaces. CVGIP: Graphical Models and Image Processing, 57(1):20{26, January 1995.
[6] H.B. Griffiths. "Surfaces". Cambridge University Press, January 1976.
[7] G.T. Herman. "Discrete Multidimensional Jordan Surfaces". CVGIP, 54(6):507{515, November 1992.
[8] T.Y. Kong and J.K. Udupa. A justication of a fast surface tracking algorithm. CVGIP:
Graphical Models and Image Processing, 54(6):507{515, November 1992.
[9] J-O. Lachaud and A. Montanvert. "Volumic Segmentation using Hierarchical Representation and Triangulated Surface". In 6th European Conference on Computer Vision, pages
137{146, Cambridge, UK, April 1996.
[10] S. Lefschetz. Applications of Algebraic Topology. Springer, Berlin/New York, 1975.
[11] H.K. Liu. Two and three dimensional boundary detection. Computer Graphics and Image
Processing, 1977.
[12] W. E. Lorensen and H. E. Cline. "Marching Cubes: A High Resolution 3D Surface Construction Algorithm". Computer Graphics, 21:163{169, January 1987.
[13] S. Miguet and J-M. Nicod. "A load-balanced parallel implementation of the Marching-Cube
algorithm". In HPCS, July 1995.
[14] S. Miguet and L. Perroton. "Discrete surfaces of 26-connected sets of voxels". In 5th
Discrete Geometry for Computer Imagery, September 1995.
27
[15] H. Mu ller and M. Stark. Adaptive Generation of Surfaces in Volume Data. The Visual
Computer, 9:182{199, 1993.
[16] G.M. Nielson and B. Hamman. The Asymptotic Decider: Resolving the Ambiguity in Marching Cubes. In IEEE, editor, Visualization'91, pages 83{90, San Diego, 1991.
[17] L. Perroton. A 26-connected object surface tracking algorithm. Geometrie discrete en
imagerie, fondements et applications, 1:1{10, September 1993.
[18] S. Ro ll, A. Haase, and M. von Kienlin. "Fast Generation of Leakproof Surfaces from
Well-Dened Objects by a Modied Marching Cubes Algorithm". Computer Graphics Forum,
14(2):127{138, January 1995.
[19] A. Rosenfeld, T.Y. Kong, and A.Y. Wu. "Digital Surfaces". CVGIP, 53(4):305{312, July
1991.
[20] J.K. Udupa. Multidimensional Digital Boundaries. CVGIP: Graphical Models and Image
Processing, 56(4):311{323, July 1994.
[21] J.K. Udupa and V.G. Ajjanagadde. Boundary and Object labelling in three-dimensional
images. CVGIP, 51:355{369, 1990.
[22] A. van Gelder and J. Wilhelms. Topological Considerations in Isosurface Generation. ACM
Transactions on Graphics, 13(4):337{375, October 1994.
[23] J. Wilhelms and A. van Gelder. Octrees for Faster Isosurface Generation. ACM Transactions on Graphics, 11(3):201{227, July 1992.
[24] G. Wyvill, C. McPheeters, and B. Wyvill. Data Structure for Soft Objects. The visual
Computer, 2:227{234, 1986.
[25] C. Zhou, R. Shu, and M.S. Kankanhalli. Selectively Meshed Surface Representation.
Computer & Graphics, 19(6):793{804, 1995.
28