11 #include <unordered_map>
18 namespace integration {
20 class UniformTSDFVolume;
47 std::shared_ptr<UniformTSDFVolume>
volume_;
55 int volume_unit_resolution = 16,
56 int depth_sampling_stride = 4);
60 void Reset()
override;
63 const Eigen::Matrix4d &extrinsic)
override;
77 std::unordered_map<Eigen::Vector3i,
83 Eigen::Vector3i LocateVolumeUnit(
const Eigen::Vector3d &point) {
89 std::shared_ptr<UniformTSDFVolume> OpenVolumeUnit(
90 const Eigen::Vector3i &index);
92 Eigen::Vector3d GetNormalAt(
const Eigen::Vector3d &p);
94 double GetTSDFAt(
const Eigen::Vector3d &p);
std::shared_ptr< core::Tensor > image
Definition: FilamentRenderer.cpp:183
Contains the pinhole camera intrinsic parameters.
Definition: PinholeCameraIntrinsic.h:32
RGBDImage is for a pair of registered color and depth images,.
Definition: RGBDImage.h:27
Definition: ScalableTSDFVolume.h:40
std::shared_ptr< geometry::TriangleMesh > ExtractTriangleMesh() override
Function to extract a triangle mesh, using the marching cubes algorithm. (https://en....
Definition: ScalableTSDFVolume.cpp:203
ScalableTSDFVolume(double voxel_length, double sdf_trunc, TSDFVolumeColorType color_type, int volume_unit_resolution=16, int depth_sampling_stride=4)
Definition: ScalableTSDFVolume.cpp:21
void Reset() override
Function to reset the TSDFVolume.
Definition: ScalableTSDFVolume.cpp:33
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.
Definition: ScalableTSDFVolume.cpp:35
double volume_unit_length_
Definition: ScalableTSDFVolume.h:71
~ScalableTSDFVolume() override
Definition: ScalableTSDFVolume.cpp:31
std::unordered_map< Eigen::Vector3i, VolumeUnit, utility::hash_eigen< Eigen::Vector3i > > volume_units_
Definition: ScalableTSDFVolume.h:80
int depth_sampling_stride_
Definition: ScalableTSDFVolume.h:72
int volume_unit_resolution_
Definition: ScalableTSDFVolume.h:70
std::shared_ptr< geometry::PointCloud > ExtractVoxelPointCloud()
Debug function to extract the voxel data into a point cloud.
Definition: ScalableTSDFVolume.cpp:353
std::shared_ptr< geometry::PointCloud > ExtractPointCloud() override
Function to extract a point cloud with normals.
Definition: ScalableTSDFVolume.cpp:100
Base class of the Truncated Signed Distance Function (TSDF) volume.
Definition: TSDFVolume.h:42
TSDFVolumeColorType
Definition: TSDFVolume.h:22
FN_SPECIFIERS MiniVec< float, N > floor(const MiniVec< float, N > &a)
Definition: MiniVec.h:75
Definition: PinholeCameraIntrinsic.cpp:16
Definition: ScalableTSDFVolume.h:42
VolumeUnit()
Definition: ScalableTSDFVolume.h:44
Eigen::Vector3i index_
Definition: ScalableTSDFVolume.h:48
std::shared_ptr< UniformTSDFVolume > volume_
Definition: ScalableTSDFVolume.h:47