Volume matching with application in medical treatment planning



Similar documents
Solving Geometric Problems with the Rotating Calipers *

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Arrangements And Duality

EM Clustering Approach for Multi-Dimensional Analysis of Big Data Set

Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park

TOOLS FOR 3D-OBJECT RETRIEVAL: KARHUNEN-LOEVE TRANSFORM AND SPHERICAL HARMONICS

THREE DIMENSIONAL GEOMETRY

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

Social Media Mining. Data Mining Essentials

Solving Simultaneous Equations and Matrices

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION

Binary Space Partitions

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

A unified representation for interactive 3D modeling

Identification algorithms for hybrid systems

Segmentation of building models from dense 3D point-clouds

2.3 Convex Constrained Optimization Problems

Intersection of a Line and a Convex. Hull of Points Cloud

BEHAVIOR BASED CREDIT CARD FRAUD DETECTION USING SUPPORT VECTOR MACHINES

Classifying Manipulation Primitives from Visual Data

Max-Min Representation of Piecewise Linear Functions

Optimal shift scheduling with a global service level constraint

State of Stress at Point

PHOTOGRAMMETRIC TECHNIQUES FOR MEASUREMENTS IN WOODWORKING INDUSTRY

Comparison of Non-linear Dimensionality Reduction Techniques for Classification with Gene Expression Microarray Data

Part-Based Recognition

The number of generalized balanced lines

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

R-trees. R-Trees: A Dynamic Index Structure For Spatial Searching. R-Tree. Invariants

ART Extension for Description, Indexing and Retrieval of 3D Objects

Persuasion by Cheap Talk - Online Appendix

Common Core Unit Summary Grades 6 to 8

ARTIFICIAL INTELLIGENCE (CSCU9YE) LECTURE 6: MACHINE LEARNING 2: UNSUPERVISED LEARNING (CLUSTERING)

Robust Outlier Detection Technique in Data Mining: A Univariate Approach

Section 1.1. Introduction to R n

Document Image Retrieval using Signatures as Queries

A HYBRID APPROACH FOR AUTOMATED AREA AGGREGATION

Surface bundles over S 1, the Thurston norm, and the Whitehead link

Data Warehousing und Data Mining

Optimal 3D Angular Resolution for Low-Degree Graphs

Vector storage and access; algorithms in GIS. This is lecture 6

multimodality image processing workstation Visualizing your SPECT-CT-PET-MRI images

Dimensionality Reduction: Principal Components Analysis

COMPUTATIONAL ENGINEERING OF FINITE ELEMENT MODELLING FOR AUTOMOTIVE APPLICATION USING ABAQUS

Binary Image Reconstruction

The Essentials of CAGD

ECE 533 Project Report Ashish Dhawan Aditi R. Ganesan

discuss how to describe points, lines and planes in 3 space.

Treemaps with bounded aspect ratio

Iris Sample Data Set. Basic Visualization Techniques: Charts, Graphs and Maps. Summary Statistics. Frequency and Mode

Lecture 3: Linear methods for classification

Linear Threshold Units

Data Exploration Data Visualization

Machine Learning and Pattern Recognition Logistic Regression

Multimedia Databases. Wolf-Tilo Balke Philipp Wille Institut für Informationssysteme Technische Universität Braunschweig

x 2 f 2 e 1 e 4 e 3 e 2 q f 4 x 4 f 3 x 3

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

New Hash Function Construction for Textual and Geometric Data Retrieval

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Categorical Data Visualization and Clustering Using Subjective Factors

Visualization of General Defined Space Data

Adaptive Online Gradient Descent

Medical Information Management & Mining. You Chen Jan,15, 2013 You.chen@vanderbilt.edu

Metrics on SO(3) and Inverse Kinematics

ON TORI TRIANGULATIONS ASSOCIATED WITH TWO-DIMENSIONAL CONTINUED FRACTIONS OF CUBIC IRRATIONALITIES.

Shortest Path Algorithms

3D Human Face Recognition Using Point Signature

AP Physics 1 and 2 Lab Investigations

DATA MINING CLUSTER ANALYSIS: BASIC CONCEPTS

