
Fast and Accurate Redistancing by Directional Optimization Matt Elsey Selim Esedo¯glu September 6, 2012 Abstract A fast and accurate algorithm for the reinitialization of the signed distance function in two and three spatial dimensions is presented. The algorithm has computational complexity O(N log N) for the reinitialization of N grid points. The order of accuracy of the reinitialization is demonstrated to depend primarily on the interpolation algorithm used. Bicubic interpolation is demonstrated to result in fourth-order accuracy for smooth interfaces. Simple numerical examples demonstrating the convergence and computational complexity of the reinitialization algorithm in two and three dimensions are presented as verification of the algorithm. 1 Introduction n The signed distance function dΣ(x) to a set Σ ⊂ R (possibly consisting of multiple connected components) returns the standard Euclidean distance to the boundary ∂Σ of Σ with a sign bit indicating whether the point x is inside or outside of Σ: infy∈∂Σ|x − y|, x ∈ Σ dΣ(x)= (1) (− infy∈∂Σ|x − y|, x ∈/ Σ The signed distance function arises in a number of contexts in scientific computing. For example, it is well known that evolving interfaces via the level set method can cause profiles of the level set function to become too steep or too flat, leading to instabilities. Replacing the distorted level set function φ by the signed distance function to the zero-level set of φ occasionally can alleviate this problem. In addition, there are algorithms such as the signed distance function- based diffusion-generated curvature motion, proposed in [9] and developed in the multiphase setting in [6, 7, 8], that require the efficient and accurate construction of the signed distance function at every time step. It is of particular interest to be able to accurately and efficiently compute dΣ(x) from an arbitrary level set representation φ(x) satisfying Σ= {x : φ(x) ≥ 0}, (2) which is termed the reinitialization [3] of φ(x). In this work, we present a fast (O(N log N) on N grid points) and arbitrarily accurate algorithm for reconstructing the signed distance function from a level set representation of Σ. Our implementation of the algorithm using bicubic inter- polation obtains O(∆x4) accuracy for grid spacing ∆x given smooth interfaces. The algorithm is closely related to Dijkstra’s algorithm [5] for finding shortest paths in a graph, the control theoretic approach of Tsitsiklis [24], and to the fast marching method of Sethian [17]. Indeed, the latter two of these are equivalent in their most basic form. These algorithms are revisited in Section 2 to set the stage for the algorithm proposed here. Intuitively, the proposed algorithm is based on the following ideas: 1 1. If a good estimate for the closest point on the interface ∂Σ to a given grid point is known, we can exploit the fact that the distance to the interface is the length of a line segment connecting them, and optimize locally the coordinates of the closest point to obtain a very accurate value for the distance, while using interpolation to represent the level set function near the zero level set. 2. A good estimate for the closest point to each grid point can be obtained from an ordered update scheme on the fly (fast marching style), where the update information passed is the closest point on the interface to a neighboring grid cell whose distance to the interface has already been fixed by the algorithm. As usual, information from the most trustworthy neighbor is utilized. 3. The algorithm can be made arbitrarily high order simply by swapping the interpolation used in representing the level set function in a neighborhood of its zero level set, without having to deal with high order difference quotients. Taken individually, ideas similar to these can be found in the literature. An interpolation-based optimization is proposed and implemented in [4], but only utilized near the interface; essentially, as a new way to initialize the standard fast marching algorithm. The idea of propagating closest point information is suggested in [22], but only for a limited class of interfaces: isolated points and piecewise linear interfaces. In this context, proper closest point information is sufficient to compute the exact distance to the interface without any need for interpolation or optimization. The new algorithm proposed in this paper differs from previous algorithms in that the distance to the interface ∂Σ is directly computed via directional optimization, described fully in Section 3, rather than by solving equations which depend on previously calculated values of d at nearby grid cells. Instead, the local information obtained from neighboring grid cells via the ordered update scheme is used only to provide the directional optimization routine with an initial search direction. 2 Previous Work The signed distance function (1) arises as a solution to a simplified version of the eikonal equation, which is defined by |∇u(x)| = g(x), x ∈ Ω, (3) subject to the boundary condition u(x) = φ(x), for x ∈ Γ ⊂ Ω. (1) arises when g(x) ≡ 1, φ(x) ≡ 0, and Γ= ∂Σ. There are two major approaches to reinitialization. First is the PDE-based approach pi- oneered in [14, 20] and improved in [2, 15], which advocates calculating the signed distance function d(x) as the steady-state solution of dt = sgn(φ)(1 − |∇d|), (4) with initial condition d(x, 0) = φ(x). Steady states to (4) have |∇d| = 1 almost everywhere, and maintain the restriction that d(x) > 0 iff. φ(x) > 0. Solutions are numerically computed by discretizing (4) and numerically integrating until a steady-state is achieved. These schemes can converge quickly when φ ≈ d, as information is preserved far from the interface Γ. A major drawback of these schemes is that the entire function d is updated at each time step. This becomes very computationally demanding when many time steps are needed to achieve a steady state. The second approach includes well-known algorithms such as Dijkstra’s algorithm [5], Tsit- siklis’s algorithm [24], and the fast marching method [17]. These approaches attempt to solve the boundary value problem |∇d| =1 (5) 2 subject to the constraint d(x) = 0 on Γ by propagating information outwards from the interface via an ordered update scheme. The basic structure of this scheme can be described as a three-part procedure: 1. Initialize F = ∅ to be the set of grid points for which d(x) is fixed, and T = {all grid points} to be the set of grid points whose value is tentative. Set d(x) = sgn(φ(x))·∞ for all x ∈ T . 2. For each grid point in a neighborhood of the interface, assign its signed distance d(x) via some interpolation scheme designed to leave the interface unmoved. Move all of these points from T to F . Update the values d(x) of all first-neighbors x to the interface points in F via UPDATE, leaving these points in T . 3. While T is non-empty, move the “minimal” element y ∈ T , defined by |d(y)| ≤ |d(x)| for all x ∈ T , to F , and update the values of all first-neighbors of y via UPDATE. Assuming that UPDATE is an O(1) (or even O(log N)) process, the runtime of this class of algorithms is O(N log N) when a heap structure is used to manage ordering of the elements in T . The difference between Dijkstra’s algorithm, the fast marching method, Tsitsiklis’s algorithm, and the directional optimization method proposed here is in the details of UPDATE. Dijkstra’s algorithm was initially proposed for finding shortest paths in a graph, where edges between vertices are all assigned weights. If first-nearest neighbors on a uniform grid (four in 2D, six in 3D) are considered to have edges between them, with edge weight 1, Dijkstra’s algo- rithm gives the ℓ1 (taxicab) distance. Providing additional edge connectivity (with appropriate weighting) allows for better approximation of the standard Euclidean metric, albeit at the cost of additional work. For the basic fast marching method, UPDATE consists of solving a quadratic equation related to a first-order accurate upwind discretization of (5). On a uniform grid, this update is exactly the same as that proposed by Tsitsiklis. These methods can be applied to the wider class of problem described by the eikonal equation, with arbitrary “speed” function f(x) = g−1(x). A simple piecewise formula for the solution of this quadratic is presented in [25]. Higher-order versions of the fast marching method can be obtained by the use of more accurate approximations to the gradient. Second-order accurate versions are described and demonstrated in [18, 19]. The interpolation-based initialization proposed by Chopp [4] allows for even higher-order versions of the scheme, requiring larger stencils for the high-order accurate discretization of derivatives. The fast sweeping method [23, 25] uses a similar update to the fast marching method but takes advantage of the fact that there are a limited number of directions in which information can propagate. In this algorithm, one simply “sweeps” over the grid in appropriate patterns a fixed number of times (the number depends on the dimensionality of the problem and, for general Hamilton–Jacobi equations, the speed function f(x)), resulting in an algorithm which has optimal complexity scaling O(N). Recently, Benamou et al. [1] have obtained a second-order accurate version of fast sweeping while using a simple 9-point stencil. However, the authors state that they do not expect their approach to be generalizable to higher-order methods. We refer the reader to Chapter 7 of the book of Osher and Fedkiw [13] for a more complete history of reinitialization algorithms.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages12 Page
-
File Size-