Poisson Surface Reconstruction (Version 3)

Outdated version -- see latest version at http://www.cs.jhu.edu/~misha/Code/PoissonRecon/

links executable usage changes

LINKS
SGP 2006 Paper
Executables (Win32, Win64)
Source Code
(Older Versions: Version 2 Page Version 1 Page)
License

EXECUTABLE ARGUMENTS

USAGE
For testing purposes, two oriented point sets are provided:
  1. Horse: A set of 100,000 oriented point samples was obtained by sampling a virtual horse model with a sampling density proportional to curvature, giving a set of non-uniformly distributed points.
    The surface of the model can be reconstructed by calling the surface reconstructor as follows:
    % PoissonRecon --in horse.npts --out horse.ply --depth 10
    Note that since the input file is in ascii format, the --binary flag is not used for reconstruction.
  2. Bunny: A set of 362,272 oriented point samples was obtained by merging the data from the original Stanford Bunny range scans. The orientation of the sample points was estimated using the connectivity information within individual range scans.
    The surface of the model can be reconstructed by calling the surface reconstructor as follows:
    % PoissonRecon --in bunny.bnpts --out bunny.ply --depth 10 --binary --solverDivide 8
    Note that since the input file is in binary format, the --binary flag is used for reconstruction.
    Furthermore, to keep the memory overhead of the reconstructor below 1.5 GB, the --solverDivide flag is specified, so that a block Gauss-Seidel solver is used to solve the Poisson equation for depths larger than 8.
To convert the binary PLY format to Hugues Hoppe's ASCII mesh format, a Perl script is provided.
As an examples, the reconstructed bunny can be converted into the ASCII mesh format as follows:
% ply2mesh.pl bunny.ply > bunny.m

CHANGES
This version of the code differs from the earlier version in two ways:
  1. The implementation of the --samplesPerNode parameter has been modified so that a value of "1" more closely corresponds to a distribution with one sample per leaf node.
  2. The code has been modified to support compilation under MSVC 2010 and the associated solution and project files are now provided. (Due to a bug in the Visual Studios compiler, this required modifying the implementation of some of the bit-shifting operators.)

HOME