Least-Squares Intersection of Lines

Essential Mathematics for Computer Graphics fast

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

Orthogonal Projections

Radiation therapy involves using many terms you may have never heard before. Below is a list of words you could hear during your treatment.

521493S Computer Graphics. Exercise 2 & course schedule change

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Multivariate Normal Distribution

Polyhedral Mesh Generation for CFD-Analysis of Complex Structures

Data Mining: Exploring Data. Lecture Notes for Chapter 3. Slides by Tan, Steinbach, Kumar adapted by Michael Hahsler

3. Linear Programming and Polyhedral Combinatorics

A System for Capturing High Resolution Images

Big Ideas in Mathematics

Using Excel (Microsoft Office 2007 Version) for Graphical Analysis of Data

Largest Fixed-Aspect, Axis-Aligned Rectangle

Strategic Online Advertising: Modeling Internet User Behavior with

arxiv: v1 [math.co] 7 Mar 2012

Learning in Abstract Memory Schemes for Dynamic Optimization

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh

Offline sorting buffers on Line

Medial Axis Construction and Applications in 3D Wireless Sensor Networks

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM

α = u v. In other words, Orthogonal Projection

A Sublinear Bipartiteness Tester for Bounded Degree Graphs

Statistical Machine Learning

G.H. Raisoni College of Engineering, Nagpur. Department of Information Technology

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Transcription:

Volume matching with application in medical treatment planning Yam Ki Cheung and Ovidiu Daescu and Steven Kirtzic and Lech Papiez Department of Computer Science The University of Texas at Dallas Richardson, Texas Email: {ykcheung,daescu,jsk061000}@utdallas.edu Graduate School of Biomedical Sciences The University of Texas Southwestern Medical Center at Dallas Dallas, Texas Email: Lech.Papiez@UTSouthwestern.edu Abstract Brachytherapy is an advanced cancer treatment method in which radioactive sources (seeds) are permanently placed in or near a tumor, giving a high radiation dose to the tumor while reducing the radiation exposure of the surrounding healthy tissues. The computation of seeds placement is a difficult problem that requires a significant amount of time to solve. One possible approach to get close to real time treatment planning is to reuse existing treatment plans, or precomputed solutions, if possible, since related tumors may have similar shape and size. In this paper we address the problem of matching an input object (tumor) against a repository of model objects associated with known treatment plans such that the overlap volume is maximized. We refer to the matching of objects based on maximum overlap as volume matching. I. INTRODUCTION Brachytherapy is an advanced cancer treatment method in which radioactive sources (seeds) are permanently placed in or near a tumor, giving a high radiation dose to the tumor while reducing the radiation exposure of the surrounding healthy tissues. Brachytherapy is commonly used to treat localized prostate cancer, cervical cancer, and cancers of the head and neck. The effectiveness of the method depends on precise placement of the seeds. Knowing the localization of the tumor and surrounding tissue, the placement of the seeds is done at the time the treatment planning phase, which is then followed by the actual seed implantation. The computation of seeds placement is a difficult problem that requires a significant amount of time to solve. Between the time the images used to compute the treatment plan are taken and the actual seed insertion procedure internal body anatomy may change due to local organ and tissue movement, which could lead to significant errors in seed placement. Thus, real time dynamic dosimetry optimization during the seed insertion procedure is desirable. However, so far there is no solution applicable in practice, due to the complexity of the computation. One possible approach to get close to real time treatment planning is to reuse existing treatment plans, or precomputed solutions, if possible, since related tumors may have similar shape and size. Such an approach would lead to solutions that approximate the optimal ones. If the quality of the approximation is good (i.e., the approximate solution is close to the optimal one) this should not be viewed as a significant drawback since tissue motion, swelling, and deformation during the seed insertion procedure already induce errors to an optimal treatment plan. Figure 1. An example of brachytherapy [3]. Assume that an optimal seed placement has already been computed and stored for a tumor T 1 of specific type, location, shape, and size and now we are dealing with a new tumor T 2 similar in type, location, shape, and size with T 1. Then, we expect that the locations of the seeds in an optimal plan for T 2 is close to the location of the seeds in an optimal plan for T 1. Thus, one can start with placing the seeds for T 2 as in the treatment plan for T 1 and then perform a local optimization, which can be done either by software or by the clinician in a fraction of the time required to compute an optimal treatment for T 2 from scratch. In this paper we address the following problem: Given an input object (tumor) match it against a repository of model objects associated with known treatment plans such that the overlap volume is maximized. For our problem the two matching objects have to be similar in shape as well as in size. As a result, one natural choice for the similarity measure is the maximum overlap between objects. Given two objects, we call the problem of finding the optimal rigid motion of one object to maximize the volume of their overlap the For our problem the two matching objects have to be similar in shape as well as in size. As a result, one natural choice for the similarity measure is the maximum overlap between objects. Given two objects, we call the problem of finding the optimal rigid motion (rotation and translation) of one object to maximize the volume of their overlap the maximum overlap problem (see Fig.2). We refer 978-1-4673-1321-6/12/$31.00 c 2012 IEEE 1

