UCLA Level Set Project
Level Sets
Project Leads: Joseph Teran and Craig Schroeder
|
The goal of this project is to implement a common library for performing state-of-the-art algorithms related to level set methods. The library will leverage Ronald Fedkiw's PhysBAM C++ library for computational geometry, scientific computing and computer graphics. This library was originally developed at Stanford University, but has grown to include researchers from many universities and companies. Notably, Intel will be sponsoring a significant portion of these efforts. The PhysBAM library will form the basis for the level set algorithms developed. Current computational architectures are in a state of flux, the most salient feature of future computing paradigms is unarguably parallelism. This library will be designed with parallel computation in mind and thus support MPI, P-Threads, OpenMP, etc. implementations. Ideally, the functionality of the base PhysBAM library will provide invaluable building blocks needed to design a sustainable, common code environment to help accelerate the development and dissemination of level set techniques implemented in future massively parallel architectures. |
Subprojects
Reinitialization
|
The signed distance property of a level set function is very advantageous and can be of essential importance for a number of applications. It is very common that the discrete level set representation will lose this property during some part of an algorithm. For example, when advecting a level set in velocity field the signed distance property is quickly lost. This project is intended to provide implementations of algorithms for construction and reinitialization of signed distance functions. There are many different reinitialization algorithms with a variety of feature sets. Possible algorithms for this project include WENO/ENO based methods, fast marching, and fast sweeping. |
Visualization
|
The zero isocontour of a level set defines the surface of interest for most computations. However, explitly building a discrete geometric representation of the interface can be difficult as the level set representation only implicitly defines the surface information. This project is intended to provide utilities for visualizing level set isocontours. Possible algorithms include marching cubes and dual contouring. |
Sharp Advection Methods
|
The implicit nature of the level set typically requires an Eulerian approach to evolution in an external flow field. Often, numerical viscosity associated with such methods can lead to volume loss. Many approaches have been used to combat this effect including particle level set methods and grid based particle methods. |
TV minimization
|
TV minimization has proven to be very useful in a number of optimization based algorithms. Such minimizations have proven to be very natural with level set methods. This subproject will work to support functionality needed level set evolution in such problems. |