# Manifold extraction from point clouds

Point clouds are produced by many applications such as 3D scanners or volume processing tools. If the points are located on a surface, it is interesting to explicitly extract this surface for further analysis.

The challenge is to design a method that

- extracts smooth "manifolds" from noisy point clouds
- does not need a-priori knowledge on the number of existing manifolds
- does not need other information than point coordinates
- robustly handles complex, (self)intersecting manifolds
- can handle very large point clouds efficiently

## Algorithm

We have developed an algorithm which complies with the above requirements. Its steps are as follows:

- compute normals for all possible "patch" orientations around each point
- cluster normals and patches using a Gauss map
- group clusters into point sets representing large, connected, smooth manifolds
- use ball pivoting to reconstruct each manifold separately

## Results

### Skeleton reconstruction

### Surface reconstruction

### Manifold extraction from noisy point clouds

## Discussion

The above algorithm has several desirable properties:

- a point can belong to one or more clusters, thus, manifolds. This allows transparent handling of self-intersecting manifolds
- since we output a set of independent manifolds, it is easy to select the "n" most important ones
*e.g.*based on surface. This is useful for extracting large surfaces from noisy point clouds - the clustering process can be stopped based on local conditions
*e.g.*angles. This allows controlling where a manifold stops - any surface reconstruction method can be used once we have points clustered in different sets

## Acknowledgements

This research is done in cooperation with Jacek Kustra (Philips Research) and Andrei Jalba (TU Eindhoven).