70 const Tensor& points_row_splits,
71 const Tensor& hash_table_splits,
72 Tensor& hash_table_index,
73 Tensor& hash_table_cell_splits);
138 const Tensor& queries,
140 const Tensor& points_row_splits,
141 const Tensor& queries_row_splits,
142 const Tensor& hash_table_splits,
143 const Tensor& hash_table_index,
144 const Tensor& hash_table_cell_splits,
146 const bool ignore_query_point,
147 const bool return_distances,
149 Tensor& neighbors_index,
150 Tensor& neighbors_row_splits,
151 Tensor& neighbors_distance);
206 const Tensor& queries,
209 const Tensor& points_row_splits,
210 const Tensor& queries_row_splits,
211 const Tensor& hash_table_splits,
212 const Tensor& hash_table_index,
213 const Tensor& hash_table_cell_splits,
215 Tensor& neighbors_index,
216 Tensor& neighbors_count,
217 Tensor& neighbors_distance);
219 #ifdef BUILD_CUDA_MODULE 246 void BuildSpatialHashTableCUDA(
const Tensor&
points,
248 const Tensor& points_row_splits,
249 const Tensor& hash_table_splits,
250 Tensor& hash_table_index,
251 Tensor& hash_table_cell_splits);
315 void FixedRadiusSearchCUDA(
const Tensor&
points,
316 const Tensor& queries,
318 const Tensor& points_row_splits,
319 const Tensor& queries_row_splits,
320 const Tensor& hash_table_splits,
321 const Tensor& hash_table_index,
322 const Tensor& hash_table_cell_splits,
324 const bool ignore_query_point,
325 const bool return_distances,
327 Tensor& neighbors_index,
328 Tensor& neighbors_row_splits,
329 Tensor& neighbors_distance);
383 void HybridSearchCUDA(
const Tensor&
points,
384 const Tensor& queries,
387 const Tensor& points_row_splits,
388 const Tensor& queries_row_splits,
389 const Tensor& hash_table_splits,
390 const Tensor& hash_table_index,
391 const Tensor& hash_table_cell_splits,
393 Tensor& neighbors_index,
394 Tensor& neighbors_count,
395 Tensor& neighbors_distance);
418 "FixedRadiusIndex::SetTensorData witout radius not " 424 const Tensor& points_row_splits,
428 int knn)
const override {
433 const Tensor& query_points,
435 bool sort =
true)
const override {
437 "FixedRadiusIndex::SearchRadius with multi-radii not " 442 const Tensor& query_points,
444 bool sort =
true)
const override;
446 const Tensor& query_points,
447 const Tensor& queries_row_splits,
449 bool sort =
true)
const;
453 int max_knn)
const override;
456 const Tensor& query_points,
457 const Tensor& queries_row_splits,
const int64_t max_hash_tabls_size
Definition: FixedRadiusIndex.h:462
FixedRadiusIndex for nearest neighbor range search.
Definition: FixedRadiusIndex.h:401
Tensor points_row_splits_
Definition: FixedRadiusIndex.h:465
Definition: NNSIndex.h:40
Metric
Supported metrics.
Definition: NeighborSearchCommon.h:38
const double hash_table_size_factor
Definition: FixedRadiusIndex.h:461
FixedRadiusIndex()
Default Constructor.
Definition: FixedRadiusIndex.cpp:37
void HybridSearchCPU(const Tensor &points, const Tensor &queries, double radius, int max_knn, const Tensor &points_row_splits, const Tensor &queries_row_splits, const Tensor &hash_table_splits, const Tensor &hash_table_index, const Tensor &hash_table_cell_splits, const Metric metric, Tensor &neighbors_index, Tensor &neighbors_count, Tensor &neighbors_distance)
Definition: FixedRadiusSearchOps.cpp:93
~FixedRadiusIndex()
Definition: FixedRadiusIndex.cpp:45
std::tuple< Tensor, Tensor, Tensor > SearchHybrid(const Tensor &query_points, double radius, int max_knn) const override
Definition: FixedRadiusIndex.cpp:195
Tensor hash_table_splits_
Definition: FixedRadiusIndex.h:466
Tensor hash_table_index_
Definition: FixedRadiusIndex.h:468
std::tuple< Tensor, Tensor, Tensor > SearchRadius(const Tensor &query_points, const Tensor &radii, bool sort=true) const override
Definition: FixedRadiusIndex.h:432
FixedRadiusIndex & operator=(const FixedRadiusIndex &)=delete
void BuildSpatialHashTableCPU(const Tensor &points, double radius, const Tensor &points_row_splits, const Tensor &hash_table_splits, Tensor &hash_table_index, Tensor &hash_table_cell_splits)
Definition: FixedRadiusSearchOps.cpp:40
Definition: PinholeCameraIntrinsic.cpp:35
bool SetTensorData(const Tensor &dataset_points) override
Definition: FixedRadiusIndex.h:416
std::pair< Tensor, Tensor > SearchKnn(const Tensor &query_points, int knn) const override
Definition: FixedRadiusIndex.h:427
Tensor hash_table_cell_splits_
Definition: FixedRadiusIndex.h:467
void FixedRadiusSearchCPU(const Tensor &points, const Tensor &queries, double radius, const Tensor &points_row_splits, const Tensor &queries_row_splits, const Tensor &hash_table_splits, const Tensor &hash_table_index, const Tensor &hash_table_cell_splits, const Metric metric, const bool ignore_query_point, const bool return_distances, const bool sort, Tensor &neighbors_index, Tensor &neighbors_row_splits, Tensor &neighbors_distance)
Definition: FixedRadiusSearchOps.cpp:57
#define LogError(...)
Definition: Logging.h:72