Commit cebb874
feat: add point cloud transformation utilities and LCP metric
- Add transform_point_cloud() and transform_point_cloud_parallel() for creating transformed copies
- Add transform_point_cloud_inplace() and transform_point_cloud_inplace_parallel() for memory-efficient transforms
- Move LCP score computation to metrics module as LCPMetric class
- Update RANSAC and 4PCS registration to use the new LCPMetric
- Fix RANSAC convergence check logic using sliding window approach
- Add comprehensive benchmarks comparing sequential vs parallel and in-place vs copy transforms
- Add unit tests for all transformation functions
- Add example demonstrating transformation usage
Performance findings:
- Sequential is faster for clouds < 100K points due to thread overhead
- Parallel shows benefits for clouds > 1M points
- In-place transforms are generally 1.5-2x faster and save memory
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>1 parent a6ddbfa commit cebb874
File tree
13 files changed
+1839
-63
lines changed- benchmark
- types
- example
- src/include/cpp-toolbox
- metrics
- pcl/registration/impl
- types
- test
- metrics
- pcl
- types
13 files changed
+1839
-63
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| |||
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
| 40 | + | |
38 | 41 | | |
39 | 42 | | |
40 | 43 | | |
| |||
49 | 52 | | |
50 | 53 | | |
51 | 54 | | |
| 55 | + | |
52 | 56 | | |
53 | 57 | | |
54 | 58 | | |
| |||
96 | 100 | | |
97 | 101 | | |
98 | 102 | | |
| 103 | + | |
99 | 104 | | |
100 | 105 | | |
101 | 106 | | |
| |||
105 | 110 | | |
106 | 111 | | |
107 | 112 | | |
| 113 | + | |
108 | 114 | | |
109 | 115 | | |
110 | 116 | | |
111 | 117 | | |
112 | 118 | | |
113 | 119 | | |
114 | 120 | | |
| 121 | + | |
115 | 122 | | |
116 | 123 | | |
117 | 124 | | |
| |||
124 | 131 | | |
125 | 132 | | |
126 | 133 | | |
| 134 | + | |
127 | 135 | | |
128 | 136 | | |
129 | 137 | | |
| |||
134 | 142 | | |
135 | 143 | | |
136 | 144 | | |
137 | | - | |
| 145 | + | |
| 146 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
128 | 127 | | |
129 | 128 | | |
130 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
0 commit comments