10 #include <unordered_map>
18 namespace pointcloud {
21 utility::optional<std::reference_wrapper<const core::Tensor>>
24 utility::optional<std::reference_wrapper<core::Tensor>> colors,
25 const core::Tensor& intrinsics,
26 const core::Tensor& extrinsics,
33 utility::optional<std::reference_wrapper<core::Tensor>> image_colors,
34 const core::Tensor&
points,
35 utility::optional<std::reference_wrapper<const core::Tensor>> colors,
36 const core::Tensor& intrinsics,
37 const core::Tensor& extrinsics,
42 const core::Tensor& min_bound,
43 const core::Tensor& max_bound,
47 const core::Tensor& center,
48 const core::Tensor& rotation,
49 const core::Tensor& extent,
53 const core::Tensor& depth,
54 utility::optional<std::reference_wrapper<const core::Tensor>>
57 utility::optional<std::reference_wrapper<core::Tensor>> colors,
58 const core::Tensor& intrinsics,
59 const core::Tensor& extrinsics,
66 utility::optional<std::reference_wrapper<core::Tensor>> image_colors,
67 const core::Tensor&
points,
68 utility::optional<std::reference_wrapper<const core::Tensor>> colors,
69 const core::Tensor& intrinsics,
70 const core::Tensor& extrinsics,
75 const core::Tensor& min_bound,
76 const core::Tensor& max_bound,
80 const core::Tensor& center,
81 const core::Tensor& rotation,
82 const core::Tensor& extent,
88 const core::Tensor& direction);
91 core::Tensor& normals,
92 const core::Tensor& camera);
95 const core::Tensor& normals,
96 const core::Tensor& indices,
97 const core::Tensor& counts,
99 double angle_threshold);
101 #ifdef BUILD_CUDA_MODULE
103 const core::Tensor& depth,
104 utility::optional<std::reference_wrapper<const core::Tensor>>
107 utility::optional<std::reference_wrapper<core::Tensor>> colors,
108 const core::Tensor& intrinsics,
109 const core::Tensor& extrinsics,
116 utility::optional<std::reference_wrapper<core::Tensor>> image_colors,
117 const core::Tensor&
points,
118 utility::optional<std::reference_wrapper<const core::Tensor>> colors,
119 const core::Tensor& intrinsics,
120 const core::Tensor& extrinsics,
124 void GetPointMaskWithinAABBCUDA(
const core::Tensor&
points,
125 const core::Tensor& min_bound,
126 const core::Tensor& max_bound,
129 void GetPointMaskWithinOBBCUDA(
const core::Tensor&
points,
130 const core::Tensor& center,
131 const core::Tensor& rotation,
132 const core::Tensor& extent,
135 void NormalizeNormalsCUDA(core::Tensor& normals);
137 void OrientNormalsToAlignWithDirectionCUDA(core::Tensor& normals,
138 const core::Tensor& direction);
140 void OrientNormalsTowardsCameraLocationCUDA(
const core::Tensor&
points,
141 core::Tensor& normals,
142 const core::Tensor& camera);
144 void ComputeBoundaryPointsCUDA(
const core::Tensor&
points,
145 const core::Tensor& normals,
146 const core::Tensor& indices,
147 const core::Tensor& counts,
149 double angle_threshold);
153 core::Tensor& covariances,
154 const double& radius,
155 const int64_t& max_nn);
158 core::Tensor& covariances,
159 const int64_t& max_nn);
162 core::Tensor& covariances,
163 const double& radius);
166 core::Tensor& normals,
170 const core::Tensor& normals,
171 const core::Tensor& colors,
172 core::Tensor& color_gradient,
173 const double& radius,
174 const int64_t& max_nn);
177 const core::Tensor& normals,
178 const core::Tensor& colors,
179 core::Tensor& color_gradient,
180 const int64_t& max_nn);
183 const core::Tensor& normals,
184 const core::Tensor& colors,
185 core::Tensor& color_gradient,
186 const double& radius);
188 #ifdef BUILD_CUDA_MODULE
189 void EstimateCovariancesUsingHybridSearchCUDA(
const core::Tensor&
points,
190 core::Tensor& covariances,
191 const double& radius,
192 const int64_t& max_nn);
194 void EstimateCovariancesUsingKNNSearchCUDA(
const core::Tensor&
points,
195 core::Tensor& covariances,
196 const int64_t& max_nn);
198 void EstimateCovariancesUsingRadiusSearchCUDA(
const core::Tensor&
points,
199 core::Tensor& covariances,
200 const double& radius);
202 void EstimateNormalsFromCovariancesCUDA(
const core::Tensor& covariances,
203 core::Tensor& normals,
206 void EstimateColorGradientsUsingHybridSearchCUDA(
const core::Tensor&
points,
207 const core::Tensor& normals,
208 const core::Tensor& colors,
209 core::Tensor& color_gradient,
210 const double& radius,
211 const int64_t& max_nn);
213 void EstimateColorGradientsUsingKNNSearchCUDA(
const core::Tensor&
points,
214 const core::Tensor& normals,
215 const core::Tensor& colors,
216 core::Tensor& color_gradient,
217 const int64_t& max_nn);
219 void EstimateColorGradientsUsingRadiusSearchCUDA(
const core::Tensor&
points,
220 const core::Tensor& normals,
221 const core::Tensor& colors,
222 core::Tensor& color_gradient,
223 const double& radius);
size_t stride
Definition: TriangleMeshBuffers.cpp:165
void EstimateCovariancesUsingHybridSearchCPU(const core::Tensor &points, core::Tensor &covariances, const double &radius, const int64_t &max_nn)
Definition: PointCloudImpl.h:562
void GetPointMaskWithinAABB(const core::Tensor &points, const core::Tensor &min_bound, const core::Tensor &max_bound, core::Tensor &mask)
Definition: PointCloud.cpp:100
void EstimateCovariancesUsingRadiusSearchCPU(const core::Tensor &points, core::Tensor &covariances, const double &radius)
Definition: PointCloudImpl.h:612
void UnprojectCPU(const core::Tensor &depth, utility::optional< std::reference_wrapper< const core::Tensor >> image_colors, core::Tensor &points, utility::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:45
void EstimateNormalsFromCovariancesCPU(const core::Tensor &covariances, core::Tensor &normals, const bool has_normals)
Definition: PointCloudImpl.h:979
void OrientNormalsTowardsCameraLocationCPU(const core::Tensor &points, core::Tensor &normals, const core::Tensor &camera)
Definition: PointCloudImpl.h:286
void ProjectCPU(core::Tensor &depth, utility::optional< std::reference_wrapper< core::Tensor >> image_colors, const core::Tensor &points, utility::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:18
void GetPointMaskWithinAABBCPU(const core::Tensor &points, const core::Tensor &min_bound, const core::Tensor &max_bound, core::Tensor &mask)
Definition: PointCloudImpl.h:143
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:421
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:1185
void Unproject(const core::Tensor &depth, utility::optional< std::reference_wrapper< const core::Tensor >> image_colors, core::Tensor &points, utility::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:23
void NormalizeNormalsCPU(core::Tensor &normals)
Definition: PointCloudImpl.h:221
void Project(core::Tensor &depth, utility::optional< std::reference_wrapper< core::Tensor >> image_colors, const core::Tensor &points, utility::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:62
void GetPointMaskWithinOBB(const core::Tensor &points, const core::Tensor ¢er, const core::Tensor &rotation, const core::Tensor &extent, core::Tensor &mask)
Definition: PointCloud.cpp:125
void EstimateColorGradientsUsingRadiusSearchCPU(const core::Tensor &points, const core::Tensor &normals, const core::Tensor &colors, core::Tensor &color_gradient, const double &radius)
Definition: PointCloudImpl.h:1240
void GetPointMaskWithinOBBCPU(const core::Tensor &points, const core::Tensor ¢er, const core::Tensor &rotation, const core::Tensor &extent, core::Tensor &mask)
Definition: PointCloudImpl.h:177
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:1133
void OrientNormalsToAlignWithDirectionCPU(core::Tensor &normals, const core::Tensor &direction)
Definition: PointCloudImpl.h:252
void EstimateCovariancesUsingKNNSearchCPU(const core::Tensor &points, core::Tensor &covariances, const int64_t &max_nn)
Definition: PointCloudImpl.h:661
Definition: PinholeCameraIntrinsic.cpp:16