29 #include <unordered_map> 40 void Touch(std::shared_ptr<core::Hashmap>& hashmap,
41 const core::Tensor&
points,
42 core::Tensor& voxel_block_coords,
43 int64_t voxel_grid_resolution,
48 const core::Tensor&
color,
49 const core::Tensor& block_indices,
50 const core::Tensor& block_keys,
51 core::Tensor& block_values,
52 const core::Tensor& intrinsics,
53 const core::Tensor& extrinsics,
61 core::Tensor& range_minmax_map,
62 const core::Tensor& intrinsics,
63 const core::Tensor& extrinsics,
67 int64_t block_resolution,
72 void RayCast(std::shared_ptr<core::DeviceHashmap>& hashmap,
73 const core::Tensor& block_values,
74 const core::Tensor& range_map,
75 core::Tensor& vertex_map,
76 core::Tensor& depth_map,
77 core::Tensor& color_map,
78 core::Tensor& normal_map,
79 const core::Tensor& intrinsics,
80 const core::Tensor& extrinsics,
83 int64_t block_resolution,
89 float weight_threshold);
92 const core::Tensor& block_indices,
93 const core::Tensor& nb_block_indices,
94 const core::Tensor& nb_block_masks,
95 const core::Tensor& block_keys,
96 const core::Tensor& block_values,
98 utility::optional<std::reference_wrapper<core::Tensor>> normals,
99 utility::optional<std::reference_wrapper<core::Tensor>> colors,
100 int64_t block_resolution,
102 float weight_threshold,
106 const core::Tensor& block_indices,
107 const core::Tensor& inv_block_indices,
108 const core::Tensor& nb_block_indices,
109 const core::Tensor& nb_block_masks,
110 const core::Tensor& block_keys,
111 const core::Tensor& block_values,
112 core::Tensor& vertices,
113 core::Tensor& triangles,
114 utility::optional<std::reference_wrapper<core::Tensor>> vertex_normals,
115 utility::optional<std::reference_wrapper<core::Tensor>> vertex_colors,
116 int64_t block_resolution,
118 float weight_threshold,
121 void TouchCPU(std::shared_ptr<core::Hashmap>& hashmap,
122 const core::Tensor&
points,
123 core::Tensor& voxel_block_coords,
124 int64_t voxel_grid_resolution,
129 const core::Tensor&
color,
130 const core::Tensor& block_indices,
131 const core::Tensor& block_keys,
132 core::Tensor& block_values,
133 const core::Tensor& intrinsics,
134 const core::Tensor& extrinsics,
142 core::Tensor& range_minmax_map,
143 const core::Tensor& intrinsics,
144 const core::Tensor& extrinsics,
148 int64_t block_resolution,
153 void RayCastCPU(std::shared_ptr<core::DeviceHashmap>& hashmap,
154 const core::Tensor& block_values,
155 const core::Tensor& range_map,
156 core::Tensor& vertex_map,
157 core::Tensor& depth_map,
158 core::Tensor& color_map,
159 core::Tensor& normal_map,
160 const core::Tensor& intrinsics,
161 const core::Tensor& extrinsics,
164 int64_t block_resolution,
170 float weight_threshold);
173 const core::Tensor& block_indices,
174 const core::Tensor& nb_block_indices,
175 const core::Tensor& nb_block_masks,
176 const core::Tensor& block_keys,
177 const core::Tensor& block_values,
179 utility::optional<std::reference_wrapper<core::Tensor>> normals,
180 utility::optional<std::reference_wrapper<core::Tensor>> colors,
181 int64_t block_resolution,
183 float weight_threshold,
187 const core::Tensor& block_indices,
188 const core::Tensor& inv_block_indices,
189 const core::Tensor& nb_block_indices,
190 const core::Tensor& nb_block_masks,
191 const core::Tensor& block_keys,
192 const core::Tensor& block_values,
193 core::Tensor& vertices,
194 core::Tensor& triangles,
195 utility::optional<std::reference_wrapper<core::Tensor>> vertex_normals,
196 utility::optional<std::reference_wrapper<core::Tensor>> vertex_colors,
197 int64_t block_resolution,
199 float weight_threshold,
202 #ifdef BUILD_CUDA_MODULE 203 void TouchCUDA(std::shared_ptr<core::Hashmap>& hashmap,
204 const core::Tensor&
points,
205 core::Tensor& voxel_block_coords,
206 int64_t voxel_grid_resolution,
210 void IntegrateCUDA(
const core::Tensor& depth,
211 const core::Tensor&
color,
212 const core::Tensor& block_indices,
213 const core::Tensor& block_keys,
214 core::Tensor& block_values,
215 const core::Tensor& intrinsics,
216 const core::Tensor& extrinsics,
223 void EstimateRangeCUDA(
const core::Tensor& block_keys,
224 core::Tensor& range_minmax_map,
225 const core::Tensor& intrinsics,
226 const core::Tensor& extrinsics,
230 int64_t block_resolution,
235 void RayCastCUDA(std::shared_ptr<core::DeviceHashmap>& hashmap,
236 const core::Tensor& block_values,
237 const core::Tensor& range_map,
238 core::Tensor& vertex_map,
239 core::Tensor& depth_map,
240 core::Tensor& color_map,
241 core::Tensor& normal_map,
242 const core::Tensor& intrinsics,
243 const core::Tensor& extrinsics,
246 int64_t block_resolution,
252 float weight_threshold);
254 void ExtractSurfacePointsCUDA(
255 const core::Tensor& block_indices,
256 const core::Tensor& nb_block_indices,
257 const core::Tensor& nb_block_masks,
258 const core::Tensor& block_keys,
259 const core::Tensor& block_values,
261 utility::optional<std::reference_wrapper<core::Tensor>> normals,
262 utility::optional<std::reference_wrapper<core::Tensor>> colors,
263 int64_t block_resolution,
265 float weight_threshold,
268 void ExtractSurfaceMeshCUDA(
269 const core::Tensor& block_indices,
270 const core::Tensor& inv_block_indices,
271 const core::Tensor& nb_block_indices,
272 const core::Tensor& nb_block_masks,
273 const core::Tensor& block_keys,
274 const core::Tensor& block_values,
275 core::Tensor& vertices,
276 core::Tensor& triangles,
277 utility::optional<std::reference_wrapper<core::Tensor>> vertex_normals,
278 utility::optional<std::reference_wrapper<core::Tensor>> vertex_colors,
279 int64_t block_resolution,
281 float weight_threshold,
void EstimateRange(const core::Tensor &block_keys, core::Tensor &range_minmax_map, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int h, int w, int down_factor, int64_t block_resolution, float voxel_size, float depth_min, float depth_max)
Definition: TSDFVoxelGrid.cpp:121
void TouchCPU(std::shared_ptr< core::Hashmap > &hashmap, const core::Tensor &points, core::Tensor &voxel_block_coords, int64_t voxel_grid_resolution, float voxel_size, float sdf_trunc)
Definition: TSDFVoxelGridCPU.cpp:71
void ExtractSurfaceMeshCPU(const core::Tensor &block_indices, const core::Tensor &inv_block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const core::Tensor &block_values, core::Tensor &vertices, core::Tensor &triangles, utility::optional< std::reference_wrapper< core::Tensor >> vertex_normals, utility::optional< std::reference_wrapper< core::Tensor >> vertex_colors, int64_t block_resolution, float voxel_size, float weight_threshold, int &vertex_count)
Definition: TSDFVoxelGridImpl.h:489
void EstimateRangeCPU(const core::Tensor &block_keys, core::Tensor &range_minmax_map, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int h, int w, int down_factor, int64_t block_resolution, float voxel_size, float depth_min, float depth_max)
Definition: TSDFVoxelGridImpl.h:903
math::float4 color
Definition: LineSetBuffers.cpp:64
void ExtractSurfacePointsCPU(const core::Tensor &block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const core::Tensor &block_values, core::Tensor &points, utility::optional< std::reference_wrapper< core::Tensor >> normals, utility::optional< std::reference_wrapper< core::Tensor >> colors, int64_t block_resolution, float voxel_size, float weight_threshold, int &valid_size)
Definition: TSDFVoxelGridImpl.h:177
int points
Definition: FilePCD.cpp:73
void ExtractSurfacePoints(const core::Tensor &block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const core::Tensor &block_values, core::Tensor &points, utility::optional< std::reference_wrapper< core::Tensor >> normals, utility::optional< std::reference_wrapper< core::Tensor >> colors, int64_t block_resolution, float voxel_size, float weight_threshold, int &valid_size)
Definition: TSDFVoxelGrid.cpp:202
Definition: PinholeCameraIntrinsic.cpp:35
void RayCast(std::shared_ptr< core::DeviceHashmap > &hashmap, const core::Tensor &block_values, const core::Tensor &range_map, core::Tensor &vertex_map, core::Tensor &depth_map, core::Tensor &color_map, core::Tensor &normal_map, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int h, int w, int64_t block_resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_min, float depth_max, float weight_threshold)
Definition: TSDFVoxelGrid.cpp:157
void RayCastCPU(std::shared_ptr< core::DeviceHashmap > &hashmap, const core::Tensor &block_values, const core::Tensor &range_map, core::Tensor &vertex_map, core::Tensor &depth_map, core::Tensor &color_map, core::Tensor &normal_map, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int h, int w, int64_t block_resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_min, float depth_max, float weight_threshold)
Definition: TSDFVoxelGridImpl.h:1115
void Touch(std::shared_ptr< core::Hashmap > &hashmap, const core::Tensor &points, core::Tensor &voxel_block_coords, int64_t voxel_grid_resolution, float voxel_size, float sdf_trunc)
Definition: TSDFVoxelGrid.cpp:41
void IntegrateCPU(const core::Tensor &depth, const core::Tensor &color, const core::Tensor &block_indices, const core::Tensor &block_keys, core::Tensor &block_values, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int64_t resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_max)
Definition: TSDFVoxelGridImpl.h:54
void ExtractSurfaceMesh(const core::Tensor &block_indices, const core::Tensor &inv_block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const core::Tensor &block_values, core::Tensor &vertices, core::Tensor &triangles, utility::optional< std::reference_wrapper< core::Tensor >> vertex_normals, utility::optional< std::reference_wrapper< core::Tensor >> vertex_colors, int64_t block_resolution, float voxel_size, float weight_threshold, int &vertex_count)
Definition: TSDFVoxelGrid.cpp:237
void Integrate(const core::Tensor &depth, const core::Tensor &color, const core::Tensor &block_indices, const core::Tensor &block_keys, core::Tensor &block_values, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int64_t resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_max)
Definition: TSDFVoxelGrid.cpp:65