28 : voxel_grid_(
std::vector<
std::string>({
"tsdf",
"weight",
"color"}),
29 std::vector<core::Dtype>(
31 std::vector<core::SizeVector>({{1}, {1}, {3}}),
36 T_frame_to_world_(T_init.To(core::Device(
"CPU:0"))) {}
42 float trunc_voxel_multiplier,
44 float weight_threshold) {
45 if (weight_threshold < 0) {
53 {
"depth",
"color"}, depth_scale, depth_min, depth_max,
54 weight_threshold, trunc_voxel_multiplier);
69 const Frame& input_frame,
70 const Frame& raycast_frame,
75 const std::vector<odometry::OdometryConvergenceCriteria>& criteria) {
86 raycast_frame.
GetIntrinsics(), init_source_to_target, depth_scale,
87 depth_max, criteria, method,
94 float trunc_voxel_multiplier) {
101 depth, intrinsic, extrinsic, depth_scale, depth_max,
102 trunc_voxel_multiplier);
104 extrinsic, depth_scale, depth_max,
105 trunc_voxel_multiplier);
109 int estimated_number) {
114 int estimated_number) {
static Tensor Eye(int64_t n, Dtype dtype, const Device &device)
Create an identity matrix of size n x n.
int64_t NumElements() const
The Image class stores image with customizable rows, cols, channels, dtype and device.
A point cloud contains a list of 3D points.
RGBDImage A pair of color and depth images.
A triangle mesh contains vertices and triangles.
PointCloud ExtractPointCloud(float weight_threshold=3.0f, int estimated_point_number=-1)
TensorMap RayCast(const core::Tensor &block_coords, const core::Tensor &intrinsic, const core::Tensor &extrinsic, int width, int height, const std::vector< std::string > attrs={"depth", "color"}, float depth_scale=1000.0f, float depth_min=0.1f, float depth_max=3.0f, float weight_threshold=3.0f, float trunc_voxel_multiplier=8.0f, int range_map_down_factor=8)
core::HashMap GetHashMap()
TriangleMesh ExtractTriangleMesh(float weight_threshold=3.0f, int estimated_vertex_numer=-1)
void Integrate(const core::Tensor &block_coords, const Image &depth, const Image &color, const core::Tensor &depth_intrinsic, const core::Tensor &color_intrinsic, const core::Tensor &extrinsic, float depth_scale=1000.0f, float depth_max=3.0f, float trunc_voxel_multiplier=8.0f)
core::Tensor GetUniqueBlockCoordinates(const Image &depth, const core::Tensor &intrinsic, const core::Tensor &extrinsic, float depth_scale=1000.0f, float depth_max=3.0f, float trunc_voxel_multiplier=8.0)
Frame is a container class storing an intrinsic matrix and several 2D tensors, from depth map,...
core::Tensor GetData(const std::string &name) const
core::Tensor GetIntrinsics() const
void SetData(const std::string &name, const core::Tensor &data)
t::geometry::Image GetDataAsImage(const std::string &name) const
void SynthesizeModelFrame(Frame &raycast_frame, float depth_scale=1000.0, float depth_min=0.1, float depth_max=3.0, float trunc_voxel_multiplier=8.0, bool enable_color=true, float weight_threshold=-1.0)
odometry::OdometryResult TrackFrameToModel(const Frame &input_frame, const Frame &raycast_frame, float depth_scale=1000.0, float depth_max=3.0, float depth_diff=0.07, odometry::Method method=odometry::Method::PointToPlane, const std::vector< odometry::OdometryConvergenceCriteria > &criteria={6, 3, 1})
core::Tensor GetCurrentFramePose() const
t::geometry::TriangleMesh ExtractTriangleMesh(float weight_threshold=3.0f, int estimated_number=-1)
void Integrate(const Frame &input_frame, float depth_scale=1000.0, float depth_max=3.0, float trunc_voxel_multiplier=8.0f)
core::HashMap GetHashMap()
Get block hashmap int the VoxelBlockGrid.
t::geometry::PointCloud ExtractPointCloud(float weight_threshold=3.0f, int estimated_number=-1)
t::geometry::VoxelBlockGrid voxel_grid_
Maintained volumetric map.
core::Tensor frustum_block_coords_
Active block coordinates from prior integration.
core::Tensor InverseTransformation(const core::Tensor &T)
TODO(wei): find a proper place for such functionalities.
OdometryResult RGBDOdometryMultiScale(const RGBDImage &source, const RGBDImage &target, const Tensor &intrinsics, const Tensor &init_source_to_target, const float depth_scale, const float depth_max, const std::vector< OdometryConvergenceCriteria > &criteria, const Method method, const OdometryLossParams ¶ms)
Create an RGBD image pyramid given the original source and target RGBD images, and perform hierarchic...
Generic file read and write utility for python interface.