Cricket's sound advice, smile and support from her and Paul helped me through so many difficult times. To build a model of the coffee mug, you would have needed to start with silly putty in a donut shape, not a round ball.
General setting
In the previous example of the coffee cup and the brain, the coffee cup is genus 1 and the brain is genus zero. A non-separating cycle is shown on the coffee cup handle (dashed yellow cycle).
Framework and motivation
The interplay of geometry and topology
This interplay of geometry and topology is inherent in the discrete nature of surfaces used in computer graphics. However, this number alone does not provide a complete picture of the surface topology.
Introduction to the algorithms
Localizing and coding topology
However, there is a direct relationship between topology and surface geometry that cannot be ignored. Surface handles are encoded in an extended Reeb graph, allowing easy identification and isolation within a surface.
Measuring feature size
On the left is a figure of an extended Reeb graph used to identify handles and the corresponding handle on the surface. On the right is a close-up of some of the 104 handles on the Buddha statue highlighted in red.
Re-sampling topology: preserving genus and simplifying genus
The image on the left shows two possible inseparable cycles on the torus, while the image on the right shows two actual discrete inseparable cycles found on the geometric model of the torus. We have developed methods to simplify the topology for both the mesh setup and the volume setup, each tailored for its own setup.
Brief discussion of the applications
Isosurface topology simplification
These algorithms can be used together to build applications that improve the utility and accuracy of geometric models. The image on the left shows that the fine detailed geometry of the model is not changed to simplify the topology.
Mesh topology simplification/Topological noise removal
Semi-regular mesh extraction from volume data
Adaptive refinement constructs a better and better fit with a mesh of semi-regular (subdivision) connectivity and an explicit multi-resolution structure (bottom). To extract a semi-regular mesh, we need to start with a coarse base mesh with the same global topology as the desired isosurface.
Contributions
The locally minimum-length non-separating cycles are effectively detected for handles on the surface. This targeted approach to changing the topology preserves the fine geometry of the surface as much as possible.
Acquired Data
Summary
- Simplicial complexes
- Triangle meshes
- Scalar volumes
- Surfaces as graphs
The sign of the distance encodes whether the vertex is inside or outside the surface. Without loss of generality, we assume that the surface of interest is the zero volume isocontour.
Topology
- Historical and mathematical context
- Morse theory
- Reeb graphs
- Some useful definitions
- Morse theory
- Reeb graphs
One of the key tools used to study the topology of spaces is Morse theory. More precisely, the number of critical points is equivalent to the Euler property of the surface: χ= #minima−#saddle points+ #maxima.
Cutting meshes open
Cut graphs
Polygonal schema
Given two initial non-separating loops on a torus, their method could be used to tighten the loops to the shortest length. This algorithm could be used as an alternative to our proposed method to find the shortest non-disjoint cycles, given an initial pair of cycles. Both methods make use of tiling the surface (also called a universal covering) to find the shortest path, and both methods compute the loops in polynomial time.
However, our method generates two non-separating cycles of shorter length for each local handle, while the method of Colin de Verdi`ere and Lazarus can be used to tighten existing rings.
Topology simplification
Mesh-based topology simplification
We also present an improved topology simplification method for meshes and an algorithm to operate on the volume data, since an isosurface will always remain a manifold even after topological repair is applied to the volume data. Methods that measure handles by only evaluating the area within a ball or sphere will not detect long thin handles (except when using large ones).
Volume-based topology simplification
Model simplification
Methods that measure handles by only evaluating the area within a ball or sphere will not detect long thin handles (except when using large ones). . finer detailed geometry will disappear). These methods can result in non-multiple structures that would impede parameterization just as much as the original topological artifacts. In addition, because these methods simultaneously simplify geometry and topology, the removal of topological artifacts invariably involves loss of geometric detail.
Computational topology for computer graphics
Genus is a global invariant for the surface and its scalar value gives us one measure of the complexity of the surface, (eg a genus zero shape is much less complex than a surface withg = 100). For the field of computer graphics, great care is taken with the geometry of a surface, since the geometry plays such an important role in determining the appearance of a surface. For example, let us return to the question of computing the genus of a discrete 2-manifold.
During the reconstruction, we want to be able to choose to keep or simplify topological features of the re-sampled surface.
Localizing topology
- Identifying topology
- Morse functions
- Height function and immersion
- Face-by-face traversal
- Constructing level sets
- Intra-ribbon handles
- Coding the topology
- Reeb graph
- Augmented Reeb graph
- Contour construction
- Ribbon construction
- Asserting Reeb graph consistency
- Detecting handles
- Isolating handles
- Combinatorial considerations
- Pseudo-code for detection and isolation
There is a direct correlation with the level sets of a surface changing and changes in the topology of the surface. In the discrete setting, we will only construct level sets necessary to capture all the topology of the surface. Such a construction results in a Reeb graph where each cycle corresponds to a handle on the surface.
Each of the handles that we consider corresponds to a cycle in the extended Reeb graph.
Measuring feature size
Problem statement
To find the minimal length Reeb loop (shown in blue), we need to explore all pairs of child contours with the same component label (i.e. {c1, c2},{c1, c3}and{c2, c3}where the minimum -length Reeb loop is associated with {c1, c2}).
Loops
Overview: two non-separating cycles
- General idea
- Shortest cycles
- Measure of handle sizes
- Measurement alternatives
We construct a non-separating cycle of locally shortest length that follows the Reeb cycle by computing the shortest path from one side of such a contour to the other. In the cylinder this corresponds to calculating the shortest path from the top of the cylinder to the bottom. After running these two passes of the shortest path algorithm, we have found two non-separating transverse cycles of shortest length for the torus.
Number of tilings We can prove that we only need a limited number of tilings of the handle to find the shortest path.
Resampling topology
Handle removal
- Triangle meshes
- Volume
- Considerations
First, let's consider re-sampling the surface topology to remove excess handles. To remove one of the handles from Figure 4.17, we reduce the number of non-separating cycles for the surface. By collapsing a non-separating cycle, we conceptually fill up the inside of a handle, or squeeze the handle open (Figure 4.17), reducing the sex of the surface.
Topologically, the handle can always be closed along this loop, reducing the genus of the model.
Handle retention
Coarse Mesh Construction Details The Reeb graph provides everything needed to construct a coarse mesh from a discrete set of level sets. Specifically, by carefully choosing which level sets to include in the reconstruction and then stitching the level sets together, a rough sampling of the surface can be constructed. The desired coarseness of the mesh can be controlled by adding criteria for contour selection.
Two views of some of the distance contours (at multiples of an integer distance) for the cat dataset.
Conclusion
On the left is a close-up of the cat's tail, showing an accurate reconstruction of the two gloves. With the algorithms presented in Chapter 4 we are able to build a variety of applications to improve the usability and accuracy of digital models for computer graphics applications. Once these scans have been obtained, surface reconstruction is applied and the model is represented as a discrete 2-manifold.
Thus, many of the acquired surface models used in computer graphics are either represented in a scalar volume or as a triangulated manifold.
Simplifying topology
In volumes
- Our approach
- Locating handles
- Measuring topological handle size
- Removing handles
- Results and discussion
- Applications
- Discussion
- Summary
Generally, we use the smaller of the two cycles as a measure of handle size. This length corresponds to the extent of the cut along the surface required for loop closure. The timing of our algorithm depends on the size of the volume and on the number of handles.
For most of the models, the excess topology has loop lengths in the range 4–8.
For meshes
- Topological noise removal for meshes
- Overview of the algorithm
- Algorithm
- Region growing
- Cutting the mesh
- Global procedure and preprocessing
- Results
- Conclusions
To find small handles, we keep track of the level sets within the ball. After excluding a common tail of these two paths, we have a closed path in the dual graph of the active region. Note that this path is entirely within the currently active mesh area.
These large areas are seeded in the preprocessing step on randomly selected faces of the original mesh (in practice, taking a percentage of the original number of faces gives good results).
Mesh topology simplification revisited
This is due to the fact that the smoothing operators cannot modify the mesh topology and the presence of these small handles impairs the smoothing process by limiting its effects. After the strip and contour construction, the proximity of the contours and strips to the surface are used to determine the correct edges to add to the augmented Reeb plot. After processing the distance contours and adding all appropriate edges to the augmented Reeb graph, we check for critical levels of the distance function.
Global traversal and extended Reeb graph ensure that we will find every topology present in the network, and locally minimum length inseparable cycles provide a more accurate measure of handle sizes.
Hierarchical surface reconstruction
In volumes
- Motivation
- Coarse mesh extraction
- Distance function propagation and Reeb graph
- Mesh construction from the Reeb graph
- Discussion
As each contour is constructed, the appropriate edges of the Reeb graph are added to the preceding contours. One of the advantages of this approach is the low memory overhead for the Reeb chart view. In the case of an O(n3) volume, the storage requirement for propagating the distance function is O(n2), as it depends on the size of the surface.
The only other data we need to store for generating the coarse mesh depends on the contours in the Reeb plot and isO(n).
Conclusion
The handles can subsequently be efficiently identified during the traversal of the surface as cycles in the extended Reeb graph as it is incrementally built up (see next section). Additionally, we guarantee that the number of cycles in the extended Reeb graph for each interval matches the genus of the surface traversed so far. Geometric properties of the surface are encoded in the extended Reeb graph, which allows isolating geometrically concise handles within the original surface.
Using the smaller of the two non-separating cycles for each handle changes the topology of the surface only in a small local area.
Future explorations
Examples of geometric models used for various applications
Coffee cup and brain
Close-up view of an extraneous handle
Buddha with excess topology
Localizing a handle
Example of non-separating cycles
Progressive mesh of the David head
Overview of semi-regular mesh extraction
Scalar volume
Voxel
Critical points for a function of two variables
Illustration of height planes on a sphere and torus
Critical points and height planes
Torus and example Reeb graph
The star of two different vertices
A grounded simplex
Two different sized handles
Handle decomposition
Example saddle points
Example of immersion
Face-by-face operations
Example of an intra-ribbon handle
Ambiguous change in two level sets
Arbitrary sampling
Isosurface and Reeb graph
Example Reeb graphs
Isolating handles
Example of finding a Reeb cycle
Two holed torus
Canonical generator loops
Reeb loop
Example of loops on a handle
Possible tilings of a handle
Handle removal
Loops on the feline mesh
Distance function on the feline
Stitching
Examples of coarse meshes
Genus zero Buddha
Progressive meshes of a brain
A remesh of the genus one dragon
Geometry image of the genus one dragon
Labeled cortex models
Texture map comparison
Histogram
Scatterplot
Progressive meshes of dragon
Topological noise removal overview
Handle detection and removal
Cutting the mesh
Smoothing result
Texture mapped ear
Example of a series of semi-regular meshes
Example of a surfel and following its active edges
Distance function propogation on a surfel