The mesh_opt program implements the normal correction and position optimization stages described in the paper:
Efficiently Combining Positions and Normals for Precise 3D Geometry
Nehab, D.; Rusinkiewicz, S.; Davis, J.; Ramamoorthi, R.
ACM Transactions on Graphics - SIGGRAPH 2005
Los Angeles, California, July 2005, Volume 24, Issue 3, pp. 536-543
The program operates on both range grids and arbitrary meshes. It relies on the trimesh2 library for mesh manipulation, and uses the CHOLMOD library as a direct solver of sparse linear systems.
The source code, along with a windows executable, can be downloaded from the following link:
Some of the samples found in the paper are also available for download:
This implementation closely follows the research paper, and users should refer to it as a starting point before proceeding to the reference manual or to the examples.