Estimating the Laplace-Beltrami Operator by Restricting 3D Functions

links description executable usage changes

LINKS
SGP 2009 Paper
Windows Executables Source Code
Version 1 Page Version 2 Page Version 3 Page
License

CODE DESCRIPTION

EXECUTABLE ARGUMENTS (TextureStitcher.exe)

USAGE
For testing purposes, three datasets are provided.
  1. Rooster: This dataset, obtained using the NextEngine scanner, consists of 8 scans that are represented in range-grid format.
    To obtain the seamlessly textured surface, we execute:
    TextureStitcher --in rooster.ply --scans scans.txt --out out.ply --xForms xForms.txt
    To reconstruct the finer details we can subdivide the mesh in order to sample the gradient field more densely:
    TextureStitcher --in rooster.ply --scans scans.txt --out out.ply --xForms xForms.txt --subdivide 1
    Finally, if we would like to prevent color-bleeding due to the missing gradients at the bottom of the model, we can add in a soft constraint on the values:
    TextureStitcher --in rooster.ply --scans scans.txt --out out.ply --xForms xForms.txt --subdivide 1 --vWeight 0.01
    A visualization of the results can be seen in the images below. (The left-most image shows the results obtained when the colors are obtained by directly copying the color values from the nearest scan.)
  2. Male04: This dataset, obtained courtesy of Cyberware scanner, consists of 4 scans that are represented as triangle meshes with color values associated to each vertex.
    To obtain the seamlessly textured surface, we execute:
    TextureStitcher --in male04.base.ply --scans male04.scans.txt --out out.ply --useKD --depth 10
    To correct for the loss of gradients near the sleeve that result in color-bleed through to the arm, we introduce a soft constraint on the values:
    TextureStitcher --in male04.base.ply --scans male04.scans.txt --out out.ply --useKD --depth 10 --vWeight 0.01
    A visualization of the results can be seen in the images below. (The left-most image shows the results obtained when the colors are obtained by directly copying the color values from the nearest scan.)
  3. Pleo: This dataset of the pleo robot, obtained using a Minolta Vivid 910 scanner, and generously contributed by Mario Botsch, consists of 20 scans that are represented as triangle meshes with color values associated to each vertex.
    To obtain seamlessly textured surfaces with varying interpolation weights, we execute:
    TextureStitcher --in Pleo.base.ply --scans Pleo.scans.txt --out out.ply --useKD --depth 10 --subdivide 1 --vWeight <10/0.1/0.001/0.00001>
    A visualization of the results can be seen in the images below.
    --vWeight 10 --vWeight 0.1 --vWeight 0.001 --vWeight 0.00001

CHANGES
June 3, 2016
  1. Modified the texture stitching code to support scans with zero-area triangles.
  2. Executables are now compiled with MSVC 2013.

HOME