Multilevel Streaming for Out-of-Core Surface Reconstruction
Matthew Bolitho, Michael Kazhdan , Randal Burns and Hugues Hoppe
Eurographics Symposium on Geometry Processing 2007, Pages 69-78.

Reconstruction of surfaces from huge collections of scanned points often requires out-of-core techniques, and most such techniques involve local computations that are not resilient to data errors. We show that a Poisson-based reconstruction scheme, which considers all points in a global analysis, can be performed efficiently in limited memory using a streaming framework. Specifically, we introduce a multilevel streaming representation, which enables efficient traversal of a sparse octree by concurrently advancing through multiple streams, one per octree level. Remarkably, for our reconstruction application, a sufficiently accurate solution to the global linear system is obtained using a single iteration of cascadic multigrid, which can be evaluated within a single multi-stream pass. We demonstrate scalable performance on several large datasets.

Downloads

 Paper
 Supplemental Material

 Talk


Source Code

Current Release - Build 918 - 13 April 2010

 Source Code, Documentation and Binaries

This maintenance release contains a number of bug fixes and performance improvements.

 Linux Executable (64bit)
 Windows Executable (64bit)

 Documentation


Previous Release - Build 689 - 21 December 2007

 Source Code, Documentation and Binaries

This release contains a number of bug fixes and new features.
  • Compilation on 32bit platforms is now supported
  • Compilation on Mac OSX is now supported. Please report any build problems.
  • Multithreading support is included on Windows. The second pass (solver) is now multithreaded. The construction and surface extraction passes will be multithreaded in a future release.
    Multithreading support on Linux/Mac OSX is experimental and can be enabled by editing Reconstructor/Src/Config.hpp and recompiling from source.
 Windows Executable (amd64)
 Windows Executable (i386)
 Linux Executable (x86_64)
 Linux Executable (i386)

 Documentation


Historical Releases

Build 615 Source Code and Binaries (16 November 2007)
Build 521 Source Code and Binaries (1 June 2007)