Commit Graph

350 Commits

Author SHA1 Message Date
Shihao Wu 3b520c1405 set need_compute_density default to 'false'.
However, we still compute sample densities inside the function.
2013-09-25 10:04:48 +08:00
Shihao Wu 1f5c21ec14 a small bug 2013-09-25 00:24:42 +08:00
Shihao Wu 0a0d49b535 abandoned compute orignal density weights to save time 2013-09-25 00:17:21 +08:00
Shihao Wu 2e70b4fa97 minor change, but found the code slower 2013-09-24 22:51:20 +08:00
Shihao Wu 6e3298a514 add const to some parameters
code cleanups
2013-09-24 19:02:02 +08:00
Shihao Wu 0ca03a18c1 parallel the AABB-Tree code 2013-09-24 18:44:51 +08:00
Shihao Wu 2874361903 use "radius2" instead of "radius" as parameter for density computing functions 2013-09-24 18:22:22 +08:00
Shihao Wu 6ab108d0ab add debug output control 2013-09-24 18:14:07 +08:00
Shihao Wu 78d4a70807 added compute_update_sample_point in AABB_WLOP 2013-09-24 16:29:21 +08:00
Shihao Wu 0b9812f517 further clean-ups and alignment 2013-09-24 14:26:49 +08:00
Shihao Wu 323a0ccb82 add compute default radius to AABB-tree-wlop 2013-09-24 14:11:56 +08:00
Shihao Wu 70c7edb764 code clean-ups 2013-09-24 13:36:20 +08:00
Shihao Wu 0044439f82 add output parameter 2013-09-24 13:23:39 +08:00
Shihao Wu 234efb6812 back to version of parallelization, and the both sequential and parallel works 2013-09-24 12:43:57 +08:00
Shihao Wu 326c9e266b add output parameter 2013-09-24 11:27:16 +08:00
Shihao Wu 53d2e45f9f add staL::advance to parallel section 2013-09-24 00:00:01 +08:00
Shihao Wu 710ed737bf change forwardIterator name 2013-09-23 23:46:12 +08:00
Shihao Wu 8d8be527d7 change ForwardIterator to RandomAccessIterator 2013-09-23 23:09:39 +08:00
Shihao Wu b594258cef change function name, before add output parameter 2013-09-23 21:03:41 +08:00
Shihao Wu 0ffb95ea92 code clean-ups 2013-09-21 18:21:54 +08:00
Shihao Wu 886c8efc22 parallelized "compute density for original" 2013-09-21 18:02:22 +08:00
Shihao Wu 1aa5c402c7 add <tbb/tbbmalloc_proxy> 2013-09-21 18:01:53 +08:00
Shihao Wu c525d4545c parallelized AABB_tree code 2013-09-21 17:15:54 +08:00
Shihao Wu 4c852f8703 code clean ups 2013-09-21 11:46:19 +08:00
Shihao Wu 76cafe691d change name to wlop_simplify_and_regularize_point_set_test_AABB_tree.h 2013-09-21 10:58:58 +08:00
Shihao Wu 7c72370269 Back to bebug aabb slow problem 2013-09-19 23:35:24 +08:00
Shihao Wu ed5c9e69b9 Followed Clément's suggestion:
Another thing: it's better to use
  std::vector<Point> original_points;   +
original_points.reserve(nb_points_original)   +
original_points.push_back
than
  std::vector<Point> original_points(nb_points_original);   +   *it = blabla;