translation. We use vol( ) to denote the volume of an object. The Minkowski sum between two polyhedra P and Q is defined as P Q = {x+y x P, y Q}. We call P Q the translation space of P and Q, i.e. (P + t) Q for t P Q. Throughout the paper, we always translate P and keep Q stationary. We define the score function SC P,Q(t) of the match of P and Q as SC P,Q(t) = vol((p + t) Q). where t is a translation vector and t P Q. Figure 2. Maximum overlap between two polyhedra. to the matching of objects based on maximum overlap as volume matching. Most of the previous work on the maximum overlap problem deals with convex polygons in the plane. Mark de Berg et al. [8] give an O(n log n) time algorithm to maximize the overlap area under translation between two convex polygons, where n is the total number of vertices of the two polygons. For two simple polygons, Mount et al. [11] present an O(n 4 ) time algorithm to find the maximum overlap area. Allowing both translation and rotation, Ahn et al. [4] present a (1 )-approximation algorithm to find a rigid motion such that the overlap area is at leat (1 ) times the optimal. Their algorithm takes O((1/) log n + (1 + 2 ) log(1/)) time. In 3-dimensions, for find the maximum overlap volume between two given convex polyhedra P and Q, Ahn et al. [5] observed that the d th root of the overlap volume function is concave and presented an algorithm with expected running time O(n 3 log 4 n), where n is the total complexity of the two polyhedra. This method can be generalized to higher dimension with expected running time O(n d+1 3/n (log n) d+1 ), where d is the number of dimensions. The main drawback of the method is that it does not seem suitable for implementation. Our focus in this work is to develop methods that can be easily implemented, have good running times, and produce acceptable solutions. Matching objects under rotation generally is achieved by the standard principal component analysis (PCA), which computes the principal axes of the object, i.e. eigenvalues of the covariance matrix. Each object is aligned so that the principal axes match the system coordinate axes. Hence, we focus mainly on matching objects under translation after each object is properly aligned to the system coordinate axes. To this end, we propose a few practical approaches, for computing the maximum overlap between two objects, and a twophase shape retrieval framework based on volume matching. We have implemented most of the proposed methods and performed experimental results. The software developed will be assembled into a volume matching package, TV-MATCH, that we plan to make available for clinical investigation. Throughout the paper we use the following notations. Given two polyhedra P and Q in 3D and a vector t = (t x, t y, t z) in R 3, let (P + t) denote the polyhedron P under translation t and let (P + t) Q be the intersection between P and Q under such II. MAXIMUM OVERLAP BETWEEN RECTILINEAR POLYHEDRA The geometry of each tumor (object) is often obtained by magnetic resonance imaging (MRI). The tumor is first scanned at a number of (planar) cross sections, with constant spacing. Then, points are sampled around the contour of each cross section. In order to obtain an accurate volume matching between objects, modeling or reconstruction of the object from the set of sample points is crucial. In this section, we model each tumor as a rectilinear polyhedron and consider matching under translation. The object is reconstructed as follows. The contour (of the tumor) in each cross section is reconstructed by forming a rectilinear polygon based on sample points and the tumor is modeled as a union of layers of resulting rectilinear disks. The reconstructed rectilinear shape closely resembles the original shape if the spacing between consecutive cross sections and between consecutive sample points on each contour are sufficiently small. Let P and Q be two two rectilinear reconstructions of two objects. For simplicity, we assume that the translation vector is aligned to the x-axis, i.e. we fix t y, t z and translate P along x-axis. Since both P and Q are rectilinear, the score function SC P,Q(t) = vol((p + t) Q) is piecewise linear with respect to t x and the combinatorial structure of (P + t) Q remains the same until the slope of the score function changes. Observe that the slope of SC P,Q(t) changes only at X(u i + t) = X(v j), for some u i V (P ), v j V (Q), where X( ) denotes the x- coordinate of a point and V ( ) denotes the set of vertices of a polyhedron. The vectors that satisfy ( ) form a plane orthogonal to the x- axis in the translation space. We call this plane an event plane. Over all combinations of vertices of P and Q there are O(n 2 ) such event planes. Following the same argument, there are O(n 2 ) event planes orthogonal to the y-axis and O(n 2 ) event planes orthogonal to the z-axis. These event planes partition the translation space into O(n 6 ) cells. Given the fact that the score function is a linear function within each cell we can find an optimal translation vector at vertices of this partition. It is not difficult to see that the intersection of two rectilinear polygons can be computed in linear time. As a result, the intersection between two reconstructed rectilinear shapes can be computed in linear time as well. Theorem 1: The optimal overlap volume between two rectilinear polyhedra with a total of n vertices can be found in O(n 7 ) time by checking O(n 6 ) locations in the translation space. III. MAXIMUM OVERLAP BETWEEN TWO CONVEX POLYHEDRA BY SAMPLING In this section, we reconstruct the object by computing the convex hull of the raw sample points. The reason for using this model is three-fold. First, many tumors treated by brachytherapy ( ) 2

