diff --git a/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt b/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt index 2c9af7219d1..6cb72a014bf 100644 --- a/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt +++ b/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt @@ -643,11 +643,12 @@ computed and stored as colors in a PLY file: \section Point_set_processing_3OutlierRemoval Outlier Removal -Function `remove_outliers()` deletes a user-specified fraction -of outliers from an input point set. More specifically, it sorts the -input points in increasing order of average squared distances to their -nearest neighbors and deletes the points with largest value. The user -can either specify a fixed number of nearest neighbors or a fixed +Function `remove_outliers()` deletes a user-specified fraction of +outliers from an input point set. More specifically, it partitions the +input points with respect to the average squared distances to their +nearest neighbors and deletes the points with largest value, either +partitionning with a threshold or removing a fixed percentage. The +user can either specify a fixed number of nearest neighbors or a fixed spherical neighborhood radius. \subsection Point_set_processing_3Example_outlier_removal Example diff --git a/Point_set_processing_3/include/CGAL/remove_outliers.h b/Point_set_processing_3/include/CGAL/remove_outliers.h index bedeca84cea..38f756a2d48 100644 --- a/Point_set_processing_3/include/CGAL/remove_outliers.h +++ b/Point_set_processing_3/include/CGAL/remove_outliers.h @@ -88,7 +88,9 @@ compute_avg_knn_sq_distance_3( \ingroup PkgPointSetProcessing3Algorithms Removes outliers: - computes average squared distance to the nearest neighbors, - - and sorts the points in increasing order of average distance. + - and partitions the points either using a threshold on the of + average distance or selecting a fixed percentage of points with + the highest average distances This method modifies the order of input points so as to pack all remaining points first, and returns an iterator over the first point to remove (see erase-remove idiom). @@ -96,6 +98,8 @@ compute_avg_knn_sq_distance_3( \pre `k >= 2` + \tparam ConcurrencyTag enables sequential versus parallel algorithm. Possible values are `Sequential_tag`, + `Parallel_tag`, and `Parallel_if_available_tag`. \tparam PointRange is a model of `Range`. The value type of its iterator is the key type of the named parameter `point_map`.