because it avoids initializing member variables twice.
2013-09-19 23:09:46 +08:00
Shihao Wu 43b70bd3e3 finished AABB in regularize_and_simplify_point_set.h 2013-09-19 22:12:42 +08:00
Shihao Wu 825d98a4f3 change repulsion to AABB too 2013-09-18 17:05:36 +08:00
Shihao Wu d33724369e successfully used AABB in compute_average_term function 2013-09-18 16:25:45 +08:00
Shihao Wu 04158e689d added two output debug sentences 2013-09-18 10:45:03 +08:00
Shihao Wu 3a0369afe9 in function "compute average term" AABB_tree got the right result 2013-09-18 10:05:41 +08:00
Shihao Wu bdd71f289f Added AABB test codes, can't get neighborhood now 2013-09-18 00:45:55 +08:00
Andreas Fabri 527a4bc63d Add #includes 2013-09-16 19:12:28 +02:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Shihao Wu 3770bdec46 clean up the code 2013-09-13 15:58:31 +08:00
Shihao Wu 676da9c403 clean up the code 2013-09-13 15:51:42 +08:00
Shihao Wu 446c54eab8 add output parameter to wlop 2013-09-13 15:46:27 +08:00
Shihao Wu 132f290750 parallelize one "for" circle in the iteration loop 2013-09-11 20:17:37 +08:00
Shihao Wu fe0a47377f add spaces between ">>>" 2013-09-11 00:11:05 +08:00
Shihao Wu e68679a692 *refine the codes format 2013-09-11 00:04:26 +08:00
Shihao Wu 8754fb924b change to range search 2013-09-11 00:01:22 +08:00
Shihao Wu ded3c99a9b add spaces between the ">" 2013-09-10 23:51:29 +08:00
Shihao Wu 9eec0a0e66 control debug output using #ifdef and #endif on stable version 2013-09-08 15:59:00 +08:00
Shihao Wu 0569983ad9 rule out possible Zero-divide error 2013-09-08 15:55:47 +08:00
Shihao Wu e8839230d2 stable parallel version 2013-09-08 15:49:39 +08:00
Shihao Wu c559180c01 control debug output using #ifdef and #endif
check to make sure that no "Divid Zero" will appear
2013-09-02 22:38:20 +08:00
Shihao Wu 5212ab7592 control the debug cout using #ifdef #endif 2013-09-02 20:45:17 +08:00
Shihao Wu 823fa14050 delete task_scheduler_init() 2013-09-02 10:17:00 +08:00
Shihao Wu 977b730109 parallelize another code section 2013-09-01 16:24:50 +08:00
Shihao Wu 1cd3220b81 add branch return value 2013-09-01 16:04:38 +08:00
Shihao Wu 98e7af81e2 parallelize function "compute_update_sample_point" 2013-09-01 16:01:53 +08:00
Shihao Wu 9cdebe1b23 parallelize the most time-consuming "for" circle 2013-09-01 11:35:59 +08:00
Shihao Wu d7bae5b864 add Concurrency_tag to wlop_simplify_and_regularize_point_set.h 2013-08-31 23:16:45 +08:00
Shihao Wu 52a07ec4cd Forgot to commit bilateral..h 2013-08-30 23:18:20 +08:00
Shihao Wu 339f7d3f51 Merge branch 'gsoc2013-Point_set_processing_3-point_set_consolidation-swu' of ssh://scm.cgal.org/var/git/cgal-gsoc into gsoc2013-Point_set_processing_3-point_set_consolidation-swu 2013-08-30 22:18:41 +08:00
Shihao Wu 8a7de648ea comment the parallelization of code around "compute_kdtree_neighbors" 2013-08-30 22:08:01 +08:00
Shihao Wu 5f11cf141e format the file
delete unnecessary spaces at the beginning of each line
2013-08-30 19:26:51 +08:00
Clement Jamin d03d1426dc Minor doc fix 2013-08-30 12:02:21 +02:00
Clement Jamin d033fd4044 Merge branch 'gsoc2013-Point_set_processing_3-point_set_consolidation-swu' of ssh://scm.cgal.org/var/git/cgal-gsoc into gsoc2013-Point_set_processing_3-point_set_consolidation-swu 2013-08-30 11:50:41 +02:00
Clement Jamin 3daa44a9df Untabify + typos 2013-08-30 11:50:17 +02:00
Shihao Wu c87d859f12 1.add Concurrency_tag judge in template file
2.add parallelization to codes around invocation of "compute_max_spacing"
2013-08-30 17:30:00 +08:00
Clement Jamin ea22837a40 Untabify 2013-08-30 10:34:12 +02:00
Shihao Wu 9028b7e8a0 updated default parameter documentation,
changed ForwardIterator to RandomAccessIterator for random_shuffle
2013-08-30 11:29:50 +08:00
Shihao Wu b757f01555 I copied the wrong version of tests, now is correct 2013-08-28 12:04:20 +08:00
Shihao Wu 4da24d2c1c added wlop default parameters, estimate default neighborhood radius 2013-08-28 10:45:42 +08:00
Shihao Wu 6d42c0ef9c refined codes, updated documentations, added tests 2013-08-27 09:49:22 +08:00
Shihao Wu f1c15e1678 refined the code for wlop_regularize_and_simplify points
mainly try to replace index with iterator
2013-07-31 17:39:07 +08:00
Shihao Wu fd81a098f8 finished large data experiment 2013-07-30 13:56:05 +08:00
Clement Jamin 5ab8c9aae2 First pass on the upsampling code 2013-07-26 19:26:45 +02:00
Clement Jamin f835a5f498 Fix parallel code 2013-07-26 02:06:38 +02:00
Clement Jamin 5a9249dab5 Small improvements in the code
const, smaller #ifdef #else #endif blocks, code formatting...
2013-07-26 02:02:34 +02:00
Clement Jamin 6afcc387d0 Typo 2013-07-24 20:58:13 +02:00
Clement Jamin d53a1a7a46 Bugfix related to CGAL_USE_PROPERTY_MAPS_API_V1 2013-07-24 20:22:26 +02:00
Clement Jamin 8c5c6b7ce9 Minor code corrections: variable names, template params order, etc. 2013-07-24 20:15:52 +02:00
Clement Jamin e85f55417e Fix typo 2013-07-24 11:56:01 +02:00
Clement Jamin df18f59902 Fix charset problem 2013-07-24 11:50:04 +02:00
Clement Jamin 74264b6038 Change the name everywhere + delete old file 2013-07-24 11:47:51 +02:00
Shihao Wu dfbb89339b improved the readability of Rich_grid.h as Pierre said. 2013-07-19 22:41:50 +08:00
Shihao Wu 296f51c320 change function name to: edge_aware_upsample_point_set
Added three .h files with new names
2013-07-19 22:13:58 +08:00
Shihao Wu 894fcbe3d2 change function name to: bilateral_smooth_point_set 2013-07-19 21:59:44 +08:00
Shihao Wu 884f6306f6 change function name to: wlop_regularize_and_simplify_point_set_using_rich_grid 2013-07-19 21:51:24 +08:00
Shihao Wu 5e8d302f89 added tbb to CMakeLists.txt
tried to add Concurrency_tag but have compile error..
2013-07-17 00:47:02 +08:00
Shihao Wu 499b97e321 Added some tbb codes for denoise_Point_set.
it pass complie, but the cmakelist may have problem.
2013-07-16 00:39:02 +08:00
Shihao Wu bed181be5c added a sphere test data, the upsample codes works well on it too 2013-07-14 23:41:15 +08:00
Shihao Wu d8ea879471 added predict neighbor size and threshold size.
this version work well on the example
2013-07-14 20:24:20 +08:00
Shihao Wu c9150d9854 consistency with my original old code.
I found the result is not perfect, so I checked carefully with the old code.