are generally almost convex in shape. Hence, the convex hull of the sample points should closely resembles the original shape. Second, the convex hull is a well-studied data structure and it is easy to compute. Third, the convex hull reduces the complexity of the reconstructed model when compared to the recliner reconstruction. A. An exact approach Similar to the case of the overlap between rectilinear polyhedra, the combinatorial structure of the intersection of the two convex polyhedra changes only at O(n 2 ) event planes. Note that these event planes are not necessarily axis-aligned. These event planes partition the translation space into O(n 6 ) polyhedral cells. A trivial approach would be to compute the arrangement of these planes and maximize the score function, which is a cubic function and can be computed in linear time, over each cell, which leads to an O(n 7 ) time algorithm. In [5], Ahn et. al. proposed a way to find the maximum overlap without explicitly computing the arrangement of event planes. They were able to find the cell which contains the maximum of the score function by performing a plane orientation test, which decides for a given plane on which side of the plane the maximum lies. In order to realize the plane orientation test, it is in turn necessary to realize a line orientation test: for a given query line in a plane the line orientation test tells on which side the maximum, restricted to that plane, lies. The running time is reduced to O(n 3 log 4 n). Even though exact algorithms for finding the maximum overlap between polyhedra were available for years, none of these algorithms are practical for implementation. In this section, we propose a fairly straightforward yet practical approach to approximate the maximum overlap between two convex polyhedra. B. An approximation algorithm Given two polyhedra P and Q and a small constant, we discretize the translation space P Q by a grid. We will show that there exists a translation vector on the grid which gives us an approximation of the maximum overlap between P and Q, and the approximation error is less than the constant. If we translate P by a small vector t, the score function SC P,Q(t) can change by at most t A, where A is the area of projection of P on a plane orthogonal to t. Let A xy, A xz, and A yz be the areas of projections of P on the xy-plane, xz-plane, and yz-plane, respectively and v x, v y, and v z be the three basis vectors along the three coordinate axes. We have, SC P,Q(t) SC P,Q(t + v x), A yz SC P,Q(t) SC P,Q(t + v y), A xz SC P,Q(t) SC P,Q(t + A xy v z). Hence, we can define a sample grid G P Q, such that the spacings along the x-, y- and z-axis are A yz, A xz and A xy, respectively. Lemma 1: For every translation vector t P Q, there exist a vector t G such that, SC P,Q(t) SC P,Q(t ) 3/2. Proof: Let t be the translation vector in G closest to t. We can reach t from t by three translations along the coordinate axes, which are at most 2A yz v x, 2A xz v y, and 2A xy v z, respectively. The score function changes by at most /2 due to each translation. By setting = 2/3, we can find a translation vector t G, such that SC P,Q(t ) SC P,Q(t ) where t is the optimal translation vector that maximizes the overlap volume between P and Q. Theorem 2: The maximum overlap volume between two convex polyhedra with a total of n vertices can be approximated in n/ 3 time. Note that the running time for this approach has a hidden constant factor A xya xza yz, which depends on the geometry of the shape. IV. HEURISTIC ALGORITHMS In this section, we discuss two heuristic algorithms for finding the maximum overlap volume using simulated annealing and iterative closest pair (ICP). A. A heuristic algorithm using simulated annealing Simulated annealing is a generic probabilistic heuristic algorithm that attempts to simulate the physical process of annealing. The concept is based on the manner in which liquids freeze or metals recrystalize in the process of annealing. In an annealing process a melt, initially at high temperature and highly disordered, is slowly cooled so that the system at any time is approximately in thermodynamic equilibrium. As cooling proceeds, the system becomes more ordered and approaches a frozen ground state at the end. Hence the process can be thought of as an adiabatic approach to the lowest energy state [1]. In our approach, the translation vector t defines the state of the system and the volume function resembles the energy level. In each iteration of the simulated annealing algorithm we consider some neighbor t of the current state t and probabilistically decide between moving the system to state t or staying in state t. This procedure is repeated until the system reaches a state that is good enough. The probability of making the transition from the current state t to a candidate new state t is specified by an acceptance probability function P (e, e, T ), that depends on the energies e = SC P,Q(t) and e = SC P,Q(t ) of the two states, and on a global timevarying parameter T, called temperature. In general, simulated annealing allows us to perform a random work in the translation space and evaluate the score function along the walk. When the temperature is high, the acceptance probability function allows the simulation process to jump out of a local optimum and explore regions nearby. As the temperature gradually cools down, the walk eventually settles at a local optimum. It is not difficult to see that the initial setup is crucial for increasing the probability of finding a satisfactory solution with simulated annealing. By experiments and trials, we observe that good approximate solutions are generally found near position at which the centroids (or centers of mass) of the two objects overlap. We initially position P and Q such that their centroids coincide. This also reduces the possibility of moving t close to the boundary of the translation space during the simulated annealing process, where the optimal solution is unlikely to be found. 3

B. A heuristic algorithm using iterative closest point (ICP) If the input objects are represented by sets of points we propose a heuristic approach that matches the two point sets directly using point set matching algorithms, known as the iterative closest pair (ICP). Then we compute the overlap volume between the convex hulls of the two sets or between their rectilinear representation. Note that ICP finds matching between point sets under rigid motions. In this paper, we assume objects are already properly aligned using PCA, we only discuss ICP under translation. Given two finite sets of points A and B, to measure how A resembles B, we want to find a translation vector t such that the root mean square of distances between points in A and their nearest neighbors in B is minimized., i.e. RMS(t) = 1 A a + t N B(a + t), a A where denotes the L 2 norm and N B(a) denotes the point in B closest to a. One well known point sets matching algorithm for finding the optimal translation vector t is ICP proposed by Besl and McKey [7]. The algorithm starts with an arbitrary translation. In the i th iteration, for each point a A, it computes the nearest neighbor in B to its translated position, i.e. N B(a + t i 1), where t i 1 is the translation vector computed in the previous interaction. A new relative translation vector t i is found, that minimizes the following cost function: 1 A a + t i 1 + t i N B(a + t i 1). a A The new translation after the i th iteration is i i = t + t i 1. There is an upper bound of O(n d m d ) on the number of iterations performed by the ICP algorithm in R d space, where n = A, m = B [9]. Alternatively, instead of using mean square root distance, we can also use another popular measure of the cost function called the one-sided Hausdorff distance. The one-sided Hausdorff distance between two point sets is defined as: φ(a, B) = max a NB(a) a A After computing the translation vector t for an optimal matching between point sets A and B we can compute the overlap volume between the convex hulls of the two point sets in that alignment, i.e. CH(A+t) CH(B), as a heuristic solution for the maximum volume matching problem between the two convex hulls. V. SHAPE RETRIEVAL FRAMEWORK A typical 3D retrieval framework consists of a database with an index structure created off-line and an on-line query engine [12]. In our case, for the off-line part, each object in the database has to be identified with a shape descriptor. A shape descriptor is a computational representation of objects, which gives compact, robust, and accurate descriptions of shapes. An indexing data structure is essential to enable efficient search, e.g. by sorting and indexing descriptors in lexicographical order. The on-line part consists of two parts: the shape matching engine and the volume matching engine. First, the shape matching engine computes the shape descriptor of the input object and matches it against the Figure 3. A shape retrieval framework. library. The shape matching engine returns a few candidate objects that resemble the input object. Then, the volume matching engine computes the maximum overlap volume between the input object and each candidate to determine the best match. See Fig. 3 for an illustration. There are many shape descriptors suitable for this application, e.g. minimum bounding box, geodesic/inner distance signatures, etc. We suggest two approaches, which allow us to overcome the problem of introducing time consuming rotations at the time matching is being performed. The first first descriptor we choose is the eigenvalues obtained by the principal component analysis (PCA). Principal component analysis computes the principal axes of the object, which are eigenvalues of the covariance/inertia matrix. Furthermore, PCA gives a properly alignment of each object under rotation by matching the principal axes to the system coordinate axes. The second descriptor we choose is the -approximate minimum volume enclosing ellipsoid. An ellipsoid is a higher dimensional analogue of an ellipse. Given a point set P R d we denote by E(P ) the enclosing ellipsoid of P of minimum volume, and call it the minimum volume enclosing ellipsoid of P. Minimum volume enclosing ellipsoids play an important role in several applications such as optimal design, computational geometry, convex optimization, computer graphics, pattern recognition, and statistics [13]. We say that an enclosing ellipsoid of P, E (P ), is an (1 + )- approximation of E(P ) or an -approximate minimum volume enclosing ellipsoid of P if E(P ) E (P ) and the volume of the E (P ) is within a (1 + ) factor of the volume of E(P ). An implementation of Khachiyan s algorithm [10] is available in CGAL [2]. Similar to PCA, the minimum enclosing ellipsoid gives a proper alignment of the shape by matching the three semi-axes to the x-,y-z-axes of the coordinate system. The lengths of the three semi-axes of E (P ) form a descriptor vector of P. Thus, we could use one of these two methods to deal with rotation in the shape matching phase and allow only translation for the volume matching phase. VI. IMPLEMENTATION AND EXPERIMENTAL RESULTS A. Implementation We have implemented the approximation algorithm using the CGAL library [2]. For each point set, we compute its convex hull using the quickhull algorithm. The functionality is provided by CGAL :: convex hull 3. The convex hull computed is then converted to a Nef-polyhedron, which is a boundary representation 4

