Open3D (C++ API)  0.18.0
Public Member Functions | Data Fields
open3d::pipelines::integration::UniformTSDFVolume Class Reference

UniformTSDFVolume implements the classic TSDF volume with uniform voxel grid (Curless and Levoy 1996). More...

#include <UniformTSDFVolume.h>

Inheritance diagram for open3d::pipelines::integration::UniformTSDFVolume:
open3d::pipelines::integration::TSDFVolume

Public Member Functions

 UniformTSDFVolume (double length, int resolution, double sdf_trunc, TSDFVolumeColorType color_type, const Eigen::Vector3d &origin=Eigen::Vector3d::Zero())
 
 ~UniformTSDFVolume () override
 
void Reset () override
 Function to reset the TSDFVolume. More...
 
void Integrate (const geometry::RGBDImage &image, const camera::PinholeCameraIntrinsic &intrinsic, const Eigen::Matrix4d &extrinsic) override
 Function to integrate an RGB-D image into the volume. More...
 
std::shared_ptr< geometry::PointCloudExtractPointCloud () override
 Function to extract a point cloud with normals. More...
 
std::shared_ptr< geometry::TriangleMeshExtractTriangleMesh () override
 Function to extract a triangle mesh, using the marching cubes algorithm. (https://en.wikipedia.org/wiki/Marching_cubes) More...
 
std::shared_ptr< geometry::PointCloudExtractVoxelPointCloud () const
 Debug function to extract the voxel data into a VoxelGrid. More...
 
std::shared_ptr< geometry::VoxelGridExtractVoxelGrid () const
 Debug function to extract the voxel data VoxelGrid. More...
 
std::vector< Eigen::Vector2d > ExtractVolumeTSDF () const
 Debug function to extract the volume TSDF data into a vector array. More...
 
std::vector< Eigen::Vector3d > ExtractVolumeColor () const
 Debug function to extract the volume color data into a vector array. More...
 
void InjectVolumeTSDF (const std::vector< Eigen::Vector2d > &sharedvoxels)
 Debug function to inject voxel TSDF data into the volume. More...
 
void InjectVolumeColor (const std::vector< Eigen::Vector3d > &sharedcolors)
 Debug function to inject voxel Color data into the volume. More...
 
void IntegrateWithDepthToCameraDistanceMultiplier (const geometry::RGBDImage &image, const camera::PinholeCameraIntrinsic &intrinsic, const Eigen::Matrix4d &extrinsic, const geometry::Image &depth_to_camera_distance_multiplier)
 
int IndexOf (int x, int y, int z) const
 
int IndexOf (const Eigen::Vector3i &xyz) const
 
- Public Member Functions inherited from open3d::pipelines::integration::TSDFVolume
 TSDFVolume (double voxel_length, double sdf_trunc, TSDFVolumeColorType color_type)
 Default Constructor. More...
 
virtual ~TSDFVolume ()
 

Data Fields

std::vector< geometry::TSDFVoxelvoxels_
 
Eigen::Vector3d origin_
 
double length_
 Total length, where voxel_length = length / resolution. More...
 
int resolution_
 
int voxel_num_
 Number of voxels present. More...
 
- Data Fields inherited from open3d::pipelines::integration::TSDFVolume
double voxel_length_
 Length of the voxel in meters. More...
 
double sdf_trunc_
 Truncation value for signed distance function (SDF). More...
 
TSDFVolumeColorType color_type_
 Color type of the TSDF volume. More...
 

Detailed Description

UniformTSDFVolume implements the classic TSDF volume with uniform voxel grid (Curless and Levoy 1996).

Constructor & Destructor Documentation

◆ UniformTSDFVolume()

open3d::pipelines::integration::UniformTSDFVolume::UniformTSDFVolume ( double  length,
int  resolution,
double  sdf_trunc,
TSDFVolumeColorType  color_type,
const Eigen::Vector3d &  origin = Eigen::Vector3d::Zero() 
)

◆ ~UniformTSDFVolume()

open3d::pipelines::integration::UniformTSDFVolume::~UniformTSDFVolume ( )
override

Member Function Documentation

◆ ExtractPointCloud()

std::shared_ptr< geometry::PointCloud > open3d::pipelines::integration::UniformTSDFVolume::ExtractPointCloud ( )
overridevirtual

Function to extract a point cloud with normals.

Implements open3d::pipelines::integration::TSDFVolume.

◆ ExtractTriangleMesh()

std::shared_ptr< geometry::TriangleMesh > open3d::pipelines::integration::UniformTSDFVolume::ExtractTriangleMesh ( )
overridevirtual

Function to extract a triangle mesh, using the marching cubes algorithm. (https://en.wikipedia.org/wiki/Marching_cubes)

Implements open3d::pipelines::integration::TSDFVolume.

◆ ExtractVolumeColor()

std::vector< Eigen::Vector3d > open3d::pipelines::integration::UniformTSDFVolume::ExtractVolumeColor ( ) const

Debug function to extract the volume color data into a vector array.

◆ ExtractVolumeTSDF()

std::vector< Eigen::Vector2d > open3d::pipelines::integration::UniformTSDFVolume::ExtractVolumeTSDF ( ) const

Debug function to extract the volume TSDF data into a vector array.

◆ ExtractVoxelGrid()

std::shared_ptr< geometry::VoxelGrid > open3d::pipelines::integration::UniformTSDFVolume::ExtractVoxelGrid ( ) const

Debug function to extract the voxel data VoxelGrid.

◆ ExtractVoxelPointCloud()

std::shared_ptr< geometry::PointCloud > open3d::pipelines::integration::UniformTSDFVolume::ExtractVoxelPointCloud ( ) const

Debug function to extract the voxel data into a VoxelGrid.

◆ IndexOf() [1/2]

int open3d::pipelines::integration::UniformTSDFVolume::IndexOf ( const Eigen::Vector3i &  xyz) const
inline

◆ IndexOf() [2/2]

int open3d::pipelines::integration::UniformTSDFVolume::IndexOf ( int  x,
int  y,
int  z 
) const
inline

◆ InjectVolumeColor()

void open3d::pipelines::integration::UniformTSDFVolume::InjectVolumeColor ( const std::vector< Eigen::Vector3d > &  sharedcolors)

Debug function to inject voxel Color data into the volume.

◆ InjectVolumeTSDF()

void open3d::pipelines::integration::UniformTSDFVolume::InjectVolumeTSDF ( const std::vector< Eigen::Vector2d > &  sharedvoxels)

Debug function to inject voxel TSDF data into the volume.

◆ Integrate()

void open3d::pipelines::integration::UniformTSDFVolume::Integrate ( const geometry::RGBDImage image,
const camera::PinholeCameraIntrinsic intrinsic,
const Eigen::Matrix4d &  extrinsic 
)
overridevirtual

Function to integrate an RGB-D image into the volume.

Implements open3d::pipelines::integration::TSDFVolume.

◆ IntegrateWithDepthToCameraDistanceMultiplier()

void open3d::pipelines::integration::UniformTSDFVolume::IntegrateWithDepthToCameraDistanceMultiplier ( const geometry::RGBDImage image,
const camera::PinholeCameraIntrinsic intrinsic,
const Eigen::Matrix4d &  extrinsic,
const geometry::Image depth_to_camera_distance_multiplier 
)

Faster Integrate function that uses depth_to_camera_distance_multiplier precomputed from camera intrinsic

◆ Reset()

void open3d::pipelines::integration::UniformTSDFVolume::Reset ( )
overridevirtual

Function to reset the TSDFVolume.

Implements open3d::pipelines::integration::TSDFVolume.

Field Documentation

◆ length_

double open3d::pipelines::integration::UniformTSDFVolume::length_

Total length, where voxel_length = length / resolution.

◆ origin_

Eigen::Vector3d open3d::pipelines::integration::UniformTSDFVolume::origin_

◆ resolution_

int open3d::pipelines::integration::UniformTSDFVolume::resolution_

Resolution over the total length, where voxel_length = length / resolution.

◆ voxel_num_

int open3d::pipelines::integration::UniformTSDFVolume::voxel_num_

Number of voxels present.

◆ voxels_

std::vector<geometry::TSDFVoxel> open3d::pipelines::integration::UniformTSDFVolume::voxels_

The documentation for this class was generated from the following files: