CGAL 6.2 - Scale-Space Surface Reconstruction: CGAL::Scale_space_reconstruction_3::Weighted_PCA_smoother< Geom_traits, DiagonalizeTraits, ConcurrencyTag > Class Template Reference

CGAL 6.2 - Scale-Space Surface Reconstruction

Loading...
Searching...
No Matches
List of all members | Public Types | Public Member Functions
CGAL::Scale_space_reconstruction_3::Weighted_PCA_smoother< Geom_traits, DiagonalizeTraits, ConcurrencyTag > Class Template Reference
Reference Manual » Classes

`#include <CGAL/Scale_space_reconstruction_3/Weighted_PCA_smoother.h>`

## Definition

template<typename Geom_traits, typename DiagonalizeTraits, typename ConcurrencyTag>
class CGAL::Scale_space_reconstruction_3::Weighted_PCA_smoother< Geom_traits, DiagonalizeTraits, ConcurrencyTag >

Smoother for scale space reconstruction based on a principal component analysis weighted by the local density of points.

Is model of
  `CGAL::Scale_space_reconstruction_3::Smoother`

Template Parameters

  Geom_traits | geometric traits class. It must be a model of `DelaunayTriangulationTraits_3`. It must have a `RealEmbeddable` field number type. Generally, `Exact_predicates_inexact_constructions_kernel` is preferred.
  DiagonalizeTraits | model of `DiagonalizeTraits` that determines how to diagonalize a weighted covariance matrix to approximate a weighted point set. It can be omitted if Eigen 3 (or greater) is available and `CGAL_EIGEN3_ENABLED` is defined: in that case, an overload using `Eigen_diagonalize_traits` is provided.
  ConcurrencyTag | indicates whether to use concurrent processing. It can be omitted: if Intel TBB is available and `CGAL_LINKED_WITH_TBB` is defined then `Parallel_tag` is used. Otherwise, `Sequential_tag` is used.

Examples
  Scale_space_reconstruction_3/scale_space_incremental.cpp, Scale_space_reconstruction_3/scale_space_manifold.cpp, and Scale_space_reconstruction_3/scale_space_sm.cpp.

## Public Types
typedef Geom_traits::FT | FT
| defines the field number type.
typedef Geom_traits::Point_3 | Point
| defines the point type.
typedef Geom_traits::Vector_3 | Vector
| defines the vector type.

## Public Member Functions
| Weighted_PCA_smoother (unsigned int neighbors=12, unsigned int samples=300)
| Constructs a weighted PCA smoother that will automatically estimate the neighborhood radius.
| Weighted_PCA_smoother (FT squared_radius)
| Constructs a weighted PCA smoother.
FT | squared_radius ()
| Returns the computed (or user-specified) squared radius.

## Constructor & Destructor Documentation

## ◆ Weighted_PCA_smoother() [1/2]

template<typename Geom_traits , typename DiagonalizeTraits , typename ConcurrencyTag >

CGAL::Scale_space_reconstruction_3::Weighted_PCA_smoother< Geom_traits, DiagonalizeTraits, ConcurrencyTag >::Weighted_PCA_smoother | ( | unsigned int | neighbors = `12`,
|  | unsigned int | samples = `300`
| ) |  |

Constructs a weighted PCA smoother that will automatically estimate the neighborhood radius.

Parameters

  neighbors | is the number of neighbors a point's neighborhood should contain on average.
  samples | is the number of points sampled to estimate the neighborhood radius.

## ◆ Weighted_PCA_smoother() [2/2]

template<typename Geom_traits , typename DiagonalizeTraits , typename ConcurrencyTag >

CGAL::Scale_space_reconstruction_3::Weighted_PCA_smoother< Geom_traits, DiagonalizeTraits, ConcurrencyTag >::Weighted_PCA_smoother | ( | FT | squared_radius | ) |

Constructs a weighted PCA smoother.

Parameters

  squared_radius | neighborhood squared radius used for principal component analysis.