(B-rep) data structure generated from a finite number of open halfspaces by set complement and set intersection operations. For each translation vector t, we evaluate the score function, i.e. vol((p +t) Q) as follows. The intersection polyhedron (P +t) Q is first computed using the intersection operation between Nefpolyhedra. We then convert (P + t) Q to the standard form in halfedge data structures, triangulate it and compute the volume of all simplices. For the lattice construction, we slightly deviate from the original plan. Clearly, there is a tradeoff between the size of the sampling grid and the execution time. In our implementation, we discretize the translation space using a [20 20 20] grid. That is, we test no more than 8000 translation vectors in the translation space. The reason behind our choice is that the number of contours sampled for each tumor we studied is generally less than 20. A grid with constant complexity does not guarantee that the approximation error is bounded to an arbitrarily small constant. However, it has resulted in satisfactory results in our experiments. Furthermore, a grid with constant complexity allows us to save significant execution time for degenerate inputs, e.g. elongated shapes, for which the grid size can be arbitrarily large. The two heuristic algorithms are also implemented using the CGAL library. The translation vector to match the two point sets can be computed efficiently using the 3D range/neighbor search data structure provided by CGAL. B. Experimental results In this section, experiments are conduced to evaluate the efficiency of different methods. The testing data being used are scans of real tumors. We use input data of 10 tumor and model each object as a convex polyhedron. The following tables (Table 1-5) show the computation time using the approximation algorithm and the two heuristic algorithms, respectively, and the difference (in percentage) between the overlap volumes computed by the approximation algorithm and the heuristic algorithms. All results are obtained on a PC with 2.8GHz CPU and 1GB RAM. The approximation algorithm gives the most reliable results. However, the approximation algorithm is slow, since it requires to repeatedly compute the overlap volume between two objects, which is a time consuming process. The Heuristic algorithm using ICP executes much more efficiently and gives results quite close, i.e. less than 10% in difference, to the ones given by the approximation algorithm in 26 out of 45 instances. Since the heuristic approach computes only one translation vector by ICP and only one overlap volume is computed for each matching. However, in some cases, the heuristic algorithms gives less satisfactory results with difference ratio up to almost 50%. The inaccuracy is due to two reasons. First, it is well known that the ICP algorithm does not guarantee a global optimal matching between the point sets. It may return a local optimal solution, instead. Second, a matching between point sets does not always translates to a good volume matching between the convex hulls of the two corresponding point sets. However, we still think that the heuristic algorithm is a good candidate for the volume matching engine, since matching results with high difference ratios are most likely produced by shapes that do not resemble each other, which will be rejected by the shape retrieval framework anyway. Since the heuristic algorithm using simulated annealing can generate different results on the same input, we executed this algorithm on each pair of objects three times and chose the best result. As the results show, the heuristic algorithm using simulated annealing gives results very close to the ones given by the approximation algorithm, except only a few instances, while using less than 1/10 of the execution time. However, this heuristic algorithm is still considerable slower comparing to the one using ICP. In Summary, we think both of the heuristic algorithms are good replacement for the approximation algorithm and can be used in the volume matching phase of the shape retrieval framework. It is up to the user to decide which algorithm to use based on the trade-off between execution time and accuracy of the solution. 1 3708.6 1637.7 1961.1 2707.2 2791.2 2158.5 3179.1 4112.5 2112.6 2-1463.5 1801.9 3048.9 2719.5 1908.7 3187 4660 1964.1 3 - - 1940.4 1292.2 1430.5 2315.1 1614.1 2237.5 2081.1 4 - - - 1486.8 1658.2 2368.6 1930.6 2556.9 2158.5 5 - - - - 2221.9 1808.4 2975.8 3075.4 1620 6 - - - - - 2043.4 2704.6 3464.2 1926.1 7 - - - - - - 2169.7 3155.8 2518.9 8 - - - - - - - 4321.6 2051.1 9 - - - - - - - - 2864.4 Table I THE EXECUTION TIME (sec) OF THE APPROXIMATION ALGORITHM. 1 8.43 4.24 5.18 5.92 5.98 5 6.82 8.14 5.05 2-3.82 4.7 5.87 5.42 4.53 6.5 7.82 4.79 3 - - 2.88 3.05 2.69 3.6 3.82 4.06 3.58 4 - - - 3.41 3.3 3.77 4.36 5.66 4.14 5 - - - - 3.89 3.48 5.24 6.04 3.57 6 - - - - - 3.19 5.07 5.61 3.23 7 - - - - - - 4.52 5.43 4.05 8 - - - - - - - 10.62 4.44 9 - - - - - - - - 5.81 Table II THE EXECUTION TIME (sec) OF THE HEURISTIC ALGORITHM USING ICP. 1-0.83 0.6 0.55-25.9-0.99-1.09-2.39-20.20 0.62 2-0.59 0.45-4.81-11.05-0.95-0.53-18.21 0.31 3 - - -49.89-24.13-23.73-7.28-16.34-18.92-11.73 4 - - - -33.63-39.54-23.85-44.60-9.25-8.31 5 - - - - -18.63-1.05-4.11-3.58 0.26 6 - - - - - -0.95-3.63-10.60 3.23 7 - - - - - - -33.19-29.53-23.84 8 - - - - - - - 0.69-2.72 9 - - - - - - - - 0.62 Table III THE DIFFERENCE (%) BETWEEN THE OVERLAP VOLUMES COMPUTED BY THE HEURISTIC ALGORITHM USING ICP AND THESE COMPUTED BY THE APPROXIMATION ALGORITHM. 1 417.15 132.6 186.96 252.33 300.39 117.67 319.39 351.88 183.54 2-105.18 160.46 258.98 174.6 187.56 229.31 302.76 156.15 3 - - 97.8 112.82 97.14 214.33 151.48 166.15 169.65 4 - - - 134.03 111.6 190.4 153.19 189.53 196.72 5 - - - - 143.19 123.4 246.29 231.42 167.02 6 - - - - - 111.18 268.09 225.35 190.53 7 - - - - - - 166.17 194.65 217.25 8 - - - - - - - 260.55 215.06 9 - - - - - - - - 178.96 Table IV THE EXECUTION TIME (sec) OF THE HEURISTIC ALGORITHM USING SIMULATED ANNEALING. 5

