18using EdgeList = std::vector<std::pair<size_t, size_t>>;
52 const Eigen::MatrixXd& points,
67 const Eigen::MatrixXd& points,
139 const Eigen::MatrixXd& points,
140 const std::function<
EdgeList(
const Eigen::MatrixXd&)>& connection_function);
149 const Eigen::MatrixXd& points,
EdgeList minimum_spanning_tree(const Eigen::MatrixXd &points)
Compute minimum spanning tree (Prim's algorithm)
EdgeList nearest_neighbor_graph(const Eigen::MatrixXd &points)
Compute nearest neighbor graph.
EdgeList custom_proximity_graph(const Eigen::MatrixXd &points, const std::function< EdgeList(const Eigen::MatrixXd &)> &connection_function)
Custom proximity graph via user function.
@ RELATIVE_NEIGHBORHOOD_GRAPH
EdgeList k_nearest_neighbors(const Eigen::MatrixXd &points, size_t k)
Compute K-nearest neighbors graph.
std::vector< std::pair< size_t, size_t > > EdgeList
EdgeList sequential_chain(const Eigen::MatrixXd &points)
Compute sequential chain graph.
EdgeList relative_neighborhood_graph(const Eigen::MatrixXd &points)
Compute relative neighborhood graph.
EdgeList generate_proximity_graph(const Eigen::MatrixXd &points, const ProximityConfig &config)
Generate proximity graph using specified mode.
EdgeList radius_threshold_graph(const Eigen::MatrixXd &points, double radius)
Compute radius threshold graph.
EdgeList gabriel_graph(const Eigen::MatrixXd &points)
Compute Gabriel graph.
std::function< EdgeList(const Eigen::MatrixXd &)> custom_function