Commit Graph

318 Commits

Author SHA1 Message Date
Sébastien Loriot 271cab1134 change the order of template parameter for segmentation
the order is imposed by the default
  note this breaks the compatibility when the traits class was explicitly given
2014-07-01 16:43:27 +02:00
Sébastien Loriot a6e7d9cfd4 add missing back quotes 2014-06-11 14:20:51 +02:00
Sébastien Loriot b84d131b92 segmentation requires a model of FaceGraph 2014-06-11 14:20:05 +02:00
Andreas Fabri bbf70667bd bug fix 2014-06-11 12:37:04 +02:00
Andreas Fabri d92d0cef84 Use CGAL points even for OpenMesh 2014-06-10 15:26:06 +02:00
Sébastien Loriot db346b1ad3 add extra overload if c++11 is not enabled 2014-06-06 15:36:27 +02:00
Sébastien Loriot aec7e99e6a introduce the point property map 2014-06-05 21:24:34 +02:00
Sébastien Loriot 8b88547955 fix compilation issues 2014-06-05 17:01:59 +02:00
Andreas Fabri ffc619f871 edges was at the same time a local variable 2014-06-05 16:21:16 +02:00
Andreas Fabri 84208ee628 constness problems with CGAL::Polyhedron_3. The problem with edges(G) persists :< 2014-06-05 16:12:03 +02:00
Andreas Fabri 3d7d596e6b Use vertex_point property map so that it now also compiled with OpenMesh 2014-06-05 15:29:49 +02:00
Andreas Fabri 2c4c38809d switch internally to BGL API in mesh segmentation. We still have to deal with the point property maps 2014-06-05 12:05:54 +02:00
Andreas Fabri 4a37f74122 switch to new BGL API 2014-06-04 21:28:59 +02:00
Sébastien Loriot 4a115d7655 trivial bug-fix for master: fix namespace 2014-04-22 16:35:18 +02:00
Laurent Rineau fd70ee758c Fix license of Surface_mesh_segmentation headers
The package is copyright GeometryFactory, and published under license
GPLv3+.