I tested some data with exact parameters.

The result is almost the same, the difference is cased by numerical problem.

So I commit this version for record.
2013-07-14 13:52:24 +08:00
Shihao Wu 5b0befd9e3 I tried to make it easier for parallelization but not worked.
here just a record of this version, I will try another way out.
2013-07-13 01:49:52 +08:00
Shihao Wu 34b61f3471 finished the first version of upsample_point_set
the rest is how to speed up by estimating radius

and make it more easy for parallelization
2013-07-12 01:01:18 +08:00
Shihao Wu 43bb5bd574 now back_inserter works, the pipeline of upsample have set up 2013-07-11 00:17:24 +08:00
Shihao Wu e1e6df6575 added the key part of upsample_point_set
considering how to use back_inserter
2013-07-10 22:32:16 +08:00
Shihao Wu caf50a5233 added normal variable to Rich_point 2013-07-10 18:37:14 +08:00
Shihao Wu 9de9f54ebd Started coding for upsample_point_set.
added two new files and one new test data.
2013-07-10 00:20:52 +08:00
Shihao Wu b370deff80 added timing and sharpness_sigma parameter 2013-07-09 19:20:44 +08:00
Shihao Wu b8b2379c09 update formating for denoise_point_set 2013-07-09 18:54:20 +08:00
Shihao Wu 863462e10a modified denoise_point_set for new PROPERTY_MAPS, and fixed a bug in kd-tree
now the example can run and I added a new test data "sphere_20k_normal.xyz"
2013-07-09 18:44:17 +08:00
Shihao Wu 03e2c02484 I used get() instead of put(), and get correct result.
Maybe I used put() in a wrong way.
Or maybe put() function have bugs.
2013-07-09 17:00:19 +08:00
Shihao Wu c68f8de8f1 Try to change to PROPERTY_MAPS_API_V2, but the output is wrong.
Figuring out...
2013-07-09 16:53:54 +08:00
Shihao Wu 0f3f314b71 use Kd_tree_xxx instead of KdTree_xxx 2013-07-08 23:14:30 +08:00
Shihao Wu 0aba742b5c change some class names to obey the name convention of CGAL 2013-07-08 22:52:33 +08:00
Shihao Wu 091f17b3dd working on code formating and get some wired errors
Maybe I'm working in a wrong branch?
2013-07-08 22:39:47 +08:00
Shihao Wu 1ececf54a1 limit each line to 80 characters. 2013-07-08 17:09:50 +08:00
Shihao Wu 273eb39cd2 Added Rich_grid.h file
Modified regularize_and_simplify_point_set_using_balltree for Rich_grid

