|
Open3D (C++ API)
0.19.0
|
#include <Model.h>
Public Member Functions | |
| Model () | |
| Model (float voxel_size, int block_resolution=16, int block_count=1000, const core::Tensor &T_init=core::Tensor::Eye(4, core::Float64, core::Device("CPU:0")), const core::Device &device=core::Device("CUDA:0")) | |
| core::Tensor | GetCurrentFramePose () const |
| void | UpdateFramePose (int frame_id, const core::Tensor &T_frame_to_world) |
| 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}) |
| void | Integrate (const Frame &input_frame, float depth_scale=1000.0, float depth_max=3.0, float trunc_voxel_multiplier=8.0f) |
| t::geometry::PointCloud | ExtractPointCloud (float weight_threshold=3.0f, int estimated_number=-1) |
| t::geometry::TriangleMesh | ExtractTriangleMesh (float weight_threshold=3.0f, int estimated_number=-1) |
| core::HashMap | GetHashMap () |
| Get block hashmap int the VoxelBlockGrid. More... | |
Data Fields | |
| t::geometry::VoxelBlockGrid | voxel_grid_ |
| Maintained volumetric map. More... | |
| core::Tensor | frustum_block_coords_ |
| Active block coordinates from prior integration. More... | |
| core::Tensor | T_frame_to_world_ |
| int | frame_id_ = -1 |
Model class maintaining a volumetric grid and the current active frame's pose. Wraps functionalities including integration, ray casting, and surface reconstruction.
|
inline |
| open3d::t::pipelines::slam::Model::Model | ( | float | voxel_size, |
| int | block_resolution = 16, |
||
| int | block_count = 1000, |
||
| const core::Tensor & | T_init = core::Tensor::Eye(4, core::Float64, core::Device("CPU:0")), |
||
| const core::Device & | device = core::Device("CUDA:0") |
||
| ) |
| t::geometry::PointCloud open3d::t::pipelines::slam::Model::ExtractPointCloud | ( | float | weight_threshold = 3.0f, |
| int | estimated_number = -1 |
||
| ) |
Extract surface point cloud for visualization / model saving.
| weight_threshold | Weight threshold of the TSDF voxels to prune noise. |
| estimated_number | Estimation of the point cloud size, helpful for real-time visualization. |
| t::geometry::TriangleMesh open3d::t::pipelines::slam::Model::ExtractTriangleMesh | ( | float | weight_threshold = 3.0f, |
| int | estimated_number = -1 |
||
| ) |
Extract surface triangle mesh for visualization / model saving.
| weight_threshold | Weight threshold of the TSDF voxels to prune noise. |
| estimated_number | Estimation of the point cloud size, helpful for real-time visualization. |
|
inline |
| core::HashMap open3d::t::pipelines::slam::Model::GetHashMap | ( | ) |
Get block hashmap int the VoxelBlockGrid.
| void open3d::t::pipelines::slam::Model::Integrate | ( | const Frame & | input_frame, |
| float | depth_scale = 1000.0, |
||
| float | depth_max = 3.0, |
||
| float | trunc_voxel_multiplier = 8.0f |
||
| ) |
Integrate RGBD frame into the volumetric voxel grid.
| input_frame | Input RGBD frame. |
| depth_scale | Scale factor to convert raw data into meter metric. |
| depth_max | Depth truncation to discard points far away from the camera. |
| trunc_voxel_multiplier | Truncation distance multiplier in voxel size for signed distance. For instance, –trunc_voxel_multiplier=8 with –voxel_size=0.006(m) creates a truncation distance of 0.048(m). |
| void open3d::t::pipelines::slam::Model::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 |
||
| ) |
Apply ray casting to obtain a synthesized model frame at the down sampled resolution.
| raycast_frame | RGBD frame to fill the raycasting results. |
| depth_scale | Scale factor to convert raw data into meter metric. |
| depth_min | Depth where ray casting starts from. |
| depth_max | Depth where ray casting stops at. |
| trunc_voxel_multiplier | Truncation distance multiplier in voxel size for signed distance. For instance, –trunc_voxel_multiplier=8 with –voxel_size=0.006(m) creates a truncation distance of 0.048(m). |
| enable_color | Enable color in the raycasting results. |
| weight_threshold | Weight threshold of the TSDF voxels to prune noise. Use -1 to apply default logic: min(frame_id_ * 1.0f, 3.0f). |
| odometry::OdometryResult open3d::t::pipelines::slam::Model::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} |
||
| ) |
Track using depth odometry.
| input_frame | Input RGBD frame. |
| raycast_frame | RGBD frame generated by raycasting. |
| depth_scale | Scale factor to convert raw data into meter metric. |
| depth_max | Depth truncation to discard points far away from the camera |
| method | Method used to apply RGBD odometry. |
| criteria | Criteria used to define and terminate iterations. In multiscale odometry the order is from coarse to fine. Inputting a vector of iterations by default triggers the implicit conversion. |
|
inline |
| int open3d::t::pipelines::slam::Model::frame_id_ = -1 |
| core::Tensor open3d::t::pipelines::slam::Model::frustum_block_coords_ |
Active block coordinates from prior integration.
| core::Tensor open3d::t::pipelines::slam::Model::T_frame_to_world_ |
T_frame_to_model, maintained tracking state in a (4, 4), Float64 Tensor on CPU.
| t::geometry::VoxelBlockGrid open3d::t::pipelines::slam::Model::voxel_grid_ |
Maintained volumetric map.