This repository contains tools for reconstructing, processing and evaluating point clouds and triangular surface meshes. The code is based on several scientific publications and makes heavy use of CGAL.
All tools have a couple of common command line parameters. To get a more complete and detailed list of all possible parameters use the help command.
Sample points on a surface mesh using a virtual scanning procedure, e.g. for Deep Surface Reconstruction from Point Clouds with Visibility Information. You can vary the number of scanned points and cameras, and add noise and outliers to the point cloud.
Extract points, normals and sensor positions from an OpenMVS project file and save them as arrays in a numpy .npz
file.
Reconstruct a 2-manifold surface mesh from a point cloud with visibility information using the algorithm presented in Labatut et al. 2009.
Extract features from a visibility augmented 3D Delaunay triangulation for DGNN. If a ground truth file is specified, ground truth occupancies for each cell of the 3D Delaunay triangulation will also be exported.
Transform a 3D Delaunay triangulation with cell occupancies as computed by feat
or DGNN to a surface mesh.
Estimate (oriented) normals for a point cloud using different algorithms implemented in CGAL.
Sample points on a surface mesh.
Apply the edge collapse algorithm implemented in CGAL to simplify a triangle surface mesh.
- Boost (>= v1.6.5, install with
sudo apt install libboost-all-dev
) - CGAL (>= v5.1.1)
- ZLIB (for reading and writing
.npz
files, install withsudo apt install zlib
) - xtensor (for reading and writing
.npz
files) - xtensor-io (for reading and writing
.npz
files)
- OpenMVS (for loading point clouds from an OpenMVS project)
- COLMAP (for loading point clouds from a COLMAP project) TODO: needs to be fixed
- Open3D (for Marching Irregular Tetrahedra)
git clone git@github.com:raphaelsulzer/mesh-tools.git
cd mesh-tools
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DTOOLX=ON
make -j
where TOOLX
is the name of a tool listed above.