18 namespace pointcloud {
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,
31 void 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,
41 const core::Tensor& min_bound,
42 const core::Tensor& max_bound,
46 const core::Tensor& center,
47 const core::Tensor& rotation,
48 const core::Tensor& extent,
52 const core::Tensor& depth,
53 std::optional<std::reference_wrapper<const core::Tensor>> image_colors,
55 std::optional<std::reference_wrapper<core::Tensor>> colors,
56 const core::Tensor& intrinsics,
57 const core::Tensor& extrinsics,
64 std::optional<std::reference_wrapper<core::Tensor>> image_colors,
65 const core::Tensor&
points,
66 std::optional<std::reference_wrapper<const core::Tensor>> colors,
67 const core::Tensor& intrinsics,
68 const core::Tensor& extrinsics,
73 const core::Tensor& min_bound,
74 const core::Tensor& max_bound,
78 const core::Tensor& center,
79 const core::Tensor& rotation,
80 const core::Tensor& extent,
86 const core::Tensor& direction);
89 core::Tensor& normals,
90 const core::Tensor& camera);
93 const core::Tensor& normals,
94 const core::Tensor& indices,
95 const core::Tensor& counts,
97 double angle_threshold);
99 #ifdef BUILD_CUDA_MODULE
101 const core::Tensor& depth,
102 std::optional<std::reference_wrapper<const core::Tensor>> image_colors,
104 std::optional<std::reference_wrapper<core::Tensor>> colors,
105 const core::Tensor& intrinsics,
106 const core::Tensor& extrinsics,
113 std::optional<std::reference_wrapper<core::Tensor>> image_colors,
114 const core::Tensor&
points,
115 std::optional<std::reference_wrapper<const core::Tensor>> colors,
116 const core::Tensor& intrinsics,
117 const core::Tensor& extrinsics,
121 void GetPointMaskWithinAABBCUDA(
const core::Tensor&
points,
122 const core::Tensor& min_bound,
123 const core::Tensor& max_bound,
126 void GetPointMaskWithinOBBCUDA(
const core::Tensor&
points,
127 const core::Tensor& center,
128 const core::Tensor& rotation,
129 const core::Tensor& extent,
132 void NormalizeNormalsCUDA(core::Tensor& normals);
134 void OrientNormalsToAlignWithDirectionCUDA(core::Tensor& normals,
135 const core::Tensor& direction);
137 void OrientNormalsTowardsCameraLocationCUDA(
const core::Tensor&
points,
138 core::Tensor& normals,
139 const core::Tensor& camera);
141 void ComputeBoundaryPointsCUDA(
const core::Tensor&
points,
142 const core::Tensor& normals,
143 const core::Tensor& indices,
144 const core::Tensor& counts,
146 double angle_threshold);
150 core::Tensor& covariances,
151 const double& radius,
152 const int64_t& max_nn);
155 core::Tensor& covariances,
156 const int64_t& max_nn);
159 core::Tensor& covariances,
160 const double& radius);
163 core::Tensor& normals,
167 const core::Tensor& normals,
168 const core::Tensor& colors,
169 core::Tensor& color_gradient,
170 const double& radius,
171 const int64_t& max_nn);
174 const core::Tensor& normals,
175 const core::Tensor& colors,
176 core::Tensor& color_gradient,
177 const int64_t& max_nn);
180 const core::Tensor& normals,
181 const core::Tensor& colors,
182 core::Tensor& color_gradient,
183 const double& radius);
185 #ifdef BUILD_CUDA_MODULE
186 void EstimateCovariancesUsingHybridSearchCUDA(
const core::Tensor&
points,
187 core::Tensor& covariances,
188 const double& radius,
189 const int64_t& max_nn);
191 void EstimateCovariancesUsingKNNSearchCUDA(
const core::Tensor&
points,
192 core::Tensor& covariances,
193 const int64_t& max_nn);
195 void EstimateCovariancesUsingRadiusSearchCUDA(
const core::Tensor&
points,
196 core::Tensor& covariances,
197 const double& radius);
199 void EstimateNormalsFromCovariancesCUDA(
const core::Tensor& covariances,
200 core::Tensor& normals,
203 void EstimateColorGradientsUsingHybridSearchCUDA(
const core::Tensor&
points,
204 const core::Tensor& normals,
205 const core::Tensor& colors,
206 core::Tensor& color_gradient,
207 const double& radius,
208 const int64_t& max_nn);
210 void EstimateColorGradientsUsingKNNSearchCUDA(
const core::Tensor&
points,
211 const core::Tensor& normals,
212 const core::Tensor& colors,
213 core::Tensor& color_gradient,
214 const int64_t& max_nn);
216 void EstimateColorGradientsUsingRadiusSearchCUDA(
const core::Tensor&
points,
217 const core::Tensor& normals,
218 const core::Tensor& colors,
219 core::Tensor& color_gradient,
220 const double& radius);
double t
Definition: SurfaceReconstructionPoisson.cpp:172
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:561
void GetPointMaskWithinAABB(const core::Tensor &points, const core::Tensor &min_bound, const core::Tensor &max_bound, core::Tensor &mask)
Definition: PointCloud.cpp:97
void EstimateCovariancesUsingRadiusSearchCPU(const core::Tensor &points, core::Tensor &covariances, const double &radius)
Definition: PointCloudImpl.h:611
void EstimateNormalsFromCovariancesCPU(const core::Tensor &covariances, core::Tensor &normals, const bool has_normals)
Definition: PointCloudImpl.h:978
void OrientNormalsTowardsCameraLocationCPU(const core::Tensor &points, core::Tensor &normals, const core::Tensor &camera)
Definition: PointCloudImpl.h:285
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:45
void GetPointMaskWithinAABBCPU(const core::Tensor &points, const core::Tensor &min_bound, const core::Tensor &max_bound, core::Tensor &mask)
Definition: PointCloudImpl.h:142
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:420
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:60
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:18
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:1184
void NormalizeNormalsCPU(core::Tensor &normals)
Definition: PointCloudImpl.h:220
void GetPointMaskWithinOBB(const core::Tensor &points, const core::Tensor ¢er, const core::Tensor &rotation, const core::Tensor &extent, core::Tensor &mask)
Definition: PointCloud.cpp:122
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:1239
void GetPointMaskWithinOBBCPU(const core::Tensor &points, const core::Tensor ¢er, const core::Tensor &rotation, const core::Tensor &extent, core::Tensor &mask)
Definition: PointCloudImpl.h:176
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:1132
void OrientNormalsToAlignWithDirectionCPU(core::Tensor &normals, const core::Tensor &direction)
Definition: PointCloudImpl.h:251
void EstimateCovariancesUsingKNNSearchCPU(const core::Tensor &points, core::Tensor &covariances, const int64_t &max_nn)
Definition: PointCloudImpl.h:660
Definition: PinholeCameraIntrinsic.cpp:16