-
Notifications
You must be signed in to change notification settings - Fork 419
FSSR Users Guide
Wiki Home ▸ FSSR Users Guide
This is a guideline how to use FSSR, the Floating Scale Surface Reconstruction software accompanying the following paper:
Floating Scale Surface Reconstruction (Website)
Simon Fuhrmann and Michael Goesele
In: ACM ToG (Proceedings of ACM SIGGRAPH 2014).
FSSR expects an input a point set which contains several required and some optional attributes per sample point. Currently, only PLY is supported as input and output format. The attributes are listed below:
Name PLY Attribute(s) Type Required?
------------------------------------------------------------------
3D positions x, y, z float 3-vector required
normals nx, ny, nz float 3-vector required
scale values value single float value required
confidence confidence single float value optional
color red, green, blue uchar 3-vector optional
A typical PLY file header looks like this:
ply
format binary_little_endian 1.0
element vertex 36228
property float x
property float y
property float z
property float nx
property float ny
property float nz
property uchar red
property uchar green
property uchar blue
property float confidence
property float value
end_header
If you are using MVE and want to create a surface from a set of depth maps, you can use the scene2pset
tool, which is included in the MVE distribution.
Usage: scene2pset [ OPTS ] SCENE_DIR MESH_OUT
Make sure to specify the parameter --fssr=N
which selects the correct depth map and image at scale N
, and includes normals, scale and confidences.
First, the implicit function defined by the input samples is evaluated and the isosurface is extracted. This is done with the fssrecon
tool. Call the tool without arguments to see the available options.
Usage: fssrecon [ OPTS ] IN_PLY [ IN_PLY ... ] OUT_PLY
It takes one or more PLY files as input (connectivity information is ignored) and samples the implicit function over an octree hierarchy. The isosurface is extracted and stored in a PLY mesh.
Second, the resulting mesh may contain low-confidence vertices, many small isolated components, and degenerated triangles from the isosurfacing. The resulting mesh should be cleaned with the meshclean
tool.
Usage: meshclean [ OPTS ] IN_PLY OUT_PLY
The tool takes as input a mesh, and produces a cleaned output mesh. Several options can control the resulting mesh. See the tools output for details.