Open3D (C++ API)
0.16.0
|
FixedRadiusIndex for nearest neighbor range search. More...
#include <FixedRadiusIndex.h>
Public Member Functions | |
FixedRadiusIndex () | |
Default Constructor. More... | |
FixedRadiusIndex (const Tensor &dataset_points, double radius) | |
Parameterized Constructor. More... | |
FixedRadiusIndex (const Tensor &dataset_points, double radius, const Dtype &index_dtype) | |
~FixedRadiusIndex () | |
FixedRadiusIndex (const FixedRadiusIndex &)=delete | |
FixedRadiusIndex & | operator= (const FixedRadiusIndex &)=delete |
bool | SetTensorData (const Tensor &dataset_points, const Dtype &index_dtype=core::Int64) override |
bool | SetTensorData (const Tensor &dataset_points, double radius, const Dtype &index_dtype=core::Int64) override |
bool | SetTensorData (const Tensor &dataset_points, const Tensor &points_row_splits, double radius, const Dtype &index_dtype=core::Int64) |
std::pair< Tensor, Tensor > | SearchKnn (const Tensor &query_points, int knn) const override |
std::tuple< Tensor, Tensor, Tensor > | SearchRadius (const Tensor &query_points, const Tensor &radii, bool sort=true) const override |
std::tuple< Tensor, Tensor, Tensor > | SearchRadius (const Tensor &query_points, double radius, bool sort=true) const override |
std::tuple< Tensor, Tensor, Tensor > | SearchRadius (const Tensor &query_points, const Tensor &queries_row_splits, double radius, bool sort=true) const |
std::tuple< Tensor, Tensor, Tensor > | SearchHybrid (const Tensor &query_points, double radius, int max_knn) const override |
std::tuple< Tensor, Tensor, Tensor > | SearchHybrid (const Tensor &query_points, const Tensor &queries_row_splits, double radius, int max_knn) const |
![]() | |
NNSIndex () | |
Default Constructor. More... | |
virtual | ~NNSIndex () |
NNSIndex (const NNSIndex &)=delete | |
NNSIndex & | operator= (const NNSIndex &)=delete |
virtual bool | SetTensorData (const Tensor &dataset_points, const Dtype &index_dtype)=0 |
virtual bool | SetTensorData (const Tensor &dataset_points, double radius, const Dtype &index_dtype)=0 |
virtual std::pair< Tensor, Tensor > | SearchKnn (const Tensor &query_points, int knn) const =0 |
virtual std::tuple< Tensor, Tensor, Tensor > | SearchRadius (const Tensor &query_points, const Tensor &radii, bool sort) const =0 |
virtual std::tuple< Tensor, Tensor, Tensor > | SearchRadius (const Tensor &query_points, double radius, bool sort) const =0 |
virtual std::tuple< Tensor, Tensor, Tensor > | SearchHybrid (const Tensor &query_points, double radius, int max_knn) const =0 |
int | GetDimension () const |
size_t | GetDatasetSize () const |
Dtype | GetDtype () const |
Device | GetDevice () const |
Dtype | GetIndexDtype () const |
Data Fields | |
const double | hash_table_size_factor = 1.0 / 32 |
const int64_t | max_hash_tabls_size = 33554432 |
Protected Attributes | |
Tensor | points_row_splits_ |
Tensor | hash_table_splits_ |
Tensor | hash_table_cell_splits_ |
Tensor | hash_table_index_ |
![]() | |
Tensor | dataset_points_ |
Dtype | index_dtype_ |
FixedRadiusIndex for nearest neighbor range search.
open3d::core::nns::FixedRadiusIndex::FixedRadiusIndex | ( | ) |
Default Constructor.
open3d::core::nns::FixedRadiusIndex::FixedRadiusIndex | ( | const Tensor & | dataset_points, |
double | radius | ||
) |
Parameterized Constructor.
dataset_points | Provides a set of data points as Tensor for KDTree construction. |
open3d::core::nns::FixedRadiusIndex::FixedRadiusIndex | ( | const Tensor & | dataset_points, |
double | radius, | ||
const Dtype & | index_dtype | ||
) |
open3d::core::nns::FixedRadiusIndex::~FixedRadiusIndex | ( | ) |
|
delete |
|
delete |
std::tuple< Tensor, Tensor, Tensor > open3d::core::nns::FixedRadiusIndex::SearchHybrid | ( | const Tensor & | query_points, |
const Tensor & | queries_row_splits, | ||
double | radius, | ||
int | max_knn | ||
) | const |
|
overridevirtual |
Perform hybrid search.
query_points | Query points. Must be 2D, with shape {n, d}. |
radius | Radius. |
max_knn | Maximum number of neighbor to search per query point. |
Implements open3d::core::nns::NNSIndex.
|
inlineoverridevirtual |
Perform K nearest neighbor search.
query_points | Query points. Must be 2D, with shape {n, d}, same dtype with dataset_points. |
knn | Number of nearest neighbor to search. |
Implements open3d::core::nns::NNSIndex.
std::tuple< Tensor, Tensor, Tensor > open3d::core::nns::FixedRadiusIndex::SearchRadius | ( | const Tensor & | query_points, |
const Tensor & | queries_row_splits, | ||
double | radius, | ||
bool | sort = true |
||
) | const |
|
inlineoverridevirtual |
Perform radius search with multiple radii.
query_points | Query points. Must be 2D, with shape {n, d}, same dtype with dataset_points. |
radii | list of radius. Must be 1D, with shape {n, }. |
Implements open3d::core::nns::NNSIndex.
|
overridevirtual |
Perform radius search.
query_points | Query points. Must be 2D, with shape {n, d}, same dtype with dataset_points. |
radius | Radius. |
Implements open3d::core::nns::NNSIndex.
|
inlineoverridevirtual |
Set the data for the nearest neighbor search.
dataset_points | Dataset points for KDTree construction. Must be 2D, with shape {n, d}. |
Implements open3d::core::nns::NNSIndex.
bool open3d::core::nns::FixedRadiusIndex::SetTensorData | ( | const Tensor & | dataset_points, |
const Tensor & | points_row_splits, | ||
double | radius, | ||
const Dtype & | index_dtype = core::Int64 |
||
) |
|
overridevirtual |
Set the data for the nearest neighbor search.
dataset_points | Dataset points for KDTree construction. Must be 2D, with shape {n, d}. |
Implements open3d::core::nns::NNSIndex.
|
protected |
|
protected |
const double open3d::core::nns::FixedRadiusIndex::hash_table_size_factor = 1.0 / 32 |
|
protected |
const int64_t open3d::core::nns::FixedRadiusIndex::max_hash_tabls_size = 33554432 |
|
protected |