ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
instances.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5#include "global-params.hpp"
6
7#include <CLI/CLI.hpp>
8#include <filesystem>
9#include <memory>
10#include <string>
11#include <vector>
12
13namespace fs = std::filesystem;
14
26 float cluster_tolerance = 0.5F;
27
30
32 int max_cluster_size = 1000000;
33
35 std::string semantic_cloud_name = "labels";
36
38 std::string output_cloud_name = "instances";
39
41 std::vector<uint32_t> labels_to_process;
42};
43
47void setup_subcommand_create_instances(CLI::App &app, std::shared_ptr<RuxOptions> global_opt);
48
int run_subcommand_segment_instances(const SubcommandSegInstancesOptions &opt, const RuxOptions &global_opt)
Execute instance segmentation subcommand.
void setup_subcommand_create_instances(CLI::App &app, std::shared_ptr< RuxOptions > global_opt)
Setup CLI11 subcommand for instance segmentation.
CLI options for instance segmentation subcommand.
Definition instances.hpp:24
std::string semantic_cloud_name
Name of input semantic labels cloud in ProjectDB.
Definition instances.hpp:35
int min_cluster_size
Minimum points per instance cluster.
Definition instances.hpp:29
int max_cluster_size
Maximum points per instance cluster.
Definition instances.hpp:32
std::vector< uint32_t > labels_to_process
Optional: only process these semantic labels (comma-separated list).
Definition instances.hpp:41
float cluster_tolerance
Euclidean distance threshold for clustering (meters).
Definition instances.hpp:26
std::string output_cloud_name
Name of output instance labels cloud in ProjectDB.
Definition instances.hpp:38