mirror of https://github.com/CGAL/cgal
user manual changes after 3rd review round
This commit is contained in:
parent
5a2386f7ca
commit
f160e9cbe0
|
|
@ -41,15 +41,16 @@ Influence of pose changes over SDF values and the segmentation.
|
|||
\subsubsection Surface_mesh_segmentationRawSDF Computation of Raw SDF Values
|
||||
For a given input mesh, the raw SDF values are computed by processing each facet one by one. For a given facet,
|
||||
several rays are sampled in a cone constructed using the centroid of the facet as apex and inward-normal of the facet as axis.
|
||||
Each ray is cast into a segment, its endpoints being the apex of the cone and the first mesh facet intersection point.
|
||||
If a ray forms an obtuse angle with the inward-normal of the first intersected facet, it is not accepted.
|
||||
Using the lengths of the accepted cast rays, which intuitively correspond to a local volume sampling,
|
||||
the raw SDF value is calculated by first applying an outlier removal procedure and then taking average of the lengths.
|
||||
Note that only facets having no accepted rays get no raw SDF values
|
||||
(the package also accepts input meshes with holes, in such a case rays that can not be cast to a segment are also not accepted).
|
||||
Each ray is truncated into a segment, its endpoints being the apex of the cone and the first mesh facet intersection point.
|
||||
Using the lengths of these truncated rays, which intuitively correspond to a local volume sampling,
|
||||
the raw SDF value is calculated by first applying an outlier removal procedure and then taking the average of the lengths.
|
||||
|
||||
The raw SDF values can be computed using the function `compute_sdf_values()`, setting `postprocess` to `false`.
|
||||
|
||||
\note This package also accepts input meshes with holes. In such a case rays that can not be truncated to a segment
|
||||
or rays that form an obtuse angle with the inward-normal of the first intersected facet are not accepted.
|
||||
Only facets having no accepted rays get no raw SDF values
|
||||
|
||||
\subsubsection Surface_mesh_segmentationPostprocessing Post-processing of Raw SDF Values
|
||||
After having calculated the raw SDF value for each facet, the SDF values used in the segmentation algorithm are
|
||||
the result of several post-processing steps:
|
||||
|
|
@ -60,7 +61,7 @@ The main reason for not assigning 0 to facets with no SDF values is that it can
|
|||
|
||||
- A bilateral smoothing \cgalCite{Tomasi1998Bilateral} is applied.
|
||||
This smoothing technique removes the noise while trying to keep fast changes on SDF values unchanged since they are natural candidates for segment boundaries.
|
||||
The bilateral smoothing has three parameters that are set by default as follows:
|
||||
The bilateral smoothing has three parameters that are set as follows:
|
||||
-\f$ w = \lfloor\sqrt{ |F| / 2000}\rfloor + 1 \f$, the window size (i.e. maximum level for breadth-first neighbor selection), where \f$ F \f$ denotes the set of facets
|
||||
-\f$ \sigma_s = w / 2 \f$, the spatial parameter
|
||||
-\f$ \sigma_{r_i} = \sqrt{1/|w_i| \sum_{f_j \in w_i}(SDF(f_j) - SDF(f_i))^2} \f$, the range parameter set for each facet \f$ f_i \f$; \f$ w_i \f$ denotes the set of neighboring facets of \f$ f_i \f$ collected using \f$ w \f$ in the facet neighbor breadth-first search
|
||||
|
|
|
|||
Loading…
Reference in New Issue