ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::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 cloudViewer::pipelines::integration::UniformTSDFVolume:
Collaboration diagram for cloudViewer::pipelines::integration::UniformTSDFVolume:

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< ccPointCloudExtractPointCloud () override
 Function to extract a point cloud with normals. More...
 
std::shared_ptr< ccMeshExtractTriangleMesh () override
 Function to extract a triangle mesh, using the marching cubes algorithm. (https://en.wikipedia.org/wiki/Marching_cubes) More...
 
std::shared_ptr< ccPointCloudExtractVoxelPointCloud () 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 cloudViewer::pipelines::integration::TSDFVolume
 TSDFVolume (double voxel_length, double sdf_trunc, TSDFVolumeColorType color_type)
 Default Constructor. More...
 
virtual ~TSDFVolume ()
 

Public Attributes

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...
 
- Public Attributes inherited from cloudViewer::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).

Definition at line 40 of file UniformTSDFVolume.h.

Constructor & Destructor Documentation

◆ UniformTSDFVolume()

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

Definition at line 25 of file UniformTSDFVolume.cpp.

References voxel_num_, and voxels_.

◆ ~UniformTSDFVolume()

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

Definition at line 39 of file UniformTSDFVolume.cpp.

Member Function Documentation

◆ ExtractPointCloud()

std::shared_ptr< ccPointCloud > cloudViewer::pipelines::integration::UniformTSDFVolume::ExtractPointCloud ( )
overridevirtual

◆ ExtractTriangleMesh()

◆ ExtractVolumeColor()

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

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

Definition at line 370 of file UniformTSDFVolume.cpp.

References IndexOf(), resolution_, voxel_num_, and voxels_.

Referenced by cloudViewer::pipelines::integration::pybind_integration_classes().

◆ ExtractVolumeTSDF()

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

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

Definition at line 344 of file UniformTSDFVolume.cpp.

References IndexOf(), resolution_, voxel_num_, and voxels_.

Referenced by cloudViewer::pipelines::integration::pybind_integration_classes().

◆ ExtractVoxelGrid()

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

◆ ExtractVoxelPointCloud()

std::shared_ptr< ccPointCloud > cloudViewer::pipelines::integration::UniformTSDFVolume::ExtractVoxelPointCloud ( ) const

Debug function to extract the voxel data into a VoxelGrid.

Definition at line 266 of file UniformTSDFVolume.cpp.

References IndexOf(), origin_, resolution_, cloudViewer::pipelines::integration::TSDFVolume::voxel_length_, and voxels_.

Referenced by cloudViewer::pipelines::integration::pybind_integration_classes().

◆ IndexOf() [1/2]

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

Definition at line 82 of file UniformTSDFVolume.h.

References IndexOf().

◆ IndexOf() [2/2]

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

◆ InjectVolumeColor()

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

Debug function to inject voxel Color data into the volume.

Definition at line 415 of file UniformTSDFVolume.cpp.

References IndexOf(), resolution_, and voxels_.

Referenced by cloudViewer::pipelines::integration::pybind_integration_classes().

◆ InjectVolumeTSDF()

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

Debug function to inject voxel TSDF data into the volume.

Definition at line 393 of file UniformTSDFVolume.cpp.

References IndexOf(), resolution_, and voxels_.

Referenced by cloudViewer::pipelines::integration::pybind_integration_classes().

◆ Integrate()

◆ IntegrateWithDepthToCameraDistanceMultiplier()

◆ Reset()

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

Function to reset the TSDFVolume.

Implements cloudViewer::pipelines::integration::TSDFVolume.

Definition at line 41 of file UniformTSDFVolume.cpp.

References voxels_.

Member Data Documentation

◆ length_

double cloudViewer::pipelines::integration::UniformTSDFVolume::length_

Total length, where voxel_length = length / resolution.

Definition at line 90 of file UniformTSDFVolume.h.

Referenced by cloudViewer::pipelines::integration::pybind_integration_classes().

◆ origin_

Eigen::Vector3d cloudViewer::pipelines::integration::UniformTSDFVolume::origin_

◆ resolution_

int cloudViewer::pipelines::integration::UniformTSDFVolume::resolution_

◆ voxel_num_

int cloudViewer::pipelines::integration::UniformTSDFVolume::voxel_num_

Number of voxels present.

Definition at line 95 of file UniformTSDFVolume.h.

Referenced by ExtractVolumeColor(), ExtractVolumeTSDF(), and UniformTSDFVolume().

◆ voxels_


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