Gaussian distribution voxelmap on GPU.
More...
#include <gaussian_voxelmap_gpu.hpp>
|
| | GaussianVoxelMapGPU (float resolution, int init_num_buckets=8192 *2, int max_bucket_scan_count=10, double target_points_drop_rate=1e-3, CUstream_st *stream=0) |
| |
| virtual double | voxel_resolution () const override |
| | Voxel resolution.
|
| |
| virtual void | insert (const PointCloud &frame) override |
| |
| void | save_compact (const std::string &path) const override |
| | Save the voxelmap.
|
| |
| size_t | memory_usage_gpu () const override |
| | Memory usage in bytes on the GPU.
|
| |
| bool | loaded_on_gpu () const override |
| | Check if the data is loaded on the GPU.
|
| |
| bool | offload_gpu (CUstream_st *stream=0) override |
| | Offload data from GPU to CPU.
|
| |
| bool | reload_gpu (CUstream_st *stream=0) override |
| | Reload data from CPU to GPU.
|
| |
|
std::uint64_t | last_accessed_time () const |
| | Time of the last access to this object.
|
| |
| virtual bool | touch (CUstream_st *stream=0) |
| | Reload data from CPU to GPU (if necessary) and update the last access time.
|
| |
|
| static GaussianVoxelMapGPU::Ptr | load (const std::string &path) |
| | Load a voxelmap from a file.
|
| |
|
static std::uint64_t | current_access_time () |
| | Current global access time counter.
|
| |
|
|
CUstream_st * | stream |
| |
|
const int | init_num_buckets |
| | Initial number of buckets.
|
| |
|
const double | target_points_drop_rate |
| | Allowable points drop rate.
|
| |
|
VoxelMapInfo | voxelmap_info |
| | Voxelmap information.
|
| |
|
VoxelMapInfo * | voxelmap_info_ptr |
| | Voxelmap information on GPU memory.
|
| |
|
VoxelBucket * | buckets |
| | Voxel buckets for hashing.
|
| |
|
int * | num_points |
| | Number of points in eac voxel.
|
| |
|
Eigen::Vector3f * | voxel_means |
| | Voxel means.
|
| |
|
Eigen::Matrix3f * | voxel_covs |
| | Voxel covariances.
|
| |
|
float * | voxel_intensities |
| | Voxel intentisities.
|
| |
|
std::vector< VoxelBucket > | offloaded_buckets |
| | Offloaded buckets.
|
| |
|
std::vector< int > | offloaded_num_points |
| | Offloaded number of points.
|
| |
|
std::vector< Eigen::Vector3f > | offloaded_voxel_means |
| | Offloaded voxel means.
|
| |
|
std::vector< Eigen::Matrix3f > | offloaded_voxel_covs |
| | Offloaded voxel covariances.
|
| |
|
|
std::uint64_t | last_access |
| | Last access time of this object.
|
| |
|
static std::atomic_uint64_t | access_counter |
| | Global counter for the last access time.
|
| |
Gaussian distribution voxelmap on GPU.
◆ GaussianVoxelMapGPU()
| gtsam_points::GaussianVoxelMapGPU::GaussianVoxelMapGPU |
( |
float |
resolution, |
|
|
int |
init_num_buckets = 8192 *2, |
|
|
int |
max_bucket_scan_count = 10, |
|
|
double |
target_points_drop_rate = 1e-3, |
|
|
CUstream_st * |
stream = 0 |
|
) |
| |
- Parameters
-
| resolution | Voxel resolution |
| init_num_buckets | Initial buckets size |
| max_bucket_scan_count | Maximum number of open hashmap addressing trials. If a target voxel coord is not found in successive N buckets, it is considered to be not found. Setting a larger value makes the hashing slower but results in a smaller memory footprint. |
| target_points_drop_rate | This parameter allows to drop a fraction of points during the bucket creation. |
◆ insert()
| virtual void gtsam_points::GaussianVoxelMapGPU::insert |
( |
const PointCloud & |
frame | ) |
|
|
overridevirtual |
◆ load()
| static GaussianVoxelMapGPU::Ptr gtsam_points::GaussianVoxelMapGPU::load |
( |
const std::string & |
path | ) |
|
|
static |
Load a voxelmap from a file.
- Parameters
-
| path | Path to a voxelmap file to be loaded |
◆ loaded_on_gpu()
| bool gtsam_points::GaussianVoxelMapGPU::loaded_on_gpu |
( |
| ) |
const |
|
overridevirtual |
◆ memory_usage_gpu()
| size_t gtsam_points::GaussianVoxelMapGPU::memory_usage_gpu |
( |
| ) |
const |
|
overridevirtual |
◆ offload_gpu()
| bool gtsam_points::GaussianVoxelMapGPU::offload_gpu |
( |
CUstream_st * |
stream = 0 | ) |
|
|
overridevirtual |
Offload data from GPU to CPU.
- Returns
- true if the data offload is conducted, false if the data is already on the CPU
Implements gtsam_points::OffloadableGPU.
◆ reload_gpu()
| bool gtsam_points::GaussianVoxelMapGPU::reload_gpu |
( |
CUstream_st * |
stream = 0 | ) |
|
|
overridevirtual |
Reload data from CPU to GPU.
- Returns
- true if the data upload is conducted, false if the data is already on the GPU
Implements gtsam_points::OffloadableGPU.
◆ save_compact()
| void gtsam_points::GaussianVoxelMapGPU::save_compact |
( |
const std::string & |
path | ) |
const |
|
overridevirtual |
◆ voxel_resolution()
| virtual double gtsam_points::GaussianVoxelMapGPU::voxel_resolution |
( |
| ) |
const |
|
inlineoverridevirtual |
The documentation for this class was generated from the following file: