21 const core::Tensor& depth,
22 std::optional<std::reference_wrapper<const core::Tensor>> image_colors,
24 std::optional<std::reference_wrapper<core::Tensor>> colors,
25 const core::Tensor& intrinsics,
26 const core::Tensor& extrinsics,
31void Project(core::Tensor& depth,
32 std::optional<std::reference_wrapper<core::Tensor>> image_colors,
33 const core::Tensor&
points,
34 std::optional<std::reference_wrapper<const core::Tensor>> colors,
35 const core::Tensor& intrinsics,
36 const core::Tensor& extrinsics,
40#ifdef BUILD_SYCL_MODULE
44 std::optional<std::reference_wrapper<core::Tensor>> image_colors,
45 const core::Tensor&
points,
46 std::optional<std::reference_wrapper<const core::Tensor>> colors,
47 const core::Tensor& intrinsics,
48 const core::Tensor& extrinsics,
54 const core::Tensor& min_bound,
55 const core::Tensor& max_bound,
59 const core::Tensor& center,
60 const core::Tensor& rotation,
61 const core::Tensor& extent,
65 const core::Tensor& depth,
66 std::optional<std::reference_wrapper<const core::Tensor>> image_colors,
68 std::optional<std::reference_wrapper<core::Tensor>> colors,
69 const core::Tensor& intrinsics,
70 const core::Tensor& extrinsics,
77 std::optional<std::reference_wrapper<core::Tensor>> image_colors,
78 const core::Tensor&
points,
79 std::optional<std::reference_wrapper<const core::Tensor>> colors,
80 const core::Tensor& intrinsics,
81 const core::Tensor& extrinsics,
86 const core::Tensor& min_bound,
87 const core::Tensor& max_bound,
91 const core::Tensor& center,
92 const core::Tensor& rotation,
93 const core::Tensor& extent,
99 const core::Tensor& direction);
103 const core::Tensor& camera);
108 const core::Tensor&
counts,
110 double angle_threshold);
112#ifdef BUILD_SYCL_MODULE
114 const core::Tensor& depth,
115 std::optional<std::reference_wrapper<const core::Tensor>> image_colors,
117 std::optional<std::reference_wrapper<core::Tensor>> colors,
118 const core::Tensor& intrinsics,
119 const core::Tensor& extrinsics,
124void GetPointMaskWithinAABBSYCL(
const core::Tensor&
points,
125 const core::Tensor& min_bound,
126 const core::Tensor& max_bound,
129void GetPointMaskWithinOBBSYCL(
const core::Tensor&
points,
130 const core::Tensor& center,
131 const core::Tensor& rotation,
132 const core::Tensor& extent,
135void NormalizeNormalsSYCL(core::Tensor&
normals);
137void OrientNormalsToAlignWithDirectionSYCL(core::Tensor&
normals,
138 const core::Tensor& direction);
140void OrientNormalsTowardsCameraLocationSYCL(
const core::Tensor&
points,
142 const core::Tensor& camera);
144void ComputeBoundaryPointsSYCL(
const core::Tensor&
points,
147 const core::Tensor&
counts,
149 double angle_threshold);
152#ifdef BUILD_CUDA_MODULE
154 const core::Tensor& depth,
155 std::optional<std::reference_wrapper<const core::Tensor>> image_colors,
157 std::optional<std::reference_wrapper<core::Tensor>> colors,
158 const core::Tensor& intrinsics,
159 const core::Tensor& extrinsics,
166 std::optional<std::reference_wrapper<core::Tensor>> image_colors,
167 const core::Tensor&
points,
168 std::optional<std::reference_wrapper<const core::Tensor>> colors,
169 const core::Tensor& intrinsics,
170 const core::Tensor& extrinsics,
174void GetPointMaskWithinAABBCUDA(
const core::Tensor&
points,
175 const core::Tensor& min_bound,
176 const core::Tensor& max_bound,
179void GetPointMaskWithinOBBCUDA(
const core::Tensor&
points,
180 const core::Tensor& center,
181 const core::Tensor& rotation,
182 const core::Tensor& extent,
185void NormalizeNormalsCUDA(core::Tensor&
normals);
187void OrientNormalsToAlignWithDirectionCUDA(core::Tensor&
normals,
188 const core::Tensor& direction);
190void OrientNormalsTowardsCameraLocationCUDA(
const core::Tensor&
points,
192 const core::Tensor& camera);
194void ComputeBoundaryPointsCUDA(
const core::Tensor&
points,
197 const core::Tensor&
counts,
199 double angle_threshold);
203 core::Tensor& covariances,
204 const double& radius,
205 const int64_t& max_nn);
208 core::Tensor& covariances,
209 const int64_t& max_nn);
212 core::Tensor& covariances,
213 const double& radius);
221 const core::Tensor& colors,
222 core::Tensor& color_gradient,
223 const double& radius,
224 const int64_t& max_nn);
228 const core::Tensor& colors,
229 core::Tensor& color_gradient,
230 const int64_t& max_nn);
234 const core::Tensor& colors,
235 core::Tensor& color_gradient,
236 const double& radius);
239 core::Tensor& smoothed_points,
243 bool use_fixed_neighborhoods);
246 core::Tensor& smoothed_points,
251 bool use_fixed_neighborhoods);
254 core::Tensor& smoothed_points,
262 core::Tensor& smoothed_points,
268#ifdef BUILD_SYCL_MODULE
270void EstimateColorGradientsUsingHybridSearchSYCL(
const core::Tensor&
points,
272 const core::Tensor& colors,
273 core::Tensor& color_gradient,
274 const double& radius,
275 const int64_t& max_nn);
278void EstimateColorGradientsUsingKNNSearchSYCL(
const core::Tensor&
points,
280 const core::Tensor& colors,
281 core::Tensor& color_gradient,
282 const int64_t& max_nn);
285void EstimateColorGradientsUsingRadiusSearchSYCL(
const core::Tensor&
points,
287 const core::Tensor& colors,
288 core::Tensor& color_gradient,
289 const double& radius);
292#ifdef BUILD_CUDA_MODULE
293void EstimateCovariancesUsingHybridSearchCUDA(
const core::Tensor&
points,
294 core::Tensor& covariances,
295 const double& radius,
296 const int64_t& max_nn);
298void EstimateCovariancesUsingKNNSearchCUDA(
const core::Tensor&
points,
299 core::Tensor& covariances,
300 const int64_t& max_nn);
302void EstimateCovariancesUsingRadiusSearchCUDA(
const core::Tensor&
points,
303 core::Tensor& covariances,
304 const double& radius);
306void EstimateNormalsFromCovariancesCUDA(
const core::Tensor& covariances,
310void EstimateColorGradientsUsingHybridSearchCUDA(
const core::Tensor&
points,
312 const core::Tensor& colors,
313 core::Tensor& color_gradient,
314 const double& radius,
315 const int64_t& max_nn);
317void EstimateColorGradientsUsingKNNSearchCUDA(
const core::Tensor&
points,
319 const core::Tensor& colors,
320 core::Tensor& color_gradient,
321 const int64_t& max_nn);
323void EstimateColorGradientsUsingRadiusSearchCUDA(
const core::Tensor&
points,
325 const core::Tensor& colors,
326 core::Tensor& color_gradient,
327 const double& radius);
329void SmoothLaplacianCUDA(
const core::Tensor&
points,
330 core::Tensor& smoothed_points,
334 bool use_fixed_neighborhoods);
336void SmoothTaubinCUDA(
const core::Tensor&
points,
337 core::Tensor& smoothed_points,
342 bool use_fixed_neighborhoods);
344void SmoothMLSCUDA(
const core::Tensor&
points,
345 core::Tensor& smoothed_points,
351void SmoothBilateralCUDA(
const core::Tensor&
points,
353 core::Tensor& smoothed_points,
360#ifdef BUILD_SYCL_MODULE
362void EstimateCovariancesUsingHybridSearchSYCL(
const core::Tensor&
points,
363 core::Tensor& covariances,
364 const double& radius,
365 const int64_t& max_nn);
368void EstimateCovariancesUsingKNNSearchSYCL(
const core::Tensor&
points,
369 core::Tensor& covariances,
370 const int64_t& max_nn);
373void EstimateCovariancesUsingRadiusSearchSYCL(
const core::Tensor&
points,
374 core::Tensor& covariances,
375 const double& radius);
378void EstimateNormalsFromCovariancesSYCL(
const core::Tensor& covariances,
382void SmoothLaplacianSYCL(
const core::Tensor&
points,
383 core::Tensor& smoothed_points,
387 bool use_fixed_neighborhoods);
389void SmoothTaubinSYCL(
const core::Tensor&
points,
390 core::Tensor& smoothed_points,
395 bool use_fixed_neighborhoods);
397void SmoothMLSSYCL(
const core::Tensor&
points,
398 core::Tensor& smoothed_points,
404void SmoothBilateralSYCL(
const core::Tensor&
points,
406 core::Tensor& smoothed_points,
std::vector< int > indices
Definition PointCloudSmoothing.cpp:133
std::vector< int > counts
Definition PointCloudSmoothing.cpp:132
double t
Definition SurfaceReconstructionPoisson.cpp:175
size_t stride
Definition TriangleMeshBuffers.cpp:163
void Project(core::Tensor &depth, std::optional< std::reference_wrapper< core::Tensor > > image_colors, const core::Tensor &points, std::optional< std::reference_wrapper< const core::Tensor > > colors, const core::Tensor &intrinsics, const core::Tensor &extrinsics, float depth_scale, float depth_max)
Definition PointCloud.cpp:67
void EstimateCovariancesUsingHybridSearchCPU(const core::Tensor &points, core::Tensor &covariances, const double &radius, const int64_t &max_nn)
Definition PointCloudImpl.h:595
void SmoothMLSCPU(const core::Tensor &points, core::Tensor &smoothed_points, core::Tensor &normals, bool update_normals, double radius, int max_nn)
Definition PointCloudImpl.h:1504
void GetPointMaskWithinAABB(const core::Tensor &points, const core::Tensor &min_bound, const core::Tensor &max_bound, core::Tensor &mask)
Definition PointCloud.cpp:111
void EstimateCovariancesUsingRadiusSearchCPU(const core::Tensor &points, core::Tensor &covariances, const double &radius)
Definition PointCloudImpl.h:647
void SmoothTaubinCPU(const core::Tensor &points, core::Tensor &smoothed_points, size_t iterations, double lambda, double mu, int max_nn, bool use_fixed_neighborhoods)
Definition PointCloudImpl.h:1455
void EstimateNormalsFromCovariancesCPU(const core::Tensor &covariances, core::Tensor &normals, const bool has_normals)
Definition PointCloudImpl.h:1018
void OrientNormalsTowardsCameraLocationCPU(const core::Tensor &points, core::Tensor &normals, const core::Tensor &camera)
Definition PointCloudImpl.h:304
void ProjectSYCL(core::Tensor &depth, std::optional< std::reference_wrapper< core::Tensor > > image_colors, const core::Tensor &points, std::optional< std::reference_wrapper< const core::Tensor > > colors, const core::Tensor &intrinsics, const core::Tensor &extrinsics, float depth_scale, float depth_max)
Definition PointCloudSYCL.cpp:56
void GetPointMaskWithinAABBCPU(const core::Tensor &points, const core::Tensor &min_bound, const core::Tensor &max_bound, core::Tensor &mask)
Definition PointCloudImpl.h:153
void ComputeBoundaryPointsCPU(const core::Tensor &points, const core::Tensor &normals, const core::Tensor &indices, const core::Tensor &counts, core::Tensor &mask, double angle_threshold)
Definition PointCloudImpl.h:450
void SmoothLaplacianCPU(const core::Tensor &points, core::Tensor &smoothed_points, size_t iterations, double lambda, int max_nn, bool use_fixed_neighborhoods)
Definition PointCloudImpl.h:1417
void SmoothBilateralCPU(const core::Tensor &points, const core::Tensor &normals, core::Tensor &smoothed_points, double radius, int max_nn, double sigma_s, double sigma_r)
Definition PointCloudImpl.h:1666
void EstimateColorGradientsUsingKNNSearchCPU(const core::Tensor &points, const core::Tensor &normals, const core::Tensor &colors, core::Tensor &color_gradient, const int64_t &max_nn)
Definition PointCloudImpl.h:1230
void UnprojectCPU(const core::Tensor &depth, std::optional< std::reference_wrapper< const core::Tensor > > image_colors, core::Tensor &points, std::optional< std::reference_wrapper< core::Tensor > > colors, const core::Tensor &intrinsics, const core::Tensor &extrinsics, float depth_scale, float depth_max, int64_t stride)
Definition PointCloudImpl.h:49
void NormalizeNormalsCPU(core::Tensor &normals)
Definition PointCloudImpl.h:235
void GetPointMaskWithinOBB(const core::Tensor &points, const core::Tensor ¢er, const core::Tensor &rotation, const core::Tensor &extent, core::Tensor &mask)
Definition PointCloud.cpp:142
void ProjectCPU(core::Tensor &depth, std::optional< std::reference_wrapper< core::Tensor > > image_colors, const core::Tensor &points, std::optional< std::reference_wrapper< const core::Tensor > > colors, const core::Tensor &intrinsics, const core::Tensor &extrinsics, float depth_scale, float depth_max)
Definition PointCloudCPU.cpp:21
void Unproject(const core::Tensor &depth, std::optional< std::reference_wrapper< const core::Tensor > > image_colors, core::Tensor &points, std::optional< std::reference_wrapper< core::Tensor > > colors, const core::Tensor &intrinsics, const core::Tensor &extrinsics, float depth_scale, float depth_max, int64_t stride)
Definition PointCloud.cpp:21
void EstimateColorGradientsUsingRadiusSearchCPU(const core::Tensor &points, const core::Tensor &normals, const core::Tensor &colors, core::Tensor &color_gradient, const double &radius)
Definition PointCloudImpl.h:1287
void GetPointMaskWithinOBBCPU(const core::Tensor &points, const core::Tensor ¢er, const core::Tensor &rotation, const core::Tensor &extent, core::Tensor &mask)
Definition PointCloudImpl.h:189
void EstimateColorGradientsUsingHybridSearchCPU(const core::Tensor &points, const core::Tensor &normals, const core::Tensor &colors, core::Tensor &color_gradient, const double &radius, const int64_t &max_nn)
Definition PointCloudImpl.h:1176
void OrientNormalsToAlignWithDirectionCPU(core::Tensor &normals, const core::Tensor &direction)
Definition PointCloudImpl.h:268
void EstimateCovariancesUsingKNNSearchCPU(const core::Tensor &points, core::Tensor &covariances, const int64_t &max_nn)
Definition PointCloudImpl.h:698
Definition PinholeCameraIntrinsic.cpp:16
const core::Tensor * normals
Definition TriangleMesh.cpp:2126