CGAL 4.11.3 - Point Set Processing
|
Namespaces | |
cpp11 | |
IO | |
Scale_space_reconstruction_3 | |
Shape_detection_3 | |
Surface_mesh_parameterization | |
Functions | |
template<class FT , class VCMTraits > | |
bool | vcm_is_on_feature_edge (cpp11::array< FT, 6 > &cov, double threshold, VCMTraits) |
determines if a point is on a sharp feature edge from a point set for which the Voronoi covariance Measures have been computed. More... | |
template<class FT > | |
bool | vcm_is_on_feature_edge (cpp11::array< FT, 6 > &cov, double threshold) |
template<class ForwardIterator , class PointPMap , class Kernel > | |
void | compute_vcm (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, std::vector< cpp11::array< typename Kernel::FT, 6 > > &ccov, double offset_radius, double convolution_radius, const Kernel &kernel) |
computes the Voronoi Covariance Measure (VCM) of a point cloud, a construction that can be used for normal estimation and sharp feature detection. More... | |
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename VCMTraits > | |
void | vcm_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, double offset_radius, double convolution_radius, VCMTraits) |
Estimates normal directions of the points in the range [first, beyond) using the Voronoi Covariance Measure with a radius for the convolution. More... | |
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename VCMTraits > | |
void | vcm_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, double offset_radius, unsigned int k, VCMTraits) |
Estimates normal directions of the points in the range [first, beyond) using the Voronoi Covariance Measure with a number of neighbors for the convolution. More... | |
template<typename ForwardIterator , typename PointPMap , typename NormalPMap > | |
void | vcm_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, double offset_radius, double convolution_radius) |
template<typename ForwardIterator , typename PointPMap , typename NormalPMap > | |
void | vcm_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, double offset_radius, unsigned int nb_neighbors_convolve) |
template<typename Traits , typename OutputIterator > | |
OutputIterator | structure_point_set (typename Traits::Input_range::iterator first, typename Traits::Input_range::iterator beyond, typename Traits::Point_map point_map, typename Traits::Normal_map normal_map, OutputIterator output, Shape_detection_3::Efficient_RANSAC< Traits > &shape_detection, double epsilon, double attraction_factor=3.) |
This is an implementation of the Point Set Structuring algorithm. More... | |
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel > | |
ForwardIterator | mst_orient_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, unsigned int k, const Kernel &kernel) |
Orients the normals of the [first, beyond) range of points using the propagation of a seed orientation through a minimum spanning tree of the Riemannian graph [Hoppe92]. More... | |
template<typename Concurrency_tag , typename OutputIterator , typename RandomAccessIterator , typename PointPMap , typename Kernel > | |
OutputIterator | wlop_simplify_and_regularize_point_set (RandomAccessIterator first, RandomAccessIterator beyond, OutputIterator output, PointPMap point_pmap, double select_percentage, double radius, unsigned int iter_number, bool require_uniform_sampling, const Kernel &) |
This is an implementation of the Weighted Locally Optimal Projection (WLOP) simplification algorithm. More... | |
template<typename Concurrency_tag , typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel > | |
double | bilateral_smooth_point_set (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, unsigned int k, typename Kernel::FT sharpness_angle, const Kernel &) |
This function smooths an input point set by iteratively projecting each point onto the implicit surface patch fitted over its k nearest neighbors. More... | |
template<typename Concurrency_tag , typename OutputIterator , typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel > | |
OutputIterator | edge_aware_upsample_point_set (ForwardIterator first, ForwardIterator beyond, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap, const typename Kernel::FT sharpness_angle, typename Kernel::FT edge_sensitivity, typename Kernel::FT neighbor_radius, const std::size_t number_of_output_points, const Kernel &) |
This method progressively upsamples the point set while approaching the edge singularities (detected by normal variation), which generates a denser point set from an input point set. More... | |
template<typename ForwardIterator , typename PointPMap , typename DiagonalizeTraits , typename Kernel > | |
ForwardIterator | hierarchy_simplify_point_set (ForwardIterator begin, ForwardIterator end, PointPMap point_pmap, const unsigned int size, const double var_max, const DiagonalizeTraits &, const Kernel &) |
Recursively split the point set in smaller clusters until the clusters have less than size elements or until their variation factor is below var_max . More... | |
template<typename ForwardIterator , typename PointPMap , typename Kernel > | |
ForwardIterator | random_simplify_point_set (ForwardIterator first, ForwardIterator beyond, PointPMap, double removed_percentage, const Kernel &) |
Randomly deletes a user-specified fraction of the input points. More... | |
template<typename Concurrency_tag , typename InputIterator , typename PointPMap , typename Kernel , typename SvdTraits > | |
void | jet_smooth_point_set (InputIterator first, InputIterator beyond, PointPMap point_pmap, unsigned int k, const Kernel &, unsigned int degree_fitting=2, unsigned int degree_monge=2) |
Smoothes the [first, beyond) range of points using jet fitting on the k nearest neighbors and reprojection onto the jet. More... | |
template<typename Concurrency_tag , typename InputIterator , typename PointPMap , typename Kernel > | |
Kernel::FT | compute_average_spacing (InputIterator first, InputIterator beyond, PointPMap point_pmap, unsigned int k, const Kernel &) |
Computes average spacing from k nearest neighbors. More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename NormalPMap , typename Kernel > | |
bool | read_off_points_and_normals (std::istream &stream, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &) |
Reads points (positions + normals, if available) from a .off ASCII stream. More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename Kernel > | |
bool | read_off_points (std::istream &stream, OutputIterator output, PointPMap point_pmap, const Kernel &kernel) |
Reads points (position only) from a .off ASCII stream. More... | |
template<typename PointMap > | |
std::tuple< PointMap, typename Kernel_traits< typename PointMap::value_type > ::Kernel::Construct_point_3, PLY_property< double > , PLY_property< double > , PLY_property< double > > | make_ply_point_reader (PointMap point_map) |
Generates a PLY property handler to read 3D points. More... | |
template<typename VectorMap > | |
std::tuple< VectorMap, typename Kernel_traits < typename VectorMap::value_type > ::Kernel::Construct_vector_3, PLY_property< double > , PLY_property< double > , PLY_property< double > > | make_ply_normal_reader (VectorMap normal_map) |
Generates a PLY property handler to read 3D normal vectors. More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename... PropertyHandler> | |
bool | read_ply_points_with_properties (std::istream &stream, OutputIterator output, PropertyHandler &&...properties) |
Reads user-selected points properties from a .ply stream (ASCII or binary). More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename NormalPMap > | |
bool | read_ply_points_and_normals (std::istream &stream, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap) |
Reads points (positions + normals, if available) from a .ply stream (ASCII or binary). More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap > | |
bool | read_ply_points (std::istream &stream, OutputIterator output, PointPMap point_pmap) |
Reads points (position only) from a .ply stream (ASCII or binary). More... | |
template<typename PointMap > | |
std::tuple< PointMap, typename Kernel_traits< typename PointMap::value_type > ::Kernel::Construct_point_3, LAS_property::X, LAS_property::Y, LAS_property::Z > | make_las_point_reader (PointMap point_map) |
Generates a LAS property handler to read 3D points. More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename... PropertyHandler> | |
bool | read_las_points_with_properties (std::istream &stream, OutputIterator output, PropertyHandler &&...properties) |
Reads user-selected points properties from a .las or .laz stream. More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap > | |
bool | read_las_points (std::istream &stream, OutputIterator output, PointPMap point_pmap) |
Reads points (position only) from a .las or .laz stream. More... | |
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel > | |
bool | write_xyz_points_and_normals (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &) |
Saves the [first, beyond) range of points (positions + normals) to a .xyz ASCII stream. More... | |
template<typename ForwardIterator , typename PointPMap , typename Kernel > | |
bool | write_xyz_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, const Kernel &) |
Saves the [first, beyond) range of points (positions only) to a .xyz ASCII stream. More... | |
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel > | |
bool | write_off_points_and_normals (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &) |
Saves the [first, beyond) range of points (positions + normals) to a .off ASCII stream. More... | |
template<typename ForwardIterator , typename PointPMap , typename Kernel > | |
bool | write_off_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, const Kernel &) |
Saves the [first, beyond) range of points (positions only) to a .off ASCII stream. More... | |
template<typename PointMap > | |
std::tuple< PointMap, PLY_property< double > , PLY_property< double > , PLY_property< double > > | make_ply_point_writer (PointMap point_map) |
Generates a PLY property handler to write 3D points. More... | |
template<typename VectorMap > | |
std::tuple< VectorMap, PLY_property< double > , PLY_property< double > , PLY_property< double > > | make_ply_normal_writer (VectorMap normal_map) |
Generates a PLY property handler to write 3D normal vectors. More... | |
template<typename ForwardIterator , typename... PropertyHandler> | |
bool | write_ply_points_with_properties (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PropertyHandler &&...properties) |
Saves the [first, beyond) range of points with properties to a .ply stream. More... | |
template<typename ForwardIterator , typename PointMap , typename VectorMap > | |
bool | write_ply_points_and_normals (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointMap point_map, VectorMap normal_map) |
Saves the [first, beyond) range of points (positions + normals) to a .ply stream. More... | |
template<typename ForwardIterator , typename PointMap > | |
bool | write_ply_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointMap point_map) |
Saves the [first, beyond) range of points (positions only) to a .ply stream. More... | |
template<typename PointMap > | |
std::tuple< PointMap, LAS_property::X, LAS_property::Y, LAS_property::Z > | make_las_point_writer (PointMap point_map) |
Generates a LAS property handler to write 3D points. More... | |
template<typename ForwardIterator , typename PointMap , typename... PropertyHandler> | |
bool | write_las_points_with_properties (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, std::tuple< PointMap, LAS_property::X, LAS_property::Y, LAS_property::Z > point_property, PropertyHandler &&...properties) |
Saves the [first, beyond) range of points with properties to a .las stream. More... | |
template<typename ForwardIterator , typename PointMap > | |
bool | write_las_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointMap point_map) |
Saves the [first, beyond) range of points (positions only) to a .las stream. More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename NormalPMap , typename Kernel > | |
bool | read_xyz_points_and_normals (std::istream &stream, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &) |
Reads points (positions + normals, if available) from a .xyz ASCII stream. More... | |
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename Kernel > | |
bool | read_xyz_points (std::istream &stream, OutputIterator output, PointPMap point_pmap, const Kernel &kernel) |
Reads points (positions only) from a .xyz ASCII stream. More... | |
template<typename Concurrency_tag , typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel , typename SvdTraits > | |
void | jet_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, unsigned int k, const Kernel &, unsigned int degree_fitting=2) |
Estimates normal directions of the [first, beyond) range of points using jet fitting on the k nearest neighbors. More... | |
template<typename SamplesInputIterator , typename SamplesPointPMap , typename QueriesInputIterator , typename QueriesPointPMap , typename OutputIterator , typename Kernel > | |
OutputIterator | estimate_local_k_neighbor_scales (SamplesInputIterator first, SamplesInputIterator beyond, SamplesPointPMap samples_pmap, QueriesInputIterator first_query, QueriesInputIterator beyond_query, QueriesPointPMap queries_pmap, OutputIterator output, const Kernel &) |
Estimates the local scale in a K nearest neighbors sense on a set of user-defined query points. More... | |
template<typename InputIterator , typename PointPMap , typename Kernel > | |
std::size_t | estimate_global_k_neighbor_scale (InputIterator first, InputIterator beyond, PointPMap point_pmap, const Kernel &kernel) |
Estimates the global scale in a K nearest neighbors sense. More... | |
template<typename SamplesInputIterator , typename SamplesPointPMap , typename QueriesInputIterator , typename QueriesPointPMap , typename OutputIterator , typename Kernel > | |
OutputIterator | estimate_local_range_scales (SamplesInputIterator first, SamplesInputIterator beyond, SamplesPointPMap samples_pmap, QueriesInputIterator first_query, QueriesInputIterator beyond_query, QueriesPointPMap queries_pmap, OutputIterator output, const Kernel &) |
Estimates the local scale in a range sense on a set of user-defined query points. More... | |
template<typename InputIterator , typename PointPMap , typename Kernel > | |
Kernel::FT | estimate_global_range_scale (InputIterator first, InputIterator beyond, PointPMap point_pmap, const Kernel &kernel) |
Estimates the global scale in a range sense. More... | |
template<typename Concurrency_tag , typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel > | |
void | pca_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, unsigned int k, const Kernel &) |
Estimates normal directions of the [first, beyond) range of points by linear least squares fitting of a plane over the k nearest neighbors. More... | |
template<typename InputIterator , typename PointPMap , typename Kernel > | |
InputIterator | remove_outliers (InputIterator first, InputIterator beyond, PointPMap point_pmap, unsigned int k, double threshold_percent, double threshold_distance, const Kernel &) |
Removes outliers: More... | |
template<typename ForwardIterator , typename PointPMap , typename Kernel > | |
ForwardIterator | grid_simplify_point_set (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, double epsilon, const Kernel &) |
Merges points which belong to the same cell of a grid of cell size = epsilon . More... | |