Abstract: Interactive needs of medical visualization require fast processing of huge amounts of data. There is a need for compact storage and efficient handling of the voxel input from CT and MRI machines. The linear octree data structure is an efficient representation technique which leads to less storage and is amenable to different kinds of geometric operations. This data structure is particularly useful in visualizing thresholded images which are binary images. There are several algorithms to generate a linear octree from binary voxel data with time complexity O(n$+3$/) for an input of size n$+3$/ voxels. We present an 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 n$+3$/ 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. We also show how this algorithm can be parallelized. !18
展开▼