The file <CGAL/internal/auxiliary/graph.h> is a special case: it is
owned by an external (Yuri Boykov) and was released under GPLv2+. That
means than we can relicense it to GPLv3+.
2014-02-06 18:36:21 +01:00
Sébastien Loriot d481ded8ba use timers in graph cut only if CGAL_SEGMENTATION_BENCH_GRAPHCUT is defined 2014-01-08 10:25:48 +01:00
Sébastien Loriot 3a0853a27b fix warnings 2013-12-23 16:49:47 +01:00
Sébastien Loriot ad44ab3a92 remove compilation warnings 2013-12-23 16:49:46 +01:00
Sébastien Loriot 61c91a1971 turn int to std::size_t when it is possible 2013-12-23 16:49:46 +01:00
Sébastien Loriot 5a6523ac86 fix a warning in MAXFLOW
warning: dereferencing type-punned pointer will break strict-aliasing rules
2013-12-23 16:49:45 +01:00
Sébastien Loriot 6fc429f1de fix warnings in MAXFLOW 2013-12-23 16:49:44 +01:00
Sébastien Loriot e54a0e758e turn number_of_center from int to std::size_t 2013-12-23 16:49:44 +01:00
Sébastien Loriot 7cf48beb41 int -> size_t to remove warnings 2013-12-23 16:49:44 +01:00
Sébastien Loriot dd485f4839 add empty line at the end of the files to remove a warning 2013-12-23 16:49:44 +01:00
Sébastien Loriot c458b0525f handle an API change of boost::compressed_sparse_row_graph in boost 1.40 2013-12-23 16:49:43 +01:00
Sébastien Loriot 38c0d2067a on win64 sizeof(long long)=sizeof(void*) 2013-12-23 16:49:43 +01:00
Sébastien Loriot 6a5d44c2b1 use property map include from CGAL 2013-12-23 16:49:42 +01:00
Sébastien Loriot 8affb01604 fix call to delete for an array 2013-12-23 16:49:42 +01:00
Sébastien Loriot 8848fd691e using CGAL_CFG_NO_CPP0X_DEFAULT_TEMPLATE_ARGUMENTS_FOR_FUNCTION_TEMPLATES 2013-12-23 16:49:41 +01:00
Sébastien Loriot 7ce41550b3 rename all the function consistently 2013-12-23 16:49:41 +01:00
Sébastien Loriot 2f1bf6fcd3 rename parameter extract_segments to output_cluster_ids and flip the behavior 2013-12-23 16:49:41 +01:00
Sébastien Loriot 7acb1ef98a put MaxFlow graph in a namespace to avoid pollution 2013-12-23 16:49:37 +01:00
Sébastien Loriot f1f0f96ab5 add a benchmark result for graph cut 2013-12-23 16:49:36 +01:00
Sébastien Loriot b74389b7aa make the code working with a kernel with Gmpq as FT 2013-12-23 16:49:33 +01:00
Sébastien Loriot 9765348421 remove Construct_unit_normal_3 from requirements of the traits 2013-12-23 16:48:45 +01:00
Sébastien Loriot 1bd80c4c41 avoid calling the function twice 2013-09-06 14:50:55 +02:00
iyaz 9d608a8688 temproray work-around compilation prob where sizeof(int) == sizeof(long) -> the same specialization will be defined twice 2013-09-06 01:11:38 +03:00
iyaz bf86ca842c add number_of_cluster > 0 as a precondition, fix typos in internal comments 2013-09-06 00:48:58 +03:00
Sébastien Loriot 009c8727e0 use maxflow as default implementation 2013-09-05 11:23:10 +02:00
Sébastien Loriot aad5c09bcf hack to make MaxFlow working with 64bits compilers 2013-09-05 11:22:16 +02:00
Sébastien Loriot 3bf4a26273 remove warnings reported by gcc 2013-09-05 10:34:03 +02:00
Sébastien Loriot f3bef2ed1c a few fixes in the refman following reviewers comments 2013-09-05 09:11:32 +02:00
Sébastien Loriot ecc6cd0a0b fix function doc 2013-09-04 19:47:47 +02:00
Sébastien Loriot 0052bf9643 do not document Fast_sdf_calculation_mode 2013-09-04 17:44:12 +02:00
Sébastien Loriot 1e2c6955a5 rephrasing 2013-09-04 17:11:52 +02:00
Sébastien Loriot 4ab3c37b64 missing parameter after update from master 2013-09-04 12:01:48 +02:00
Sébastien Loriot 4005e2bc79 add missing bool in function call 2013-09-04 11:58:52 +02:00
Sébastien Loriot a97f340f68 using cgalCite macro 2013-09-04 08:24:46 +02:00
iyaz 914ee9e6b4 fix warnings (std::size_t to int conversions),
MAD : 1 -> 1.5,
2013-08-28 17:18:05 +03:00
iyaz ed7218ae84 do not use epsilon for min since it does not effect the results,
and this also fix the optimization bug in MSVC-64
2013-08-08 21:06:22 +03:00
iyaz a0bf04f654 remove one-ring (just leave edge-adjacent) both in ref and user manual 2013-08-08 17:14:57 +03:00
iyaz dd5bf0ec3e add postprocess function to the API (code related changes) 2013-08-08 02:33:20 +03:00
iyaz 36d50d9477 add another parameter to API which lets user to get either cluster or segment ids as output 2013-08-06 23:23:56 +03:00
iyaz 317ee4a7ea Function Documentation related changes (based on comments of reviewer-1) 2013-08-06 12:31:28 +03:00
Sébastien Loriot 0a651d4a88 add a link to the equation to explain a parameter 2013-07-26 17:29:08 +02:00
Sébastien Loriot 1615b15579 accomodate the changes of the AABB tree package 2013-07-26 13:27:04 +02:00
Sébastien Loriot 33aecff166 add missing template keyword 2013-07-25 18:39:18 +02:00
iyaz c919081e16 Revert "Use BOYKOV_KOLMOGOROV for test - will be reversed"
This reverts commit 0364b9f4f0d134563749216460aa9abf6b8389ee.
2013-07-22 11:44:17 +03:00
iyaz 7545de5539 Use BOYKOV_KOLMOGOROV for test - will be reversed 2013-07-22 11:15:25 +03:00
iyaz 4d5f8a0e54 Fixing ambiguous call - gcc 2013-05-20 16:02:35 +03:00
iyaz bab9218257 Fixing warning - gcc 2013-05-20 15:25:56 +03:00
Sébastien Loriot bfb2b44f3a forward types to satisfy gcc 2013-05-20 13:47:20 +02:00
Sébastien Loriot ef9ea573d4 add missing typename 2013-05-20 13:10:55 +02:00
iyaz e5c26f6fe3 Documentation improvements (from Andreas's comments) 2013-05-14 18:44:08 +03:00
iyaz 7b7417780a new implemenation using boost CSR graph, it can be 1.5x faster from prev implementation but there is a performance problem that I couldn't solve using public functionality of graph (however there might be a solution)
will look it back.
2013-05-13 23:00:37 +03:00
iyaz 9c026f14ba remove unrelated code (remaining from debug related purposes) 2013-05-12 17:49:57 +03:00
iyaz ea4ebfa17e forgotten name changed in documentation
(from nontype template parameter name is changed from fast_bbox_intersection to Fast_sdf_calculation_mode)
2013-05-11 21:15:33 +03:00
iyaz 789ee361cb nontype template parameter name is changed from fast_bbox_intersection to Fast_sdf_calculation_mode 2013-05-10 15:42:01 +03:00
iyaz 50c6542740 doc - lowercase -> uppercase after dot 2013-05-10 15:27:35 +03:00
iyaz 67047affcd making fast_bbox_intersection optional 2013-05-09 18:45:28 +03:00
iyaz d46a29af46 dummy element forgotten from prev version, removed. 2013-04-24 22:31:47 +03:00
iyaz f269e1fd21 use CGAL Random instead of rand(),
update plus plus initialization so that there is no need to extra temp for swap etc
2013-04-24 17:36:09 +03:00
iyaz 1c390474ff Various refinements on k-means and EM,
Selectors are moved to its own class and shared by k-means and EM (hence previous partially code duplication is prevented)
2013-04-19 02:04:09 +03:00
iyaz e9cc8bcd5e Slightly improved performance, and small refinements 2013-04-17 01:55:21 +03:00
iyaz c3b842dc46 Using diagonal of AABB box to convert rays to segments 2013-04-16 20:58:40 +03:00
iyaz 65fc0a0b6b Changes to guarantee there will be no border case problems with cone angle in [0, PI]. 2013-04-16 18:19:56 +03:00
iyaz 68197c0352 SDF calculation is enriched to be more generic by accepting sdf calculation over points with normals 2013-04-15 13:58:50 +03:00
iyaz 6877a532ab Adding <= 0 check for cone angle 2013-04-12 15:55:20 +03:00
Sébastien Loriot ddc7fe2d77 add missing typenames and remove warning 2013-04-12 09:31:45 +02:00
Sébastien Loriot 9ffbbe3a05 smooth doc 2013-04-09 08:33:06 +02:00
iyaz 664a736675 Small improvements on ref-man. 2013-04-08 02:05:40 +03:00
iyaz 5c093049f5 Remove [0, 1] clipping of smoothing_lambda, and just suggest that in ref-man comments. 2013-04-08 01:16:55 +03:00
iyaz 0c243507a2 Clearing unnecessary typedefs,
Fixing warnings raised by FT float kernels.
2013-04-05 15:56:29 +03:00
iyaz 060bb3e3ff update comments,
add missing explicit namespace qualifier for tie (boost)
2013-04-02 20:02:38 +03:00
Sébastien Loriot eac22e273d add comments on number of rays 2013-04-02 15:11:09 +02:00
iyaz 36a26b328d Make 'spatial & range parameters' parameters to bilateral filtering 2013-04-01 17:56:28 +03:00
iyaz 0c77beb2b1 Handle <= 0 levels while BFT 2013-04-01 15:37:08 +03:00
Sébastien Loriot e26b97d9d7 update property map linking 2013-03-14 17:05:19 +01:00
Sébastien Loriot eeb7807da5 add a filter adaptor to have several smoothing steps 2013-02-15 12:46:44 +01:00
Sébastien Loriot 6ec442e864 add more documentation for the disk sampling 2013-02-14 17:04:59 +01:00
Sébastien Loriot 015b9ca4f9 make range_parameter explicit 2013-02-14 17:04:35 +01:00
Sébastien Loriot 949e102661 add the possibility to set the window size 2013-02-13 19:08:38 +01:00
Sébastien Loriot e473938124 add a dummy filter to switch sdf value filtering off 2013-02-13 18:57:01 +01:00
Sébastien Loriot 2105474563 doc: add backticks and () to function calls 2013-02-13 18:54:49 +01:00
Sébastien Loriot 0adf55363f document implementation detail 2013-02-13 08:04:00 +01:00
Sébastien Loriot 4a0e6b7707 use the note doxygen command to emphase 2013-02-12 18:35:21 +01:00
Sébastien Loriot 2f43a47554 prevent linking 2013-02-11 19:22:53 +01:00
Sébastien Loriot 63de1129d1 update code for plugin compilation 2013-01-16 18:54:59 +01:00
Sébastien Loriot b9a42236d5 port the documention to the latest CGAL doxygen setup 2013-01-16 18:05:13 +01:00
Sébastien Loriot 82eec48453 Merge branch 'gsoc2012-segmentation-iyaz-old' into gsoc2012-segmentation-iyaz
Conflicts:
	.gitattributes
	Polyhedron/demo/Polyhedron/CMakeLists.txt
2013-01-14 19:48:08 +01:00
iyaz 80521d65a4 A comment on cone-angle was forgotten, fixed. 2013-01-14 18:57:01 +02:00
iyaz e440cb2c1d AABB_traversal_traits.h & Alpha_expansion_graph_cut.h & SDF_calculation.h: Removal of unused code sections.
SDF_calculation.h: MAD for removing outlier approach
2013-01-12 21:55:34 +02:00
iyaz c6cc177bfa API function names are changed:
old name                                  -> new name
sdf_values_computation                    -> compute_sdf_values
surface_mesh_segmentation_from_sdf_values -> segment_from_sdf_values
surface_mesh_segmentation                 -> compute_sdf_values_and_segment

Also example code files are changed accordingly.
2013-01-12 15:59:58 +02:00
Ílker Yaz 03e0952c96 -code review in outlier-removal
-use make_pair & make_tuple
-handles are passed by value
2012-09-05 17:25:44 +00:00
Sébastien Loriot 5cd9c2ce74 do not document internal namespace 2012-09-03 08:52:34 +00:00
Ílker Yaz 5ff1aed804 changing dft to bft (for segment extracting)
and review.
2012-09-01 02:26:02 +00:00
Ílker Yaz ab6b5ebb57 Code & comment review. 2012-08-30 18:18:40 +00:00
Ílker Yaz 7064d52d63 Integrating MAXFLOW software. 2012-08-30 14:58:37 +00:00
Ílker Yaz 42e8424912 Taking traits object as parameter. 2012-08-30 11:41:00 +00:00
Ílker Yaz 3b121490a4 small change (convert substraction of points to vector construction) 2012-08-29 02:37:51 +00:00
Ílker Yaz 92a49835d8 Integrating Construct_centroid_3 2012-08-29 02:26:09 +00:00
Ílker Yaz 83d2f4d8b6 Integrating Construct_translated_point_3 2012-08-29 02:23:43 +00:00
Ílker Yaz fe60f52cd3 Integrating Construct_normal_3 & Construct_unit_normal_3 2012-08-29 02:16:54 +00:00
Ílker Yaz d114ec42d8 Intergating Construct_sum_of_vectors_3 2012-08-29 02:11:52 +00:00
Ílker Yaz 223ed06159 Integrating Construct_scaled_vector_3 2012-08-29 02:05:04 +00:00
Ílker Yaz 4feaec7dba Change Polyhedron::Traits with SegmentationGeomTraits
- integrate Angle_3
2012-08-29 01:58:54 +00:00
Ílker Yaz 27b6cb1507 Integrating SegmentationGeomTraits into Surface_mesh_segmentation 2012-08-29 01:14:43 +00:00
Ílker Yaz 298f168346 Integrating SegmentationGeomTraits
- New template parameter is added to SDF_calculation and Surface_mesh_segmentation
- mesh_segmentation.h is changed according to passing trait parameter to Surface_mesh_segmentation
2012-08-29 00:57:38 +00:00
Ílker Yaz 445e63c40c Added test files, and code review. 2012-08-29 00:16:44 +00:00
Sébastien Loriot 38a712b5cf introduce the geometric traits in the code and
in the documentation, but did not really change something in the code.
2012-08-28 15:28:37 +00:00
Sébastien Loriot 7fb3bfaaa2 avoid conflict with CGAL::internal::sqrt 2012-08-28 13:21:47 +00:00
Sébastien Loriot 98ec2762eb use CGAL's sqrt function 2012-08-28 13:18:54 +00:00
Sébastien Loriot aa3a0b0cdf fix initialization order 2012-08-28 13:16:26 +00:00
Ílker Yaz d92e7ecebd Small correction for comments. 2012-08-28 02:49:42 +00:00
Ílker Yaz ab9cb4b250 Code review. 2012-08-28 02:44:30 +00:00
Sébastien Loriot 1a62f79ae1 rephrase doc 2012-08-27 08:57:28 +00:00
Ílker Yaz 6b8835b9b1 User manual is updated.
Code review (unused includes are removed)
(Added an experimental filtering)
2012-08-27 02:40:34 +00:00
Ílker Yaz c001aa1662 Now, returned segment-ids are ordered by average sdf value of the segment (facets that construct that segment). 2012-08-24 19:33:41 +00:00
Ílker Yaz 58fccbef0a Fix a copy-paste error. 2012-08-24 02:53:25 +00:00
Ílker Yaz b093a9a7c7 Small changes on Surface_mesh_segmentation 2012-08-24 02:29:00 +00:00
Ílker Yaz d6f1d70ebe Fix (copy/paste error) 2012-08-23 13:37:51 +00:00
Ílker Yaz 83d5a268c8 remove unused functions 2012-08-23 12:27:21 +00:00
Sébastien Loriot de3c160b41 rephrase 2012-08-23 07:25:55 +00:00
Sébastien Loriot 17aff431e2 missing typename 2012-08-23 06:23:34 +00:00
Ílker Yaz 0c484a175e Changes on documentation & Small change on demo. 2012-08-23 00:50:22 +00:00
Ílker Yaz fcfc79dfc7 1) Surface_mesh_segmentation does not hold any state now.
2) Demo is updated (it uses the API now) (also cleaned)
   Also SDF values that are used for visualization (result of "Calculate SDF") is now linearly normalized values (previously they were log-normalized)