1 0.85 0 0-2.87 5.02-2.87 2.58 1.83-0.655 2-0 -1.96-4.14-2.02 0-0.73 1.56-57.89 3 - - -0.07 0-1.86-0.24 0 0 1.40 4 - - - 0-6.79-2.06-4.22-0.40-0.27 5 - - - - 1.28-18.96-2.26 2.30-1.68 6 - - - - - -2.10-0.52-8.51-1.76 7 - - - - - - 0 0-1.97 8 - - - - - - - -2.00-2.00 9 - - - - - - - - 0 Table V THE DIFFERENCE (%) BETWEEN THE OVERLAP VOLUMES COMPUTED BY THE HEURISTIC ALGORITHM USING SIMULATED ANNEALING AND THESE COMPUTED BY THE APPROXIMATION ALGORITHM. REFERENCES [1] http://www.cs.sandia.gov/opt/survey/sa.html [2] http://www.cgal.org/manual/3.3/doc html/cgal manual/ Bounded volumes ref/class Approximate min ellipsoid d.html [3] http://www.cpcn.org/01 brachytherapy.htm [4] H.K. Ahn, O. Cheong, C.D. Park, C.S. Shin, and A. Vigneron. Maximizing the overlap of two planar convex sets under rigid motions. Computational Geometry: Thoery and Application, 37:3-15, 2007. [5] H.K. Ahn, P. Brass and C.S. Shin. Maximum overlap and minimum convex hull of two convex polyhedra under tranlations. Computational Geometry: Thoery and Application, 40:171-177, 2008. [6] C.B. Barber, D. P. Dobkin, and H. Huhdanpaa. The Quickhull algorithm for convex hulls. ACM Transactions on Mathematical Software, 22(4):469-483, 1996. [7] P. Besl and N. McKay. A method for Registration of 3D Shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 14(2):239-256, February 1992. [8] M. de Berg, O. Cheong, O. Devillers, M. van Kreveld and M. Teilaud. Computing the maxmum overlap of two convex polygons under translations. Theory of Computing System, 31:613-628, 1998. [9] E. Ezra, M. Sharir and A. Efrat. On the performance of the ICP algorithm. Computational Geometry: Thoery and Application, 41:77-93, 2008. [10] L.G. Khachiyan. Rounding of polytopes in the real number model of computation. Mathematics of Operations Research, 21:307-320, 1996. [11] D.M. Mount, R. Silver and A.Y. Wu. On the area of overlap of translated polygons. Computer Vision and Image Understanding, 64:53-61, 1996. [12] J. Tangelder and R. Veltkemp. A Survey of Content Based 3D Shape Retrieval Methods. Proceedings of Shape Modeling International 2004, pp. 145-156, 2004. [13] M.J. Todd and E.A. Yildirim. On Khachiyan s Algorithm for the Computation of Minimum Volume Enclosing Ellipsoids. Discrete Applied Mathematics, 155(13):1731-1744, 2007. 6