Open3D (C++ API)
0.11.0
|
Data Structures | |
struct | PointCloud |
class | PointXYZ |
class | SampledData |
Functions | |
PointXYZ | max_point (std::vector< PointXYZ > points) |
PointXYZ | min_point (std::vector< PointXYZ > points) |
PointXYZ | operator+ (const PointXYZ A, const PointXYZ B) |
PointXYZ | operator- (const PointXYZ A, const PointXYZ B) |
PointXYZ | operator* (const PointXYZ P, const float a) |
PointXYZ | operator* (const float a, const PointXYZ P) |
std::ostream & | operator<< (std::ostream &os, const PointXYZ P) |
bool | operator== (const PointXYZ A, const PointXYZ B) |
const core::Tensor | KnnSearch (const core::Tensor &query_points, const core::Tensor &dataset_points, int knn) |
const core::Tensor | RadiusSearch (const core::Tensor &query_points, const core::Tensor &dataset_points, const core::Tensor &query_batches, const core::Tensor &dataset_batches, double radius) |
void | grid_subsampling (std::vector< PointXYZ > &original_points, std::vector< PointXYZ > &subsampled_points, std::vector< float > &original_features, std::vector< float > &subsampled_features, std::vector< int > &original_classes, std::vector< int > &subsampled_classes, float sampleDl, int verbose) |
void | batch_grid_subsampling (std::vector< PointXYZ > &original_points, std::vector< PointXYZ > &subsampled_points, std::vector< float > &original_features, std::vector< float > &subsampled_features, std::vector< int > &original_classes, std::vector< int > &subsampled_classes, std::vector< int > &original_batches, std::vector< int > &subsampled_batches, float sampleDl, int max_p) |
void | brute_neighbors (std::vector< PointXYZ > &queries, std::vector< PointXYZ > &supports, std::vector< int > &neighbors_indices, float radius, int verbose) |
void | ordered_neighbors (std::vector< PointXYZ > &queries, std::vector< PointXYZ > &supports, std::vector< int > &neighbors_indices, float radius) |
void | batch_nanoflann_neighbors (std::vector< PointXYZ > &queries, std::vector< PointXYZ > &supports, std::vector< int > &q_batches, std::vector< int > &s_batches, std::vector< int > &neighbors_indices, float radius) |
void open3d::ml::contrib::batch_grid_subsampling | ( | std::vector< PointXYZ > & | original_points, |
std::vector< PointXYZ > & | subsampled_points, | ||
std::vector< float > & | original_features, | ||
std::vector< float > & | subsampled_features, | ||
std::vector< int > & | original_classes, | ||
std::vector< int > & | subsampled_classes, | ||
std::vector< int > & | original_batches, | ||
std::vector< int > & | subsampled_batches, | ||
float | sampleDl, | ||
int | max_p | ||
) |
void open3d::ml::contrib::batch_nanoflann_neighbors | ( | std::vector< PointXYZ > & | queries, |
std::vector< PointXYZ > & | supports, | ||
std::vector< int > & | q_batches, | ||
std::vector< int > & | s_batches, | ||
std::vector< int > & | neighbors_indices, | ||
float | radius | ||
) |
TOOD: This is a temporary function for 3DML repositiory use. In the future, the native Open3D Python API should be improved and used.
Nearest neighbours withing a radius with batching. queries and supports are sliced with their respective batch elements. Uses nanoflann to build a KDTree and find neighbors.
void open3d::ml::contrib::brute_neighbors | ( | std::vector< PointXYZ > & | queries, |
std::vector< PointXYZ > & | supports, | ||
std::vector< int > & | neighbors_indices, | ||
float | radius, | ||
int | verbose | ||
) |
void open3d::ml::contrib::grid_subsampling | ( | std::vector< PointXYZ > & | original_points, |
std::vector< PointXYZ > & | subsampled_points, | ||
std::vector< float > & | original_features, | ||
std::vector< float > & | subsampled_features, | ||
std::vector< int > & | original_classes, | ||
std::vector< int > & | subsampled_classes, | ||
float | sampleDl, | ||
int | verbose | ||
) |
const core::Tensor open3d::ml::contrib::KnnSearch | ( | const core::Tensor & | query_points, |
const core::Tensor & | dataset_points, | ||
int | knn | ||
) |
TOOD: This is a temory wrapper for 3DML repositiory use. In the future, the native Open3D Python API should be improved and used.
query_points | Tensor of shape {n_query_points, d}, dtype Float32. |
dataset_points | Tensor of shape {n_dataset_points, d}, dtype Float32. |
knn | Int. |
|
inline |
void open3d::ml::contrib::ordered_neighbors | ( | std::vector< PointXYZ > & | queries, |
std::vector< PointXYZ > & | supports, | ||
std::vector< int > & | neighbors_indices, | ||
float | radius | ||
) |
TOOD: This is a temporary function for 3DML repositiory use. In the future, the native Open3D Python API should be improved and used.
Nearest neighbours within a given radius. For each query point, finds a set of neighbor indices whose distance is less than given radius. Modifies the neighbors_indices inplace.
const core::Tensor open3d::ml::contrib::RadiusSearch | ( | const core::Tensor & | query_points, |
const core::Tensor & | dataset_points, | ||
const core::Tensor & | query_batches, | ||
const core::Tensor & | dataset_batches, | ||
double | radius | ||
) |
TOOD: This is a temory wrapper for 3DML repositiory use. In the future, the native Open3D Python API should be improved and used.
query_points | Tensor of shape {n_query_points, d}, dtype Float32. |
dataset_points | Tensor of shape {n_dataset_points, d}, dtype Float32. |
query_batches | Tensor of shape {n_batches,}, dtype Int32. It is required that sum(query_batches) == n_query_points. |
dataset_batches | Tensor of shape {n_batches,}, dtype Int32. It is required that that sum(dataset_batches) == n_dataset_points. |
radius | The radius to search. |