3) New example is added (using id's to access pmap data)
2012-08-22 15:37:31 +00:00
Sébastien Loriot 3e5d71bcaa update reference manual 2012-08-21 07:38:50 +00:00
Sébastien Loriot edec4fd899 accomodate change in template parameters 2012-08-21 07:18:25 +00:00
Sébastien Loriot 407e8c12da invalid end of comment 2012-08-21 06:56:48 +00:00
Ílker Yaz 7d4447bd1c Alpha_expansion_graph_cut.h:
Mostly reviewing. Also including a note about performance.
It now contains an implementation which uses MAXFLOW software (see comments in performance)

Documentation update (reference manual part)
2012-08-21 02:48:34 +00:00
Ílker Yaz ccfa68b331 small fix 2012-08-20 12:15:01 +00:00
Ílker Yaz 6887a24ec0 Warnings are fixed (hopefully). 2012-08-20 11:50:53 +00:00
Sébastien Loriot 252a20862c do not document internal class 2012-08-20 08:45:21 +00:00
Sébastien Loriot f2abaabc8f reorder init of members 2012-08-20 08:27:55 +00:00
Sébastien Loriot 9b407ec3c1 reorder initialization of members 2012-08-20 07:29:52 +00:00
Sébastien Loriot 6d8a745407 fix compilation issue on linux 2012-08-20 06:56:54 +00:00
Ílker Yaz ec4e20c39c Documentation updates.
Filters are moved to another file (Filters.h)
Surface_mesh_segmentation.h moved to internal folder (and namespace).
2012-08-20 02:29:43 +00:00
Ílker Yaz cd74403410 Documentation update 2012-08-17 17:16:06 +00:00
Ílker Yaz a743b4d572 Small corrections on examples 2012-08-16 22:59:22 +00:00
Ílker Yaz 166034aac6 Documentation update. 2012-08-16 22:38:02 +00:00