Using an Approximation to the Euclidean ... - Computer Science

13 downloads 13288 Views 467KB Size Report
IOS Press 2005 ... deformation of abdominal organs in surgical simulation using an approximation of the ... The application software makes calls to our proprietary object oriented software toolkit ... b0(t) = 1/6(-t3 + 3t2 - 3t +1) b1(t) = 1/6(3t3 - 6t2 + 4) ... Modeling", Proceedings of the Medicine Meets Virtual Reality Conference, ...
596

Medicine Meets Virtual Reality 13 James Westwood et al. (Eds.) IOS Press 2005

Using an Approximation to the Euclidean Skeleton for Efficient Collision Detection and Tissue Deformations in Surgical Simulators Roger WEBSTER, Ph.D.1, Matt HARRIS1, Rod SHENK1, John BLUMENSTOCK1, Jesse GERBER1, Chad BILLMAN1, Aaron BENSON1, Randy HALUCK, M.D.2 1

Department of Computer Science, Caputo Hall, Millersville University, Millersville, PA. USA 17551 2 Department of Surgery, Penn State College of Medicine, Milton Hershey Medical Center, Hershey, PA USA 17033 Abstract. This paper describes a technique for efficient collision detection and deformation of abdominal organs in surgical simulation using an approximation of the Euclidean skeleton. Many researchers have developed surgical simulators, but one of the most difficult underlying problems is that of organ-instrument collision detection followed by the deformation of the tissue caused by the instrument. Much of the difficulty is due to the vast number of polygons in high resolution complex organ models. A high resolution gall bladder model for instance can number in the tens of thousands of polygons. Our methodology utilizes the reduction power of the skeleton to reduce computations. First, we recursively compute approximations to the Euclidean skeleton to generate a set of skeletal points for the organ. Then we pre-compute for each vertex in each polygon the associated skeleton point (minimal distance discs). A spring is then connected from each vertex to its associated skeleton point to be used in the deformation algorithm. The data structure for the organ thus stores for each skeletal point its maximum and minimum distances and the list of associated vertices. A heuristic algorithm using the skeleton structure of the instrument and the skeleton of the organ is used to determine instrument collisions with the organ.

1. Introduction This paper describes an efficient method for performing real-time collision detection and object deformation in surgical simulations. Our method utilizes the reduction power of the skeleton to reduce computations for collision detection and deformation. The skeleton is used to speed up the detection of collisions, and to handle deformations. The skeleton is created by recursively computing approximations to the Euclidean skeleton to generate a set of skeletal points for the organ. The refined approximation skeleton is then fit to a Bezier curve to smooth out the data points and ensure an equally spaced distribution of points. A data structure is built containing information about each skeleton point, the associated vertices, and a hierarchy of

597

R. Webster et al. Using an Approximation to the Euclidean Skeleton

Figure 1. (left) Gallbladder model (right) Wireframe showing real-time tool-tissue deformation.

Figure 2. (left) Skeleton points (right) Wireframe showing skeleton points with connector springs attached to all vertices associated with the skeleton point.

springs for use in the deformation algorithm. Collision detection utilizes the adjacency information included in the skeleton data structure to prune away vertices and faces from consideration. 2. Methods and Tools The software runs on a conventional Windows XP™ workstation with a 2.0 GHz Pentium™ processor (or higher) and an OpenGL™ graphics accelerator such as the Nvidia Geforce™ board. The application software makes calls to our proprietary object oriented software toolkit called MUOpenGL, which is an easy to use API (Application Programmers Interface) that calls OpenGL™ graphics routines. The toolkit provides additional functionality on top of OpenGL™ and has various objects and methods to rapid prototype simulation systems. The skeleton is created by gathering approximated distance information for a finite set of interior points in the model. For each interior point, the Euclidean distance to the closest point of each face of the model is calculated, grouping together exterior points that are equidistant within some epsilon of error. A heuristic algorithm is used to determine the interior points whose group of closest exterior points is distributed on opposite sides of the model. These interior points form the first approximate skeleton.

598

R. Webster et al. Using an Approximation to the Euclidean Skeleton

The algorithm is then recursively rerun on the approximate skeleton points at progressively higher resolutions to improve the accuracy of the skeletal points. Finally, the approximated skeleton is fit to a cubic Bezier spline to smooth out the data points and ensure an evenly distributed set of skeleton points. Each vertex in the model is then attached to a skeleton point by a Hookian spring. For every skeleton point, the distance of its farthest associated vertex is saved. Collision detection is done by first calculating the distance from the colliding object to each skeleton point. If the distance is greater than the maximum distance for that skeleton point, then all of the vertices associated with that skeleton point are pruned away from consideration. If the distance is less than the maximum distance, then triangle intersection tests are performed against the tool and faces that contain vertices attached to the skeleton point. When collisions occur, vertices are translated along the vector towards their skeleton point, with neighbors being progressively deformed based upon vertex displacement. To smooth the skeletal points we use a Bezier cubic spline function of the form: B fi(t) = ∑ Ci-k Bk (t) with basis polynomials k=0 3 2 b0(t) = 1/6(-t + 3t - 3t +1) b1(t) = 1/6(3t3 - 6t2 + 4) b2(t) = 1/6(-3t3 + 3t2 + 3t +1) b3(t) = 1/6(t3) Acknowledgments This project is funded, in part, by the National Science Foundation under grant number EIA-0116616, the Noonan Grants Program, the Willard O. and Dr. Catherine Gibson Havemeier Endowment in Computer Science, MU Faculty Grants program, and by the Penn State University College of Medicine.

References/Literature [1] H. Blum, “Biological Shape and Visual Science”, Journal of Theoretical Biology, 38 (1973) 205-287. [2] Richard Robb, "An Axial Skeleton Based Surface Deformation Algorithm for Patient Specific Anatomic Modeling", Proceedings of the Medicine Meets Virtual Reality Conference, MMVR 2000, Newport Beach, California, January 20-24, 2000, IOS Press, pps. 53-58. [3] G. Borgefors, I. Nystrom, and G. S. D. Baja, “Computing Skeletons in Three Dimensions”, Pattern Recognition, 32:1225-1236, 1999 [4] H. Li and A.M. Vossepoel, “Generation of the Euclidean Skeleton by a Bisector Decision Rule on a twoShortest-Vector Distance Map”, in: H.J.A.M. Heijmans, J.B.T.M. Roerdink (eds.), Mathematical Morphology and its Applications to Image and Signal Processing, Computational Imaging and Vision Series, vol. 12, Kluwer, Dordrecht, 1998, 151-158. [5] T.C. Lee and R. L. Kashyap, “Building Skeleton Models via 3-D Medial Surface/axis Thinning Algorithm” CVGIP: Graphical Models and Image Processing, 56(6): 462-478, November 1994. [6] Roger Webster, R. Haluck, B. Mohler, R. Ravenscroft, E. Crouthamel, T. Frack, S. Terlecki, J. Sheaffer, "Elastically Deformable 3D Organs for Haptic Surgical Simulators", Proceedings of the Medicine Meets Virtual Reality Conference, MMVR 2002, Newport Beach, California, January 23-26, 2002, IOS Press, pps. 570-572.

Suggest Documents