Used CGAL::Timer instead
2013-07-08 16:02:15 +08:00
Clement Jamin 6bb238d5cb Replace "<..<...>>" by "<...<...> >" (>> is correct in C++11 only) 2013-07-05 13:46:43 +02:00
Clement Jamin 130a0b4287 Use Point_3::x/y/z() functions: it's clearer and faster 2013-07-05 13:26:46 +02:00
Clement Jamin 8809c071a5 A bit of code formatting 2013-07-05 11:33:38 +02:00
Clement Jamin a8d438eece Everything should be in the CGAL namespace 2013-07-05 11:08:46 +02:00
Clement Jamin fcc02e2547 Add a typedef XXX Base and use it 2013-07-05 10:53:14 +02:00
Clement Jamin 229430f96a Clean-up some comments 2013-07-05 10:49:19 +02:00
Clement Jamin 63b67c89ad Clean-up some comments 2013-07-05 10:48:26 +02:00
Clement Jamin a54cce9d1d Fix charset problem 2013-07-05 10:36:03 +02:00
Clement Jamin 6c44ab3306 Merge branch 'gsoc2013-Point_set_processing_3-point_set_consolidation-swu-old' into gsoc2013-Point_set_processing_3-point_set_consolidation-swu 2013-07-05 08:58:45 +01:00
Shihao Wu b836e36808 added denoise_point_set function/files and example
also refine the code of wlop
2013-07-05 00:28:39 +08:00
Shihao Wu eeb5350fce Added a new file/function for Grid Tree implementation
The new file/function name is "regularize_and_simplify_point_set_using_balltree"
2013-07-04 00:17:51 +08:00
Shihao Wu c4d7e2d39b Add guess KNN trick
To speed up compute_average_term
I guess the suitable KNN size to reduce the redundant visit.
2013-06-28 00:51:16 +08:00
Shihao Wu 9924c4c652 <Trying to add tbb> 2013-06-25 23:26:46 +08:00
Shihao Wu 03054d786f <Fixed the bug of density function>
<Now the linear version of WLOP is finished
,next is try parallel>
2013-06-25 21:53:15 +08:00
Shihao Wu 6f1c8567e5 <Finished density weight function> 2013-06-25 00:18:04 +08:00
Shihao Wu 99c725e4e0 <add density weight> 2013-06-21 21:28:23 +08:00
Shihao Wu 93574ff377 <Fix a huge bug>
<Now is the real LOP,
Ready to add density weight>
2013-06-21 16:15:41 +08:00
Shihao Wu d36371a334 <Finished repulsion term>
<Now we can see some effect of
L2 LOP>
2013-06-20 23:16:28 +08:00
Shihao Wu 45b11a0b57 <Added new functions>
<Added KDD neighborhood searching
 Added compute_average_term>
2013-06-19 20:15:05 +08:00
Sébastien Loriot 607a1ac8ca re-add property map dereferencing a property_map lost during update-merge 2013-06-19 11:31:06 +02:00
Shihao Wu 01a19b3c80 Make the code more general, ready for the first push 2013-06-19 16:34:39 +08:00
Shihao Wu 0074af2b90 Add a new function regularize_and_simplify_point_set(). doing nothing but randomly copy sampled points inside the function space.
Than I want to update these sampled points position using WLOP algorithm.

