gtsam_points
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
gtsam_points::IntensityKdTree Struct Reference

KdTree on intensity augmented coordinates. This class concatenates point coordinates (x, y, z) and intensity (i) and finds nearest neighbors on the XYZI space. More...

#include <intensity_kdtree.hpp>

Inheritance diagram for gtsam_points::IntensityKdTree:
Inheritance graph
[legend]
Collaboration diagram for gtsam_points::IntensityKdTree:
Collaboration graph
[legend]

Public Types

using Index = nanoflann::KDTreeSingleIndexAdaptor< nanoflann::L2_Simple_Adaptor< double, IntensityKdTree, double >, IntensityKdTree, 4, size_t >
 
- Public Types inherited from gtsam_points::NearestNeighborSearch
using Ptr = std::shared_ptr< NearestNeighborSearch >
 
using ConstPtr = std::shared_ptr< const NearestNeighborSearch >
 

Public Member Functions

 IntensityKdTree (const Eigen::Vector4d *points, const double *intensities, int num_points, double intensity_scale=1.0)
 Constructor.
 
size_t kdtree_get_point_count () const
 
double kdtree_get_pt (const size_t idx, const size_t dim) const
 
template<class BBox >
bool kdtree_get_bbox (BBox &) const
 
virtual size_t knn_search (const double *pt, size_t k, size_t *k_indices, double *k_sq_dists, double max_sq_dist=std::numeric_limits< double >::max()) const override
 k-nearest neighbor search
 
- Public Member Functions inherited from gtsam_points::NearestNeighborSearch
virtual size_t radius_search (const double *pt, double radius, std::vector< size_t > &indices, std::vector< double > &sq_dists, int max_num_neighbors=std::numeric_limits< int >::max()) const
 Radius search.
 

Public Attributes

const int num_points
 
const double * intensities
 
const Eigen::Vector4d * points
 
const double intensity_scale
 
double search_eps
 
std::unique_ptr< Indexindex
 

Detailed Description

KdTree on intensity augmented coordinates. This class concatenates point coordinates (x, y, z) and intensity (i) and finds nearest neighbors on the XYZI space.

Constructor & Destructor Documentation

◆ IntensityKdTree()

gtsam_points::IntensityKdTree::IntensityKdTree ( const Eigen::Vector4d *  points,
const double *  intensities,
int  num_points,
double  intensity_scale = 1.0 
)

Constructor.

Parameters
pointsInput points
intensitiesInput point intensities
num_pointsNumber of points
intensity_scaleScaling parameter to balance Euclidean coordinates and intensities

Member Function Documentation

◆ knn_search()

virtual size_t gtsam_points::IntensityKdTree::knn_search ( const double *  pt,
size_t  k,
size_t *  k_indices,
double *  k_sq_dists,
double  max_sq_dist = std::numeric_limits<double>::max() 
) const
overridevirtual

k-nearest neighbor search

Parameters
ptPoint
kNumber of neighbors
k_indicesIndices of k-nearest neighbors
k_sq_distsSquared distances to the neighbors (sorted in ascending order)

Reimplemented from gtsam_points::NearestNeighborSearch.


The documentation for this struct was generated from the following file: