Seeking Geometrically Valid Surfaces
Rub´en Pulido, Juan J. Jim´enez and F´elix Paulano
Computer Science Department, University of Ja´en, Escuela Polit´ecnica Superior, Edificio A3, Campus Las Lagunillas s/n,
23071 Ja´en, Spain
3D Medical Image, Surface Reconstruction, Planar Contours, Anatomical Structure Modelling.
Surface reconstruction from 3D medical images is fundamental for bio-medical applications. Nevertheless,
the generation of valid geometric surfaces is a difficult task due to the complexity of the structures necessary
to represent the human body. In this paper, we describe the main strategies concerning surface reconstruction
and planar contour extraction algorithms. In addition, we propose a new approach to surface reconstruction
from medical images. Our approach is divided into two main parts. In the first part, contour extraction is
performed using a hierarchical spatial decomposition. In the second part, these contours can be triangulated
using a table of patterns in order to obtain geometrically valid surfaces.
Over the years, medical images have been used for
medical diagnostic. These images can be used to ex-
tract features and structures and can be also extended
to three dimensions.
There are several sources to get three-dimensional
datasets from medical images such as Computed To-
mography (CT), Magnetic Resonance Imaging (MRI)
or Ultrasonic (US) techniques (Sachse, 2004). Medi-
cal images provide volume data and values that repre-
sent physical quantities, e.g. proton densities in MRI,
and attenuation coefficients in CT. In the context of
modelling, these values can be used to extract features
of a patient. Furthermore, each medical image type
presents special features that allow the classification
of different tissue types such as bone, muscle and fat.
Lots of studies have been presented during last
years in order to reconstruct three-dimensional sur-
faces form medical images. This enables the repre-
sentation of strucures present in the human body. In
this way, approaches based on iso-surfaces generation
(Lorensen and Cline, 1987) are often used because
of their simplicity in the implementation and because
they also provide suitable results for visualization
by using computer graphics techniques. There are
other approachesthat have been adapted from popular
methods in computationalgeometry such as Delaunay
triangulation and Voronoi diagram (Lv et al., 2009) or
approaches based on Hierarchical Space Subdivision
Schemes (Boubekeur et al., 2006).
Nevertheless, due to the complex structure of the
human body, there are several questions to consider of
these techniques. On the one hand, generating large
polygonaldatasets requiresa highcomputationalcost.
In addition, non valid geometry can be extracted be-
cause of the presence of holes and other artefacts.
Valid geometry is necessary for an appropriate inter-
action with the model (der Bergen, 2003). On the
other hand, simplified surfaces obtained from space
subdivision techniques are not well adapted in high
curvature areas.
In this work, we propose an alternative oriented
to seek valid geometry surfaces. This approach com-
bines the extraction of contours, using a hierarchical
spatial decomposition, and the triangulation between
these contours determined by a new set of cases. We
also determine the main problems of this approach
and propose a new method in spite of not being em-
pirically tested yet.
This paper is organised as follows. The next sec-
tion describes the main approaches to surface recon-
struction from volume data. In section 3 we mention
several techniques to improve the resulting surfaces
and perform different tests. Thereafter, in section 4
we propose a new surface reconstruction approach
based on a hierarchical spatial decomposition. The
conclusions are presented at the end.
Pulido R., J. Jiménez J. and Paulano F..
DOI: 10.5220/0003930501750181
In Proceedings of the International Conference on Computer Graphics Theory and Applications (GRAPP-2012), pages 175-181
ISBN: 978-989-8565-02-0
2012 SCITEPRESS (Science and Technology Publications, Lda.)
Many approaches have been presented in order to
reconstruct a surface from volume data. These ap-
proaches are mainly based on contouring techniques.
In the following, we describe the most known tech-
2.1 Iso-surface Reconstruction
Iso-surfaces are mainly used to rendering surfaces
that represent points in
of a constant value. In
case of medical images, volume data can be used to
generate large polygonal sets.
One of the most utilized methods for iso-surfaces
reconstruction is the Marching Cubes algorithm
(Lorensen and Cline, 1987). Marching Cubes takes
as input S
(where n is the number of slices) which
form a regular scalar volumetric data set. Then, lattice
points in adjacent slices Sk and S
(1 < k < n) are
studied in a sequential manner that considers cubes
composed of eight points. Marching cubes consider
15 patterns to compare with each cube and as result
can be generated until 5 triangles. In this way, March-
ing cubes provide a fast method to render complex
structures with high resolution.
2.2 Surfaces from Contours
Generally, a contour line can be generated connecting
points that have a constant value. There are two prob-
lems to solve. Firstly, how to find the equivalent value
points, and secondly how to connect them.
As in the case of iso-surface reconstruction,values
present on medical images make easier the classifica-
tion of the different tissues and can be used to find the
points to connect.
The connection of points for the contours extrac-
tion have been the subject of many works. How-
ever, two main methods are used when dealing with
medical images, marching squares and edge track-
ing. These methods are easy to implement and take
into account an iso-value to study the appearance of
boundaries and generate contour lines.
Marching Squares can be considered as a two-
dimensional version of the Marching Cubes algo-
rithm. This algorithm, based on a divide-and-conquer
approach, deal with four points cells that composed a
slice. Then, the possible cases are reduced to 16 com-
binations and as result until two contour lines can be
created. Nevertheless, disconnected segments can be
created, hence merging operations can be required.
Edge Tracking detects edge intersections. Bound-
ary points are detected and a contour line is generated
moving across cell boundaries until the contour line
closes back on itself (Zheng et al., 2008). Thus, as
opposite to Marching Squares, this algorithm always
provides closed contour lines.
Both the Marching Squares and the Edge Tracking
algorithms use interpolation techniques to get more
accurate results. On the other hand, both approaches
can present ambiguity cases that have to be solved
studying the contour segments continuity with their
neighbour segment contours.
Numerous techniques have been proposed
for reconstructing 3D surfaces from 2D con-
tours(Ganapathy and Dennehy, 1982; Meyers et al.,
1992; Klein et al., 1999). Nevertheless, it is not a triv-
ial problem to solve considering the high complexity
of the structures to be recognized as previously has
been mentioned.
We tested the Marching Cubes algorithm on a com-
puted tomography dataset corresponding to a hu-
man head using The Visualization Toolkit (VTK)
(Schroeder et al., 2006). The dataset was taken at 1
mm intervals at a resolution of 512x512 pixels. Iso-
surface was reconstructed, as depicted in figure 1,
considering an iso-value density of 1150 in order to
detect the bone structures.
Figure 1: Iso-surface generated by using Marching Cubes
algorithm and CT images.
A problem which arises is the complexity of the
models. There exist many approaches in the techni-
cal literature oriented to simplify the generated ge-
ometry(Mocanu et al., 2011). We applied an algo-
rithm based on vertex decimation (Schroeder et al.,
1992) and progressive meshes (Hoppe, 1996) to re-
duce the total number of triangles preserving a good
approximation to the original geometry. The results
are shown in figure 2.
GRAPP 2012 - International Conference on Computer Graphics Theory and Applications
(a) (b) (c) (d)
Figure 2: Simplification of geometry. a) original mesh (2.252.628 triangles). b) original mesh with decimation factor = 0.25
(1.689.471 triangles). c) original mesh with decimation factor = 0.5 (1.126.313 triangles). d) original mesh with decimation
factor = 0.75 (563.157 triangles).
After that, we also tested a better adjustment of
the mesh by using Laplacian smoothing (Bade et al.,
In addition to the model complexity problem, the
results can be erroneous because of ambiguity cases.
These cases produce iso-surfaces with holes.
At this point, in spite of there are other approaches
oriented to improve the Marching Cubes algorithm
(Newman and Yi, 2006) and especially to solve the
ambiguity problem (Gueziec and Hummel, 1995;
Nielson and Hamann, 1991), we decided to test the
Marching Squares algorithm to extract contours in
two dimensional space.
Figure 3 shows a CT image and the contours lines
which are generated through Marching Squares. Ini-
tially, the contours are composed of line segments
without connectivity. Hence, these line segments
must be processed to form closed polylines.
Figure 3: Contour extraction by using Marching Square al-
gorithm and a CT image.
Nevertheless, different issues have to be consid-
ered if we want to generate surfaces from these two
dimensional contours. To start with, the correspon-
dence problem is concerned to determine the topo-
logical relationship between two planar contours that
are obtained from adjacentslices. This problem arises
whenever multiple contours appear in a slice. To
solve it, we organize the contours into groups where
each contour represents an individual object. In addi-
tion, if there are contours inside of others they are re-
jected in order to get only a external surface. Second,
the tiling problem is concerned to generate the best
geometry between the points on pairs of adjacent con-
tours where their correspondence is assumed. In this
case, we can use an approach that set the matching
points in successive contours from a toroidal graph
(Fuchs et al., 1977). Furthermore, it applies a divide-
and-conquer technique to speed the search represent-
ing contours by ordered lists of data points. Third,
the branching problem arises when there are differ-
ent number of contours in adjacent sections that rep-
resent only a structure and these have to be joined.
Finally, the surface-fitting problem is concerned to fit
the best surface by solving the above problem. As
far as this problem are concerned, we can use smooth
methods, as previously showed, once triangulatedsur-
face is generated to improve the results.
To summarize, in figure 4 is shown the main
stages of the process of surface reconstruction using
the previously mentioned approaches.
3D Medical Image
Surface from
Marching Cubes
Marching Squares/
Edge tracking
Correspondence problem
Tiling problem
Branching problem
Figure 4: Stages of different approaches to reconstruct a
surface from volume data.
Geometrically Valid Surfaces
We have mentioned several approaches oriented to the
surface reconstruction problem from medical images.
In this work, we propose a new approach that
combines a contouring technique using a hierarchical
spatial decomposition with a table of cases to perform
the triangulation between contours.
The methodology of this approach can be divided
into two main phases. First, we need to extract con-
tours from each medical image. To achieve this, the
iso-value that corresponds to the tissue to locale is set.
Then, an originpointmust be calculated in order to di-
vide the image area by a tri-tree structure. This struc-
ture and the located tissues are used to extract closed
contours. Second, we need to join these contours by
a triangulation method based on a table of cases.
4.1 Tri-tree Structure Adaptation
A tri-tree (Jim´enez et al., 2009) is an hierarchical
space decomposition defined in the whole space. At
its first level, the tri-tree divides the entire space into
four tri-cones. In the following levels of the hierar-
chy, each of the tri-cones is homogeneous divided in
two new tri-cones (see figure 5).
Figure 5: Representation of the division of a tri-cone.
Nevertheless, the tri-tree decomposition is slightly
modified in order to cover all the image area. Consid-
ering the tri-tree centre as the midpoint of a square
image, the second level tri-cones are generated reach-
ing the corners of the source image. Finally, at deeper
levels, the tri-cones are truncated to the limits of the
image. In figure 6, a tri-tree applied to a medical im-
age is shown.
Figure 6: Tri-tree spatial decomposition over a medical im-
age. Tri-cones of levels 1, 2 y 3 are shown.
The tri-tree is subdivided until reaching a maxi-
mum level of subdivisions. This level is previously
defined. This type of spatial decomposition allows us
to get contour lines with different levels of detail.
4.2 Contour Extraction
A new approach is presented to extract contour lines.
To start with, we need to select a starting point from
the image. This point is used to generate the straight
lines which divide the image area and delimit all tri-
cones. Then, the points of the image intersecting with
the tri-cone lines give us information about the pres-
ence of tissues sought. Finally, these tri-cone lines
are analysed in a circular direction in order to join the
tissue areas and extract the contour lines.
4.2.1 Tri-tree Construction
First at all, we need to set a starting point of the image
as a centre of the tri-tree.
To perform it, we consider an iso-value V
a range of iso-values [V
] concerning the
hounsfield units that correspondent to the tissue
sought. These threshold values are used to discard
the rest of points.
Once tissue points has been located, tissue points
are used to set the centre of the spatial decomposi-
tion. At this point, we considered two possibilities.
The first possibility is to calculate the centroid of all
tissue points. The main inconvenientis that the longer
the distance from the points to the centre, the worse
the result. Hence, a greater spatial decomposition is
required for accurate results. The second possibility
is to detect all regions by using an edge tracking al-
gorithm (Zheng et al., 2008) and set a starting point
for each one. This option requires the construction
of a tri-tree for each region. This can also produce
different number of tri-cones from adjacent medical
images and it does not allow the correspondence be-
tween them. Thus, we used the first option.
The next step is the generation of the straight lines
through the image. This allows us to extract an array
of tissue segments for each line. These segments pro-
vide information about the starting and ending point
and the tissue density. In order to generate them, we
can use a rasterization algorithm as the digital differ-
ential analyzer (Foley et al., 1990).
4.2.2 Methodology
The generation of contours is based on the study of
the tissue segments located throughthe shared lines of
neighbouring tri-cones. As we mentioned, these lines
are traversed circularly to join the different tissue seg-
ments. We consider a simple case when there are the
same number of tissue segments located on each line.
GRAPP 2012 - International Conference on Computer Graphics Theory and Applications
In that case, the following algorithm summarizes the
contouring process:
Input: Tri-tree lines
Output: Contours
-Tri-tree lines with the same number of tissue
-Number of tissue segments > 0
FOR each tissue segment in a tri-tree line
Create the external and internal contour
FOR each tri-tree line
Get final point of the segment
Get init point of the segment
Add final point to the external contour
IF init point != centre of tri-tree THEN
Add init point to the internal contour
Add external contour to the contours
IF internal contour has points THEN
Add internal contour to the contours
RETURN array of contours
In figure 7, a simple case and the contours gener-
ated from a medical image are shown.
bone area
bone area bone area
Figure 7: Contouring by using tri-tree over a CT image of
the head area. a) located segments associated to bone tissue.
b) external and c) internal generated contour.
Different regions and aisled structures can also ap-
pear in a medical image. To deal with it, we need
to find dividing lines that separate them or abrupt
changes concerning to the tissue segments located on
adjacent lines. Once a dividing line is detected, we
have to go back to the previous line and determine
the next contour point. Finally, the tri-cones line are
traversed in the opposite direction composing the con-
tour until its first point is reached.
Complex structures can lead to many tissue seg-
ments for each tri-tree-tree line. Thus, the following
issues must be studied in order to obtain the maximun
information from adjacent lines: the number of tis-
sue segments, the location of each tissue segment, the
length of each tissue segment and the density of the
points between neighbouring tissue segments.
4.3 Geometry Generation from
Once the construction of the tri-tree is performed and
contours are obtained from the 3D medical images,
we need to join them by generating a geometry data
set. To achieve it, we propose to compare how the
contours cross the tri-cones of adjacent images. The
main aim is to seek only the external contour of a re-
gion. Once its triangulation is performed, that con-
tours are discarded and we must continue the triangu-
lation of their internal contours.
On the one hand, we consider 5 base cases, as
depicted in 8, concerning the presence of point and
contour segments in a tri-cone. On the other hand,
these cases can produce a lot of combinations be-
tween them. Thus, we performed a comprehensive
study of different situations presented. Many cases
can be simplified and reduced by using symmetry
properties. As a result, we obtained a pre-calculated
table of 13 patterns that can be used to determine the
triangulation between tri-cone contours (see figure 9).
Case 1
(1 contour point)
Case 2
(1 contour segment)
Case 3
(1 contour segment)
Case 4
(2 contour segments)
Case 5
(2 contour segments)
Figure 8: Table of simple cases of contours on a tri-cone.
4.3.1 Issues to Study
In the reconstruction process we have to deal with
several issues. First, the branching problem arises
in many structures. Thus, we need a higher spatial
decomposition in order to aisle the different regions
of a structure. We can also analyse the shape of the
contoursof adjacent images, trying to find association
patterns between them. Furthermore, extra points can
be generated to connect these branching structures.
Geometrically Valid Surfaces
Case 1 (1 triangle) Case 2 (2 triangles) Case 3 (2 triangles)
Case 4 (2 triangles)
Case 5 (1 triangle) Case 6 (1 triangle)
Case 7 (2 triangles) Case 8 (3 triangles)
Case 9 (2 triangles)
Case 10 (2 triangles) Case 11 (4 triangles) Case 12 (5 triangles)
Case 13 (4 triangles)
Figure 9: Table of triangulation patterns and number of tri-
angles generated.
Second, the triangulation of contours could produce
open structures in their superior and inferior ends. In
some cases, we could use the centre of the tri-tree to
triangulate the ends of the structures. In other cases,
we could use extra points situated into the contours to
triangulate and close them. Third, there are structures
with internal holes. We should detect these holes and
generate surfaces to represent them. Finally, we have
to deal with ambiguity cases. In these cases, we need
to study internal and neighbouring points of the con-
tours in order to solve it.
We have described the main approaches used for sur-
face reconstruction from volume data. Results of sev-
eral of these techniques and improving test have been
presented. The main problems of these tests have
been analysed. Finally, we have also proposed a new
approach oriented to reconstruct surfaces geometri-
cally valid from volume data. This approach is based
on a spatial decomposition and its main aim is to get
a geometric data set easily, efficiently and robustly.
This work has been partially supported by the
Ministerio de Ciencia e Innovaci´on and the Euro-
pean Union (via ERDF funds) through the research
project TIN2011-25259and by the University of Ja´en
through the research project UJA2010/13/08 spon-
sored by Caja Rural de Ja´en.
Bade, R., Haase, J., and Preim, B. (2006). Comparison of
fundamental mesh smoothing algorithms for medical
surface models. In In Simulation und Visualisierung.
Boubekeur, T., Heidrich, W., Granier, X., and Schlick, C.
(2006). Volume-surface trees. Computer Graphics
Forum (Proceedings of EUROGRAPHICS 2006).
der Bergen, G. V. (2003). Collision Detection in Interactive
3D Environments. Elsevier.
Foley, J., van Dam, A., Feiner, S., and Hughes, J. (1990).
Computer Graphics: Principles and Practice, second
edition. Addison-Wesley Professional.
Fuchs, H., Kedem, Z. M., and Uselton, S. P. (1977). Op-
timal surface reconstruction from planar contours.
In Proceedings of the 4th annual conference on
Computer graphics and interactive techniques, SIG-
GRAPH ’77, pages 236–236. ACM.
Ganapathy, S. and Dennehy, T. G. (1982). A new general
triangulation method for planar contours. SIGGRAPH
Comput. Graph., 16:69–75.
Gueziec, A. and Hummel, R. (1995). Exploiting triangu-
lated surface extraction using tetrahedral decompo-
sition. Visualization and Computer Graphics, IEEE
Transactions on, 1(4):328 –342.
Hoppe, H. (1996). Progressive Meshes. Computer Graph-
ics, 30:99–108.
Jim´enez, J. J., Feito, F. R., and Segura, R. J. (2009). A
new hierarchical triangle-based point-in-polygon data
structure. Computers & Geosciences, 35(9).
Klein, R., Schilling, A., and Strasser, W. (1999). Recon-
struction and simplification of surfaces from contours.
In Computer Graphics and Applications, 1999. Pro-
ceedings. Seventh Pacific Conference on.
Lorensen, W. E. and Cline, H. E. (1987). Marching cubes:
A high resolution 3d surface construction algorithm.
COMPUTER GRAPHICS, 21(4):163–169.
Lv, S., Yang, X., Gu, L., Xing, X., Pan, L., and Fang,
M. (2009). Delaunay mesh reconstruction from 3d
medical images based on centroidal voronoi tessella-
tions. In Computational Intelligence and Software En-
gineering, 2009. CiSE 2009. Int. Conference on.
Meyers, D., Skinner, S., and Sloan, K. (1992). Surfaces
from contours. ACM Trans. Graph., 11:228–258.
Mocanu, B., Tapu, R., Petrescu, T., and Tapu, E. (2011).
An experimental evaluation of 3d mesh decimation
techniques. In Signals, Circuits and Systems (ISSCS),
2011 10th International Symposium on, pages 1 –4.
GRAPP 2012 - International Conference on Computer Graphics Theory and Applications
Newman, T. S. and Yi, H. (2006). A survey of the march-
ing cubes algorithm. Computers and Graphics (Perg-
amon), 30(5):854–879.
Nielson, G. and Hamann, B. (1991). The asymptotic de-
cider: resolving the ambiguity in marching cubes. In
Visualization, 1991. Visualization ’91, Proceedings.,
IEEE Conference on, pages 83 –91, 413.
Sachse, F. (2004). 5. digital image processing. In Com-
putational Cardiology, volume 2966 of Lecture Notes
in Computer Science, pages 91–118. Springer Berlin /
Schroeder, W., Martin, K. M., and Lorensen, W. E. (2006).
The Visualization Toolkit: An Object-Oriented Ap-
proach to 3D Graphics. Kitware, Inc.
Schroeder, W. J., Zarge, J. A., and Lorensen, W. E. (1992).
Decimation of triangle meshes.
Zheng, L., Li, G., and Zhu, H. (2008). The generation
algorithm of tissue contour lines in medical image.
In Bioinformatics and Biomedical Engineering, 2008.
ICBBE 2008. The 2nd International Conference on.
Geometrically Valid Surfaces