Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
Feature.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2024 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8#pragma once
9
10#include <Eigen/Core>
11#include <memory>
12#include <optional>
13#include <vector>
14
16
17namespace open3d {
18
19namespace geometry {
20class PointCloud;
21}
22
23namespace pipelines {
24namespace registration {
25
26typedef std::vector<Eigen::Vector2i> CorrespondenceSet;
27
31class Feature {
32public:
37 void Resize(int dim, int n) {
38 data_.resize(dim, n);
39 data_.setZero();
40 }
42 size_t Dimension() const { return data_.rows(); }
44 size_t Num() const { return data_.cols(); }
45
51 std::shared_ptr<Feature> SelectByIndex(const std::vector<size_t> &indices,
52 bool invert = false) const;
53
54public:
56 Eigen::MatrixXd data_;
57};
58
65std::shared_ptr<Feature> ComputeFPFHFeature(
66 const geometry::PointCloud &input,
67 const geometry::KDTreeSearchParam &search_param =
69 const std::optional<std::vector<size_t>> &indices = std::nullopt);
70
88 const Feature &source_features,
89 const Feature &target_features,
90 bool mutual_filter = false,
91 float mutual_consistency_ratio = 0.1);
92
93} // namespace registration
94} // namespace pipelines
95} // namespace open3d
Base class for KDTree search parameters.
Definition KDTreeSearchParam.h:16
KDTree search parameters for pure KNN search.
Definition KDTreeSearchParam.h:44
A point cloud consists of point coordinates, and optionally point colors and point normals.
Definition PointCloud.h:36
Class to store featrues for registration.
Definition Feature.h:31
size_t Num() const
Returns number of points.
Definition Feature.h:44
std::shared_ptr< Feature > SelectByIndex(const std::vector< size_t > &indices, bool invert=false) const
Selects features from input Feature group, with indices in indices, and returns a new Feature group w...
Definition Feature.cpp:21
Eigen::MatrixXd data_
Data buffer storing features.
Definition Feature.h:56
size_t Dimension() const
Returns feature dimensions per point.
Definition Feature.h:42
void Resize(int dim, int n)
Definition Feature.h:37
std::shared_ptr< Feature > ComputeFPFHFeature(const geometry::PointCloud &input, const geometry::KDTreeSearchParam &search_param, const std::optional< std::vector< size_t > > &indices)
Definition Feature.cpp:142
CorrespondenceSet CorrespondencesFromFeatures(const Feature &source_features, const Feature &target_features, bool mutual_filter, float mutual_consistent_ratio)
Function to find correspondences via 1-nearest neighbor feature matching. Target is used to construct...
Definition Feature.cpp:293
std::vector< Eigen::Vector2i > CorrespondenceSet
Definition Feature.h:26
Definition PinholeCameraIntrinsic.cpp:16
const core::Tensor * indices
Definition TriangleMesh.cpp:2128