MRPT
2.0.1
|
Helper class: KD-tree search class for vector<KeyPoint>: Call mark_as_outdated() to force rebuilding the kd-tree after modifying the linked feature list.
FEAT | Can be cv::KeyPoint or mrpt::vision::TKeyPoint |
Definition at line 299 of file TKeyPoint.h.
#include <mrpt/vision/TKeyPoint.h>
Public Types | |
using | self_t = KDTreeCapable< CFeatureListKDTree< FEAT >, float, nanoflann::L2_Simple_Adaptor< float, CFeatureListKDTree< FEAT > > > |
Public Member Functions | |
void | mark_as_outdated () |
CFeatureListKDTree (const std::vector< FEAT > &data) | |
const CFeatureListKDTree< FEAT > & | derived () const |
CRTP helper method. More... | |
CFeatureListKDTree< FEAT > & | derived () |
CRTP helper method. More... | |
Methods that MUST be implemented by children classes of | |
KDTreeCapable | |
size_t | kdtree_get_point_count () const |
Must return the number of data points. More... | |
float | kdtree_get_pt (const size_t idx, int dim) const |
Returns the dim'th component of the idx'th point in the class: More... | |
float | kdtree_distance (const float *p1, const size_t idx_p2, [[maybe_unused]] size_t size) const |
Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: More... | |
template<typename BBOX > | |
bool | kdtree_get_bbox ([[maybe_unused]] BBOX &bb) const |
Public utility methods to query the KD-tree | |
size_t | kdTreeClosestPoint2D (float x0, float y0, float &out_x, float &out_y, float &out_dist_sqr) const |
KD Tree-based search for the closest point (only ONE) to some given 2D coordinates. More... | |
size_t | kdTreeClosestPoint2D (float x0, float y0, float &out_dist_sqr) const |
size_t | kdTreeClosestPoint2D (const TPoint2D &p0, TPoint2D &pOut, float &outDistSqr) const |
float | kdTreeClosestPoint2DsqrError (float x0, float y0) const |
Like kdTreeClosestPoint2D, but just return the square error from some point to its closest neighbor. More... | |
float | kdTreeClosestPoint2DsqrError (const TPoint2D &p0) const |
void | kdTreeTwoClosestPoint2D (float x0, float y0, float &out_x1, float &out_y1, float &out_x2, float &out_y2, float &out_dist_sqr1, float &out_dist_sqr2) const |
KD Tree-based search for the TWO closest point to some given 2D coordinates. More... | |
void | kdTreeTwoClosestPoint2D (const TPoint2D &p0, TPoint2D &pOut1, TPoint2D &pOut2, float &outDistSqr1, float &outDistSqr2) const |
std::vector< size_t > | kdTreeNClosestPoint2D (float x0, float y0, size_t knn, std::vector< float > &out_x, std::vector< float > &out_y, std::vector< float > &out_dist_sqr) const |
KD Tree-based search for the N closest point to some given 2D coordinates. More... | |
std::vector< size_t > | kdTreeNClosestPoint2D (const TPoint2D &p0, size_t N, std::vector< TPoint2D > &pOut, std::vector< float > &outDistSqr) const |
void | kdTreeNClosestPoint2DIdx (float x0, float y0, size_t knn, std::vector< size_t > &out_idx, std::vector< float > &out_dist_sqr) const |
KD Tree-based search for the N closest point to some given 2D coordinates and returns their indexes. More... | |
void | kdTreeNClosestPoint2DIdx (const TPoint2D &p0, size_t N, std::vector< size_t > &outIdx, std::vector< float > &outDistSqr) const |
size_t | kdTreeClosestPoint3D (float x0, float y0, float z0, float &out_x, float &out_y, float &out_z, float &out_dist_sqr) const |
KD Tree-based search for the closest point (only ONE) to some given 3D coordinates. More... | |
size_t | kdTreeClosestPoint3D (float x0, float y0, float z0, float &out_dist_sqr) const |
size_t | kdTreeClosestPoint3D (const TPoint3D &p0, TPoint3D &pOut, float &outDistSqr) const |
void | kdTreeNClosestPoint3D (float x0, float y0, float z0, size_t knn, std::vector< float > &out_x, std::vector< float > &out_y, std::vector< float > &out_z, std::vector< float > &out_dist_sqr) const |
KD Tree-based search for the N closest points to some given 3D coordinates. More... | |
void | kdTreeNClosestPoint3D (const TPoint3D &p0, size_t N, std::vector< TPoint3D > &pOut, std::vector< float > &outDistSqr) const |
void | kdTreeNClosestPoint3DWithIdx (float x0, float y0, float z0, size_t knn, std::vector< float > &out_x, std::vector< float > &out_y, std::vector< float > &out_z, std::vector< size_t > &out_idx, std::vector< float > &out_dist_sqr) const |
KD Tree-based search for the N closest points to some given 3D coordinates. More... | |
size_t | kdTreeRadiusSearch3D (const float x0, const float y0, const float z0, const float maxRadiusSqr, std::vector< std::pair< size_t, float >> &out_indices_dist) const |
KD Tree-based search for all the points within a given radius of some 3D point. More... | |
size_t | kdTreeRadiusSearch2D (const float x0, const float y0, const float maxRadiusSqr, std::vector< std::pair< size_t, float >> &out_indices_dist) const |
KD Tree-based search for all the points within a given radius of some 2D point. More... | |
void | kdTreeNClosestPoint3DIdx (float x0, float y0, float z0, size_t knn, std::vector< size_t > &out_idx, std::vector< float > &out_dist_sqr) const |
KD Tree-based search for the N closest point to some given 3D coordinates and returns their indexes. More... | |
void | kdTreeNClosestPoint3DIdx (const TPoint3D &p0, size_t N, std::vector< size_t > &outIdx, std::vector< float > &outDistSqr) const |
void | kdTreeEnsureIndexBuilt3D () |
void | kdTreeEnsureIndexBuilt2D () |
Public Attributes | |
const std::vector< FEAT > & | m_data |
TKDTreeSearchParams | kdtree_search_params |
Parameters to tune the ANN searches. More... | |
Protected Member Functions | |
void | kdtree_mark_as_outdated () const |
To be called by child classes when KD tree data changes. More... | |
|
inherited |
Definition at line 87 of file KDTreeCapable.h.
|
inline |
Definition at line 310 of file TKeyPoint.h.
|
inlineinherited |
CRTP helper method.
Definition at line 100 of file KDTreeCapable.h.
|
inlineinherited |
CRTP helper method.
Definition at line 105 of file KDTreeCapable.h.
|
inline |
Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class:
Definition at line 329 of file TKeyPoint.h.
References ASSERTDEB_, mrpt::vision::CFeatureListKDTree< FEAT >::m_data, and mrpt::math::size().
|
inline |
Definition at line 347 of file TKeyPoint.h.
|
inline |
Must return the number of data points.
Definition at line 316 of file TKeyPoint.h.
References mrpt::vision::CFeatureListKDTree< FEAT >::m_data.
|
inline |
Returns the dim'th component of the idx'th point in the class:
Definition at line 318 of file TKeyPoint.h.
References ASSERTDEB_, and mrpt::vision::CFeatureListKDTree< FEAT >::m_data.
|
inlineprotectedinherited |
To be called by child classes when KD tree data changes.
Definition at line 714 of file KDTreeCapable.h.
Referenced by mrpt::vision::CFeatureListKDTree< FEAT >::mark_as_outdated().
|
inlineinherited |
KD Tree-based search for the closest point (only ONE) to some given 2D coordinates.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
out_x | The X coordinate of the found closest correspondence. |
out_y | The Y coordinate of the found closest correspondence. |
out_dist_sqr | The square distance between the query and the returned point. |
Definition at line 136 of file KDTreeCapable.h.
|
inlineinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 163 of file KDTreeCapable.h.
|
inlineinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 185 of file KDTreeCapable.h.
|
inlineinherited |
Like kdTreeClosestPoint2D, but just return the square error from some point to its closest neighbor.
Definition at line 199 of file KDTreeCapable.h.
|
inlineinherited |
Definition at line 206 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for the closest point (only ONE) to some given 3D coordinates.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
z0 | The Z coordinate of the query. |
out_x | The X coordinate of the found closest correspondence. |
out_y | The Y coordinate of the found closest correspondence. |
out_z | The Z coordinate of the found closest correspondence. |
out_dist_sqr | The square distance between the query and the returned point. |
Definition at line 405 of file KDTreeCapable.h.
|
inlineinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 433 of file KDTreeCapable.h.
|
inlineinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 455 of file KDTreeCapable.h.
|
inlineinherited |
Definition at line 708 of file KDTreeCapable.h.
|
inlineinherited |
Definition at line 707 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for the N closest point to some given 2D coordinates.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
N | The number of closest points to search. |
out_x | The vector containing the X coordinates of the correspondences. |
out_y | The vector containing the Y coordinates of the correspondences. |
out_dist_sqr | The vector containing the square distance between the query and the returned points. |
Definition at line 296 of file KDTreeCapable.h.
|
inlineinherited |
Definition at line 326 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for the N closest point to some given 2D coordinates and returns their indexes.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
N | The number of closest points to search. |
out_idx | The indexes of the found closest correspondence. |
out_dist_sqr | The square distance between the query and the returned point. |
Definition at line 358 of file KDTreeCapable.h.
|
inlineinherited |
Definition at line 378 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for the N closest points to some given 3D coordinates.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
z0 | The Z coordinate of the query. |
N | The number of closest points to search. |
out_x | The vector containing the X coordinates of the correspondences. |
out_y | The vector containing the Y coordinates of the correspondences. |
out_z | The vector containing the Z coordinates of the correspondences. |
out_dist_sqr | The vector containing the square distance between the query and the returned points. |
Definition at line 489 of file KDTreeCapable.h.
|
inlineinherited |
Definition at line 576 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for the N closest point to some given 3D coordinates and returns their indexes.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
z0 | The Z coordinate of the query. |
N | The number of closest points to search. |
out_idx | The indexes of the found closest correspondence. |
out_dist_sqr | The square distance between the query and the returned point. |
Definition at line 679 of file KDTreeCapable.h.
|
inlineinherited |
Definition at line 699 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for the N closest points to some given 3D coordinates.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
z0 | The Z coordinate of the query. |
N | The number of closest points to search. |
out_x | The vector containing the X coordinates of the correspondences. |
out_y | The vector containing the Y coordinates of the correspondences. |
out_z | The vector containing the Z coordinates of the correspondences. |
out_idx | The vector containing the indexes of the correspondences. |
out_dist_sqr | The vector containing the square distance between the query and the returned points. |
Definition at line 544 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for all the points within a given radius of some 2D point.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
maxRadiusSqr | The square of the desired search radius. |
out_indices_dist | The output list, with pairs of indeces/squared distances for the found correspondences. |
Definition at line 644 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for all the points within a given radius of some 3D point.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
z0 | The Z coordinate of the query. |
maxRadiusSqr | The square of the desired search radius. |
out_indices_dist | The output list, with pairs of indeces/squared distances for the found correspondences. |
Definition at line 609 of file KDTreeCapable.h.
|
inlineinherited |
KD Tree-based search for the TWO closest point to some given 2D coordinates.
This method automatically build the "m_kdtree_data" structure when:
x0 | The X coordinate of the query. |
y0 | The Y coordinate of the query. |
out_x1 | The X coordinate of the first correspondence. |
out_y1 | The Y coordinate of the first correspondence. |
out_x2 | The X coordinate of the second correspondence. |
out_y2 | The Y coordinate of the second correspondence. |
out_dist_sqr1 | The square distance between the query and the first returned point. |
out_dist_sqr2 | The square distance between the query and the second returned point. |
Definition at line 231 of file KDTreeCapable.h.
|
inlineinherited |
Definition at line 262 of file KDTreeCapable.h.
|
inline |
Definition at line 303 of file TKeyPoint.h.
References mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > >::kdtree_mark_as_outdated().
|
inherited |
Parameters to tune the ANN searches.
Definition at line 114 of file KDTreeCapable.h.
const std::vector<FEAT>& mrpt::vision::CFeatureListKDTree< FEAT >::m_data |
Definition at line 309 of file TKeyPoint.h.
Referenced by mrpt::vision::CFeatureListKDTree< FEAT >::kdtree_distance(), mrpt::vision::CFeatureListKDTree< FEAT >::kdtree_get_point_count(), and mrpt::vision::CFeatureListKDTree< FEAT >::kdtree_get_pt().
Page generated by Doxygen 1.8.14 for MRPT 2.0.1 Git: 0fef1a6d7 Fri Apr 3 23:00:21 2020 +0200 at vie abr 3 23:20:28 CEST 2020 |