Elsevier

Graphical Models

Volume 70, Issues 1–2, January–March 2008, Pages 16-31
Graphical Models

Topological simplification of isosurfaces in volumetric data using octrees

https://doi.org/10.1016/j.gmod.2007.06.002Get rights and content

Abstract

Volumetric data, such as output from CT scans or laser range scan processing methods, often have isosurfaces that contain topological noise—small handles and holes that are not present in the original model. Because this noise can significantly degrade the performance of other geometric processing algorithms, we present a volumetric method that removes the topological noise and patches holes in undefined regions for a given isovalue. We start with a surface completely inside the isosurface of interest and a surface completely outside the isosurface. These surfaces are expanded and contracted, respectively, on a voxel-by-voxel basis. Changes in topology of the surfaces are prevented at every step using a local topology test. The result is a pair of surfaces that accurately reflect the geometry of the model but have simple topology. We represent the volume in an octree format for improved performance in space and time.

Introduction

Three-dimensional volume data sets have become very popular in recent years, due to advances in 3D medical imaging and other scanning techniques. There are many methods of visualizing volumetric data, but a popular one is extracting a mesh that represents the boundary of the object (an isosurface or level set) using a method such as marching cubes [1]. The benefits of extracting a mesh include all the processing that can be done on meshes to enhance visualization, such as texture mapping and simplification. However, many algorithms for these purposes get bogged down in details in the mesh that are not important to visualization such as small handles and holes. We call these details topological noise because they artificially increase the genus of the model, often to a great extent, and they typically appear due to inaccuracies in scanning procedures.

We begin with a volumetric representation of a single component, three-dimensional object whose topology we wish to clean up. This representation consists of samples on a regular rectangular grid—for example, samples of the density of the object or of the distance to the object’s surface. Each sample is considered the center of a voxel—a closed solid cube. Each voxel is considered to be on the inside or on the outside of the object, depending on whether the sample value is above or below the isovalue. The voxel data are obtained directly from a process that gives volume data as output, such as medical imaging (CT and MRI scans) or the volumetric procedure for merging laser range scans described by Curless and Levoy [2]. After our procedure is finished, we still have a volumetric representation of the object, one that is very similar to the original input, except that the topological complexity of the object is under control. If the desired genus is known a priori, the user can specify the number of topological features the object is supposed to have. Otherwise a threshold on the size of the features can be specified. In either case, the topological noise is eliminated by cutting or patching over the small handles. This is accomplished by changing a small number of inside voxels to outside or a small number of outside voxels to inside. If there is any subvoxel information stored in the samples, for example the distance to the object surface, we retain this information for the output, except for the voxels that are changed. These samples are set to values that indicate a location slightly on the other side of the surface. The volume is now ready for mesh extraction.

Since volume data sets can be quite large, we implemented an octree representation and procedure to save memory. Some volume data sets contain unknown regions, but this is not a problem for our technique because it automatically constructs a well-defined sense of inside and outside for every voxel, so the extracted mesh will not only have controlled topology but will also be watertight.

Topologically simple models are important in many applications, such as texture mapping [3], simplification [4], compression, mapping between surfaces, and new techniques such as that of Zhang et al. [5]. For example, there are many methods of mesh simplification, but if the user wants the simplification to preserve the manifold structure of the mesh, the topology of the mesh must also be preserved. An example of this is Hoppe et al.’s [6] mesh simplification using edge contraction. The topology preservation can be desirable except when there is topological noise that the user wishes to be simplified away. Fortunately, our technique removes all the small handles but retains the meaningful topological features. Thus, when topology simplification is used as a preprocess to mesh extraction, there is no need to worry about getting bogged down in the topological noise during mesh simplification.

Section snippets

Related work

The most recent, most closely related work to our own is Wood et al.’s technique [7], [8] that simplifies the topology of an isosurface of a volume data set. They identify the topological noise in the volume data by constructing a Reeb graph for the entire volume and then identifying cycles in the Reeb graph. Handles smaller than a user-defined threshold are then patched or cut. This technique has very nice control over whether handles are patched or cut, but it is somewhat slow because

Approach

Our approach builds on our earlier work [9]. The basic approach described there is to start with the set of all voxels inside a box bounding the object. Note that this set contains all the voxels inside the object and that the boundary of this set is a topological sphere. Now from this volume we whittle away voxels on the boundary until we hit the surface of the object. However, a voxel is never carved if the carving would produce a change in topology. This is verified using a local check of

Results

We used a 2 GHz Pentium 4 with 2 GB of RAM as our test system. Some results are summarized in Table 1. The times refer to just the carving and adding procedure, not the construction of the octree or the extraction of the output mesh (lines 2–15 of Algorithm 1). The “eight” model is a volume containing the signed distance to the double torus depicted in Fig. 1. The brain (Fig. 15) data set is an MRI scan from the Stanford volume data archive. The colon data (Fig. 11) is a CT scan obtained from

Conclusion and future work

To sum up, we see that using a simple and fast voxel-carving procedure and an octree data structure it is possible to control the topology of large models. We also see that the voxel-carving order greatly influences the shape of the handle patches and cuts. We presented a procedure that uses distance from the model surface as a compromise between ease of implementation, automation, and quality of the patches. Many other approaches could be taken. For example, an interface could be built to

References (32)

  • Z. Aktouf et al.

    A 3D-hole closing algorithm

    Pattern Recognition Letters

    (2002)
  • W.E. Lorensen et al.

    Marching cubes: a high resolution 3D surface reconstruction algorithm

    ACM Computer Graphics

    (1987)
  • B. Curless, M. Levoy, A volumetric method for building complex models from range images, in: Proc. SIGGRAPH 1996, 1996,...
  • P. Sander, J. Snyder, S. Gortler, H. Hoppe, Texture mapping progressive meshes, in: Proc. SIGGRAPH 2001, 2001, pp....
  • M. Garland et al.

    Surface simplification using quadric error metrics

  • E. Zhang et al.

    Feature-based surface parameterization and texture mapping

    ACM Transactions on Graphics

    (2005)
  • H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, W. Stuetzle, Mesh optimization, in: Proc. SIGGRAPH 1993, 1993, pp....
  • Z. Wood, H. Hoppe, M. Desbrun, P. Schröder, Isosurface topology simplification, Tech. Rep. MSR-TR-2002-28, Microsoft...
  • Z. Wood et al.

    Removing excess topology from isosurfaces

    ACM Transactions on Graphics

    (2004)
  • A. Szymczak, J. Vanderhyde, Extraction of topologically simple isosurfaces from volume datasets, in: Proc. IEEE...
  • Z. Aktouf et al.

    A 3D-hole closing algorithm

  • X. Han, C. Xu, J.L. Prince, A topology preserving deformable model using level sets, in: Proc. IEEE Computer Society...
  • X. Han et al.

    Topology preserving geometric deformable models for brain reconstruction

  • C. Van Overveld, B. Wyvill, Shrinkwrap: an adaptive algorithm for polygonizing an implicit surface, Tech. Rep....
  • A. Bottino, W. Nuij, C. Van Overveld, How to shrinkwrap through a critical point: an algorithm for the adaptive...
  • J. El-Sana et al.

    Topology simplification for polygonal virtual environments

    IEEE Transactions on Visualization and Computer Graphics

    (1998)
  • Cited by (0)

    This work was supported by the National Science Foundation under Grant No. 0138420.

    View full text