At last, I will copy back the modified points to the original points as output.
2013-06-18 23:03:28 +08:00
Sébastien Loriot 829a6c0ac1 doxygen: prevent linking 2013-06-17 09:52:08 +02:00
Sébastien Loriot 716f87d2d7 rename Hidden_type to unspecified_type and update its description 2013-06-13 18:48:58 +02:00
Sébastien Loriot ffa4bf7d34 rename MACRO to enable old code 2013-06-13 17:04:50 +02:00
iyaz a541518c01 use member get on tuples instead of free func get 2013-06-06 22:41:43 +03:00
Sébastien Loriot b72e31e2ae ADL does not apply to a function with an explicitly qualified template argument 2013-06-05 09:23:38 +02:00
Sébastien Loriot 677bc07a4d rename Typed_identity_property_map_by_reference to Identity_property_map
and update its documentation
2013-05-13 11:38:07 +02:00
Sébastien Loriot f91eac468e enhance documentation 2013-05-13 10:59:15 +02:00
Sébastien Loriot f28c0b042a update doc of value_type_traits 2013-05-13 10:03:20 +02:00
iyaz 8807ec30e1 document value_type_traits, add specializations for inserter_iterator and front_inserter_iterator
add another template parameters for OtuputIterator value type in read functions which rely on vaue_type_traits
2013-05-08 23:21:22 +03:00
iyaz cd0163b95c should be iterator_traits - fixed 2013-05-08 15:43:53 +03:00
iyaz c951a2f509 wrong parameter name - fixed 2013-05-08 10:33:32 +03:00
iyaz c9a1b71c43 do not use value_type_traits when iterator_traits suffices 2013-05-07 18:53:14 +03:00
iyaz 9cb22fdd0e InputIterator -> ForwardIterator 2013-05-06 18:08:33 +03:00
Sébastien Loriot 17dd21def5 Merge branch 'First_of_pair_property_map-new_version-iyaz-old' into First_of_pair_property_map-new_version-iyaz
Conflicts:
	Point_set_processing_3/examples/Point_set_processing_3/property_map.cpp
	Point_set_processing_3/include/CGAL/IO/read_off_points.h
	Point_set_processing_3/include/CGAL/IO/read_xyz_points.h
	Point_set_processing_3/include/CGAL/IO/write_off_points.h
	Point_set_processing_3/include/CGAL/IO/write_xyz_points.h
	Point_set_processing_3/include/CGAL/Point_with_normal_3.h
	Point_set_processing_3/include/CGAL/improved_jet_smooth_point_set.h
	Point_set_processing_3/include/CGAL/improved_laplacian_smooth_point_set.h
	Point_set_processing_3/include/CGAL/jet_estimate_normals.h
	Point_set_processing_3/include/CGAL/jet_smooth_point_set.h
	Point_set_processing_3/include/CGAL/pca_estimate_normals.h
	Point_set_processing_3/include/CGAL/pca_smooth_point_set.h
2013-05-06 15:57:36 +02:00
iyaz b97fcda8dd pca_smooth_point_set PointPMap Readable -> ReadWrite,
make it undocumented
2013-05-06 12:05:35 +03:00
iyaz 0ca7f319e0 use helper function for typed_identity pmap,
remove forgotten dereference pmap
2013-05-05 22:07:41 +03:00
iyaz cc16c15fb2 Also changed code in prev version (i.e. macro activated code) which was previously buggy (buggy in a way of using pmaps) 2013-05-05 19:33:06 +03:00
iyaz d8bd97e662 documentation related parameter name fix 2013-05-05 19:13:41 +03:00
iyaz f09426d1c5 write_off_points_and_normals NormalPMap requirement WritablePropertyMap -> ReadablePropertyMap
write_xyz_points_and_normals NormalPMap requirement WritablePropertyMap -> ReadablePropertyMap
2013-05-05 18:51:24 +03:00
iyaz 0a7322b3bc Also changed code in prev version (i.e. macro activated code) which was previously buggy (buggy in a way of using pmaps) 2013-05-05 18:15:45 +03:00
iyaz d7385a1974 Also changed code in prev version (i.e. macro activated code) which was previously buggy (buggy in a way of using pmaps) 2013-05-05 18:11:14 +03:00
iyaz fb37011c14 pmap related changes,
note that previous version has a bug, where a normal is accessed directly (should be accessed via pmap)
2013-05-05 17:08:55 +03:00
iyaz a1454a975d jet_smooth_point_set ReadablePropertyMap -> ReadWritePropertyMap 2013-05-05 16:13:28 +03:00
iyaz c67eb609b3 improved_laplacian_smooth_point_set ReadablePropertyMap -> ReadWritePropertyMap 2013-05-05 16:11:43 +03:00
iyaz f7d331ec22 changed improved_jet_smooth_point_set PointPMap requirement to ReadWritePropertyMap
which was ReadablePropertyMap (which was not OK since pmap is also subject to change inside the function)
2013-05-04 01:50:02 +03:00