The basic idea of this plugin is to define (1) surface objects and (2) projecting objects. By default, the first object in the list is the surface object, while the rest are considering projecting objects. This plugin is derived from the ScanTools plugin. So, there are some features shared between the two, such as Box Selection and Undo/Redo (Ctrl-z / Ctrl-y). In the above image, we see the chess piece (surface object) surround by a grid of surfels (projecting objects).
This dialog is almost exact in look and behavior to the one available in ScanTools. Specific to this plugin, the Project Objects must define at least one selection to be used to project on to the surface.
In this dialog, we can set various parameters. We must make sure to select at least one object in the Surface Objects to define the surface. Currently, we do not allow object to exist both as projecting object and surface object.
Extremal Surface pull down menu:
Here one can choose various surface definitions. Only two (Mahalanobis and MLS) are provided. However, one can implement various definitions by modifying the code.
General Parameters:
k next neighbors: This k closest points are considered during projection.
gauss smoothing factor: This defines global gaussian weight parameter
(h).
Polynomial Fit:
Do Polynomial Fit: As a post process, one can fit a polynomial after
the surface has been found. This is not a necessary step in defining the surface,
however.
Polynomial Degree: The degree of the fitting polynomial.
Weight Options:
Weight by Radius: Instead of using the global gauss smoothing factor,
this utilizes each surfel radius as the smoothing parameter.
Scale Radius: The radius is multiplied by this factor before utilized
as the smoothing parameter.
Mahalanobis Options:
Mahalanobis Scale (1/c): As described in the paper, this varies the distance
metric, with respect to the surfel normals. This option is utilized only
when the Mahalanobis method is used (e.g. not used in the MLS method). Note
that this parameter is defines the inverse of what is described in the paper,
i.e. 1/c.
Brent Minimization Options:
Max Iteration: For each surfel, we allow upto the maximum amount before
terminating.
Tolerance: During the projection iteration, if the surfel converges
by the tolerance, then it terminates.
Search Range: In Brent's method, we can specify the search range.
The unit is in terms of the world space. Larger range allows the minimum search
to extend further. Small is better for speed and accuracy.
Surface Objects:
Select which objects are to define the surface.
Find Surface:
Only Modify Selection: If selected, this will project the selected surfels
in the Project Objects. Otherwise, it will project all surfels in the Project
Objects.
Press the Find Surface button.
Post Process:
You can calculate the surface normals by using the Smooth Normals in
the Diffuser
plugin (Menu: Plugins>Geometry>Diffuser...).
Also, it can be helpful to use the Navigation
Tools (object navigation
)
to either move the surface object or projecting objects.