Laurent Rineau
18cac48bae
Merge pull request #367 from sgiraudot/Point_set_processing-hierarchical_clustering-sgiraudot
...
New point set processing algorithm: Hierarchical clustering
2015-10-14 10:54:37 +02:00
Clement Jamin
145131e2e6
Use Real_timer in PSP3 and T3 since the algorithms might be parallel
2015-10-08 15:34:40 +02:00
Simon Giraudot
0916c32ded
Fix numeric_limits::max bug (conflict with other max)
2015-10-08 07:59:56 +02:00
Simon Giraudot
bc2a944ded
Fix Visual Studio errors (typename + max macro bug)
2015-10-07 16:03:08 +02:00
Simon Giraudot
b35e34238a
Bugfix: if 2 input points are equal, avoid infinite loop and terminate non-empty cluster
2015-10-07 16:00:54 +02:00
Simon Giraudot
564f156eeb
Fix typos in doc
2015-10-07 16:00:54 +02:00
Simon Giraudot
a068249ac5
Minor code cleaning/rewriting
2015-10-07 16:00:53 +02:00
Simon Giraudot
e028ff8955
Update doc and example
2015-10-07 16:00:53 +02:00
Simon Giraudot
e6054bfdeb
Rename function and files in accordance to content
2015-10-07 16:00:53 +02:00
Simon Giraudot
20698d4dde
Make the algorithm a simplification algorithm instead of a clustering one
2015-10-07 16:00:53 +02:00
Simon Giraudot
347af82e80
Fix testsuite error (missing #include <limits>)
2015-10-07 16:00:53 +02:00
Simon Giraudot
28cf05f189
Remove duplicate code (use PCA_util.h to assemble covariance matrix)
2015-10-07 16:00:52 +02:00
Simon Giraudot
648c19b6f6
Remove unused typedef warning
2015-10-07 16:00:52 +02:00
Simon Giraudot
b16f7605d6
Enhancement: keep current cluster an only build one side instead of two
2015-10-07 16:00:52 +02:00
Simon Giraudot
cf9b7230d8
Algorithm is faster if the plane is not constructed
2015-10-07 16:00:52 +02:00
Simon Giraudot
5df527d2f0
Correct preconditions
2015-10-07 16:00:52 +02:00
Simon Giraudot
c965754d00
Update example of hierarchical clustering
2015-10-07 16:00:52 +02:00
Simon Giraudot
59e11b4ae6
More on user manual
2015-10-07 16:00:52 +02:00
Simon Giraudot
b84b724984
Add citation and update manual
2015-10-07 16:00:51 +02:00
Simon Giraudot
bf8d876d6d
More on user manual and reference manual
2015-10-07 16:00:51 +02:00
Simon Giraudot
bd52620404
Add a test for hierarchical_clustering
2015-10-07 16:00:51 +02:00
Simon Giraudot
e6c757f463
Begin working on reference manual
2015-10-07 16:00:51 +02:00
Simon Giraudot
14567ae261
Add variant with default diagonalize traits
2015-10-07 16:00:51 +02:00
Simon Giraudot
fea22733ee
Speed up using list instead of queue (avoid multiple copies) + bugfix
2015-10-07 16:00:51 +02:00
Simon Giraudot
5ab793531c
Bugfix: if one of the two sides is empty, only treat the non-empty side
2015-10-07 16:00:51 +02:00
Simon Giraudot
ed2d3167e2
Stack is faster than queue in this case
2015-10-07 16:00:51 +02:00
Simon Giraudot
7babff9f05
Optimizations (using splice for lists and reference for queue.front())
2015-10-07 16:00:51 +02:00
Simon Giraudot
0841e423a2
Add example for hierarchical clustering
2015-10-07 16:00:51 +02:00
Simon Giraudot
eb7266a42d
Cleaning/reorganizing code, use diagonalize_traits and add variants with default parameters and template deduction
2015-10-07 16:00:50 +02:00
Simon Giraudot
e8dd34cb21
Implemented the efficient computation of the second centroid.
...
The hierarchical clustering algorithm gets about 15% faster
(on test Eglise Fontaine, from 91s to 76s).
2015-10-07 16:00:50 +02:00
Simon Giraudot
ee1e7ee714
Added the alternative implementation of hierarchical clustering using
...
the Eigen library.
For now, both implementations are available (switchable with a
2015-10-07 16:00:50 +02:00
Pierre Alliez
00fad8756a
Add comments in hierarchical clustering and fix indentations
2015-10-07 16:00:50 +02:00
Simon Giraudot
b87d1bbc3e
Very first version of the hierarchical clustering added (work in
...
progress).
It contains somes functions that may be more relevant in some other
package :
* 2 functions to compute the covariance matrix of a 3D point set
* 2 functions to split a point set according to a plane
Also the function of the actual hierachical clustering algorithm.
2015-10-07 16:00:50 +02:00
Sebastien Loriot
62644a62aa
Merge pull request #318 from sgiraudot/CGAL-Solver-package-GF
...
Regroup solver interface in Solver_package
2015-10-07 15:54:48 +02:00
Simon Giraudot
ac591cf257
Merge branch 'Point_set_processing_3-TBB-GF-old' into Point_set_processing_3-TBB-GF
2015-09-29 13:50:17 +02:00
Simon Giraudot
692a8686ca
Fix warning (implicit conversion double to std::size_t)
2015-09-29 13:46:37 +02:00
Sébastien Loriot
da650cbd1c
Merge branch 'old/CGAL-Solver-packages-GF' into CGAL-Solver-package-GF
2015-09-26 15:47:54 +02:00
Simon Giraudot
13e4a76cd8
Merge branch 'Point_set_processing_3-TBB-GF-old' into Point_set_processing_3-TBB-GF
2015-09-24 12:45:58 +02:00
Simon Giraudot
36723443a4
Merge branch 'CGAL-Solver-package-GF-old' into CGAL-Solver-package-GF
2015-09-23 10:29:14 +02:00
Sébastien Loriot
cdfc7f1c31
Merge branch 'old/CGAL-split_packages-GF' into CGAL-split_packages-GF
2015-09-23 10:08:41 +02:00
Sébastien Loriot
b970fc80ef
Merge branch 'old/Surface_reconstruction_points_3-Change_package_name-GF' into Surface_reconstruction_points_3-Change_package_name-GF
2015-09-22 09:54:18 +02:00
Sébastien Loriot
68aa21292a
Merge branch 'old/CGAL-Solver-packages-GF' into CGAL-Solver-package-GF
2015-09-21 07:34:18 +02:00
Simon Giraudot
a4f242a0cc
Replace Internal_diagonalize_traits by Diagonalize_traits + corrections in Concepts/Models
2015-09-16 11:41:26 +02:00
Andreas Fabri
58b7dc7319
fix typo
2015-09-16 09:29:09 +02:00
Andreas Fabri
23740f5921
add a dependency
2015-09-16 09:25:02 +02:00
Simon Giraudot
b840307161
Generate compile-time error if Parallel_tag is used without TBB
2015-09-08 15:31:28 +02:00
Simon Giraudot
2c6e6e5e57
Update Reference Manual with additional template parameter
2015-09-08 12:38:34 +02:00
Simon Giraudot
935956a10f
Merge branch 'Point_set_processing_3-TBB-GF-old' into Point_set_processing_3-TBB-GF
2015-09-08 11:11:07 +02:00
Simon Giraudot
95682d11e0
Update PSP examples with concurrency template
2015-09-08 10:44:36 +02:00
Simon Giraudot
0afe0249f9
Bugfix: badly placed #ifdef caused bug if TBB was not used
2015-09-08 10:42:47 +02:00