SURFACE RECONSTRUCTION FROM 3D MEDICAL IMAGES

BASED ON TRI-TREE CONTOURING

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, Ediﬁcio A3, Campus Las Lagunillas s/n,

23071 Ja´en, Spain

Keywords:

3D Medical Image, Surface Reconstruction, Planar Contours, Anatomical Structure Modelling.

Abstract:

Surface reconstruction from 3D medical images is fundamental for bio-medical applications. Nevertheless,

the generation of valid geometric surfaces is a difﬁcult 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 ﬁrst 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.

1 INTRODUCTION

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 coefﬁcients 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 classiﬁcation

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, simpliﬁed 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.

175

Pulido R., J. Jiménez J. and Paulano F..

SURFACE RECONSTRUCTION FROM 3D MEDICAL IMAGES BASED ON TRI-TREE CONTOURING - Seeking Geometrically Valid Surfaces.

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

Copyright

c

2012 SCITEPRESS (Science and Technology Publications, Lda.)

2 PREVIOUS WORK

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-

niques.

2.1 Iso-surface Reconstruction

Iso-surfaces are mainly used to rendering surfaces

that represent points in

3

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

n

(where n is the number of slices) which

form a regular scalar volumetric data set. Then, lattice

points in adjacent slices Sk and S

k+1

(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 ﬁnd 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 classiﬁca-

tion of the different tissues and can be used to ﬁnd 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.

3 IMPROVING TECHNIQUES

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 ﬁgure 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 ﬁgure 2.

GRAPP 2012 - International Conference on Computer Graphics Theory and Applications

176

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

Figure 2: Simpliﬁcation 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.,

2006).

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-ﬁtting problem is concerned to ﬁt

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 ﬁgure 4 is shown the main

stages of the process of surface reconstruction using

the previously mentioned approaches.

3D Medical Image

Iso-surface

Reconstruction

Contours

Extraction

Surface from

Contours

Smooth

Surface-fitting

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.

SURFACE RECONSTRUCTION FROM 3D MEDICAL IMAGES BASED ON TRI-TREE CONTOURING - Seeking

Geometrically Valid Surfaces

177

4 SURFACE FROM CONTOURS

BASED ON TRI-TREES

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 deﬁned in the whole space. At

its ﬁrst 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 ﬁgure 5).

Figure 5: Representation of the division of a tri-cone.

Nevertheless, the tri-tree decomposition is slightly

modiﬁed 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 ﬁgure 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

deﬁned. 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

c

or

a range of iso-values [V

min

,V

max

] concerning the

hounsﬁeld 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 ﬁrst 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 ﬁrst 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

178

In that case, the following algorithm summarizes the

contouring process:

BASIC CONTOURING ALGORITHM

Input: Tri-tree lines

Output: Contours

Preconditions:

-Tri-tree lines with the same number of tissue

segments

-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

END IF

END FOR

Add external contour to the contours

IF internal contour has points THEN

Add internal contour to the contours

END IF

END FOR

RETURN array of contours

In ﬁgure 7, a simple case and the contours gener-

ated from a medical image are shown.

bone area

s1

bone area bone area

s2

s3

s4

s5

s6

s7

s8

s9

s10

s11

s12

s13

s14

s15

s16

p1

p2

p3

p4

p5

p6

p7

p8

p9

p10

p11

p12

p13

p14

p15

p16

p1

p2

p3

p4

p5

p6

p7

p8

p9

p10

p11

p12

p13

p14

p15

p16

(a)

(b)

(c)

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 ﬁnd 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 ﬁrst 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

Contours

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 simpliﬁed 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 ﬁgure 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 ﬁnd association

patterns between them. Furthermore, extra points can

be generated to connect these branching structures.

SURFACE RECONSTRUCTION FROM 3D MEDICAL IMAGES BASED ON TRI-TREE CONTOURING - Seeking

Geometrically Valid Surfaces

179

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.

5 CONCLUSIONS

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, efﬁciently and robustly.

ACKNOWLEDGEMENTS

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.

REFERENCES

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 simpliﬁcation of surfaces from contours.

In Computer Graphics and Applications, 1999. Pro-

ceedings. Seventh Paciﬁc 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

180

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 /

Heidelberg.

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.

SURFACE RECONSTRUCTION FROM 3D MEDICAL IMAGES BASED ON TRI-TREE CONTOURING - Seeking

Geometrically Valid Surfaces

181