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

#include <CGAL/Scale_space_reconstruction_3/Weighted_PCA_smoother.h>

Definition

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_traitsgeometric 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.
DiagonalizeTraitsmodel 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.
ConcurrencyTagindicates 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 point type.
 
typedef Geom_traits::Point_3 Point
 defines the point typ.e
 
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. More...
 
 Weighted_PCA_smoother (FT squared_radius)
 Constructs a weighted PCA smoother. More...
 
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
neighborsis the number of neighbors a point's neighborhood should contain on average.
samplesis 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_radiusneighborhood squared radius used for principal component analysis.