10#include <unordered_map>
31void DepthTouch(std::shared_ptr<core::HashMap>& hashmap,
71 int64_t block_resolution,
77void RayCast(std::shared_ptr<core::HashMap>& hashmap,
90 float weight_threshold,
91 float trunc_voxel_multiplier,
92 int range_map_down_factor);
104 float weight_threshold,
119 float weight_threshold,
149template <
typename input_depth_t,
150 typename input_color_t,
175 int64_t block_resolution,
181template <
typename tsdf_t,
typename weight_t,
typename color_t>
182void RayCastCPU(std::shared_ptr<core::HashMap>& hashmap,
195 float weight_threshold,
196 float trunc_voxel_multiplier,
197 int range_map_down_factor);
199template <
typename tsdf_t,
typename weight_t,
typename color_t>
210 float weight_threshold,
213template <
typename tsdf_t,
typename weight_t,
typename color_t>
226 float weight_threshold,
229#ifdef BUILD_CUDA_MODULE
230void PointCloudTouchCUDA(std::shared_ptr<core::HashMap>& hashmap,
237void DepthTouchCUDA(std::shared_ptr<core::HashMap>& hashmap,
249void GetVoxelCoordinatesAndFlattenedIndicesCUDA(
const core::Tensor& buf_indices,
256template <
typename input_depth_t,
257 typename input_color_t,
282 int64_t block_resolution,
288template <
typename tsdf_t,
typename weight_t,
typename color_t>
289void RayCastCUDA(std::shared_ptr<core::HashMap>& hashmap,
302 float weight_threshold,
303 float trunc_voxel_multiplier,
304 int range_map_down_factor);
306template <
typename tsdf_t,
typename weight_t,
typename color_t>
307void ExtractPointCloudCUDA(
const core::Tensor& block_indices,
317 float weight_threshold,
320template <
typename tsdf_t,
typename weight_t,
typename color_t>
321void ExtractTriangleMeshCUDA(
const core::Tensor& block_indices,
333 float weight_threshold,
math::float4 color
Definition LineSetBuffers.cpp:45
double t
Definition SurfaceReconstructionPoisson.cpp:172
size_t stride
Definition TriangleMeshBuffers.cpp:165
Definition TensorMap.h:31
void ExtractPointCloudCPU(const core::Tensor &block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const TensorMap &block_value_map, core::Tensor &points, core::Tensor &normals, core::Tensor &colors, index_t block_resolution, float voxel_size, float weight_threshold, index_t &valid_size)
Definition VoxelBlockGridImpl.h:1040
void PointCloudTouch(std::shared_ptr< core::HashMap > &hashmap, const core::Tensor &points, core::Tensor &voxel_block_coords, index_t voxel_grid_resolution, float voxel_size, float sdf_trunc)
Definition VoxelBlockGrid.cpp:24
void GetVoxelCoordinatesAndFlattenedIndicesCPU(const core::Tensor &buf_indices, const core::Tensor &block_keys, core::Tensor &voxel_coords, core::Tensor &flattened_indices, index_t block_resolution, float voxel_size)
Definition VoxelBlockGridImpl.h:38
void Integrate(const core::Tensor &depth, const core::Tensor &color, const core::Tensor &block_indices, const core::Tensor &block_keys, TensorMap &block_value_map, const core::Tensor &depth_intrinsic, const core::Tensor &color_intrinsic, const core::Tensor &extrinsic, index_t resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_max)
Definition VoxelBlockGrid.cpp:125
void ExtractTriangleMesh(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 TensorMap &block_value_map, core::Tensor &vertices, core::Tensor &triangles, core::Tensor &vertex_normals, core::Tensor &vertex_colors, index_t block_resolution, float voxel_size, float weight_threshold, int &vertex_count)
Definition VoxelBlockGrid.cpp:332
void ExtractPointCloud(const core::Tensor &block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const TensorMap &block_value_map, core::Tensor &points, core::Tensor &normals, core::Tensor &colors, index_t block_resolution, float voxel_size, float weight_threshold, int &valid_size)
Definition VoxelBlockGrid.cpp:282
void RayCast(std::shared_ptr< core::HashMap > &hashmap, const TensorMap &block_value_map, const core::Tensor &range_map, TensorMap &renderings_map, const core::Tensor &intrinsic, const core::Tensor &extrinsic, index_t h, index_t w, index_t block_resolution, float voxel_size, float depth_scale, float depth_min, float depth_max, float weight_threshold, float trunc_voxel_multiplier, int range_map_down_factor)
Definition VoxelBlockGrid.cpp:226
void GetVoxelCoordinatesAndFlattenedIndices(const core::Tensor &buf_indices, const core::Tensor &block_keys, core::Tensor &voxel_coords, core::Tensor &flattened_indices, index_t block_resolution, float voxel_size)
Definition VoxelBlockGrid.cpp:65
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, core::Tensor &fragment_buffer)
Definition VoxelBlockGrid.cpp:193
void IntegrateCPU(const core::Tensor &depth, const core::Tensor &color, const core::Tensor &block_indices, const core::Tensor &block_keys, TensorMap &block_value_map, const core::Tensor &depth_intrinsic, const core::Tensor &color_intrinsic, const core::Tensor &extrinsic, index_t resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_max)
Definition VoxelBlockGridImpl.h:149
void PointCloudTouchCPU(std::shared_ptr< core::HashMap > &hashmap, const core::Tensor &points, core::Tensor &voxel_block_coords, index_t voxel_grid_resolution, float voxel_size, float sdf_trunc)
CPU.
Definition VoxelBlockGridCPU.cpp:55
void ExtractTriangleMeshCPU(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 TensorMap &block_value_map, core::Tensor &vertices, core::Tensor &triangles, core::Tensor &vertex_normals, core::Tensor &vertex_colors, index_t block_resolution, float voxel_size, float weight_threshold, index_t &vertex_count)
Definition VoxelBlockGridImpl.h:1297
void DepthTouch(std::shared_ptr< core::HashMap > &hashmap, const core::Tensor &depth, const core::Tensor &intrinsic, const core::Tensor &extrinsic, core::Tensor &voxel_block_coords, index_t voxel_grid_resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_max, index_t stride)
Definition VoxelBlockGrid.cpp:41
void RayCastCPU(std::shared_ptr< core::HashMap > &hashmap, const TensorMap &block_value_map, const core::Tensor &range_map, TensorMap &renderings_map, const core::Tensor &intrinsic, const core::Tensor &extrinsic, index_t h, index_t w, index_t block_resolution, float voxel_size, float depth_scale, float depth_min, float depth_max, float weight_threshold, float trunc_voxel_multiplier, int range_map_down_factor)
Definition VoxelBlockGridImpl.h:541
int index_t
Definition VoxelBlockGrid.h:22
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, core::Tensor &fragment_buffer)
Definition VoxelBlockGridImpl.h:301
void DepthTouchCPU(std::shared_ptr< core::HashMap > &hashmap, const core::Tensor &depth, const core::Tensor &intrinsic, const core::Tensor &extrinsic, core::Tensor &voxel_block_coords, index_t voxel_grid_resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_max, index_t stride)
Definition VoxelBlockGridCPU.cpp:117
Definition PinholeCameraIntrinsic.cpp:16