Efficient linear octree generation from voxels

Abstract The linear octree is an efficient data structure for compact representation of voxel data. There are several algorithms to generate a linear octree from voxel data with time complexity O(n3) for an input of size n3 voxels. We present a new algorithm which first extracts the surface of the object. Based on this surface data, the object is partitioned into a set of parallelepipeds where each parallelepiped is a contiguous run of voxels along one axis. Starting from the lowest level of the octree, the algorithm proceeds iteratively to the highest level, computing maximal overlaps of the parallelepipeds at each level. For any level, the voxels which are not in the overlap are octree nodes and are output at that level. The maximal overlapped parallelepipeds form the input to the next higher level in the algorithm. For a connected object having n3 voxels, the algorithm has a time complexity of O(S) where S is the size of the surface of the object. The algorithm has been implemented and tested for a variety of medical data.

[1]  Varol Akman,et al.  Building an Octree from a Set of Parallelepipeds , 1985, IEEE Computer Graphics and Applications.

[2]  Clifford A. Shaffer,et al.  Optimal quadtree construction algorithms , 1987, Comput. Vis. Graph. Image Process..

[3]  Donald Meagher,et al.  Geometric modeling using octree encoding , 1982, Computer Graphics and Image Processing.

[4]  David C. Mason,et al.  Efficient linear quadtree construction algorithm , 1990, Image Vis. Comput..

[5]  Irene Gargantini,et al.  An effective way to represent quadtrees , 1982, CACM.

[6]  Mohan S. Kankanhalli,et al.  Generating a linear octree from voxel data for a connected object , 1992, Medical Imaging.

[7]  Hanan Samet,et al.  Efficient octree conversion by connectivity labeling , 1984, SIGGRAPH.

[8]  Hanan Samet,et al.  An Algorithm for Converting Rasters to Quadtrees , 1981, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[9]  Hanan Samet,et al.  The Design and Analysis of Spatial Data Structures , 1989 .

[10]  Jane Wilhelms,et al.  Octrees for faster isosurface generation , 1990, SIGGRAPH 1990.

[11]  Jayaram K. Udupa,et al.  Fast surface tracking in three-dimensional binary images , 1989, Comput. Vis. Graph. Image Process..

[12]  Hanan Samet,et al.  Applications of spatial data structures , 1989 .

[13]  Hanan Samet,et al.  Hierarchical data structures and algorithms for computer graphics. I. Fundamentals , 1988, IEEE Computer Graphics and Applications.

[14]  Renben Shu,et al.  A 3D surface construction algorithm for volume data , 1991 .

[15]  Thomas S. Huang,et al.  A survey of construction and manipulation of octrees , 1988, Comput. Vis. Graph. Image Process..

[16]  Lee Westover,et al.  Interactive volume rendering , 1989, VVS '89.

[17]  Hanan Samet,et al.  Hierarchical data structures and algorithms for computer graphics. II. Applications , 1988, IEEE Computer Graphics and Applications.