ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
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
13
#include <reusex/segmentation/segment_instances.hpp>
14
15
namespace
fs = std::filesystem;
16
26
struct
SubcommandSegInstancesOptions
{
29
float
cluster_tolerance
=
30
reusex::geometry::SegmentInstancesRequest
{}.
cluster_tolerance
;
31
33
int
min_cluster_size
=
34
reusex::geometry::SegmentInstancesRequest
{}.
min_cluster_size
;
35
37
int
max_cluster_size
=
38
reusex::geometry::SegmentInstancesRequest
{}.
max_cluster_size
;
39
41
std::string
semantic_cloud_name
=
"labels"
;
42
44
std::string
output_cloud_name
=
"instances"
;
45
47
std::vector<uint32_t>
labels_to_process
;
48
};
49
53
void
setup_subcommand_create_instances
(CLI::App &app,
54
std::shared_ptr<RuxOptions> global_opt);
55
59
int
run_subcommand_segment_instances
(
const
SubcommandSegInstancesOptions
&opt,
60
const
RuxOptions
&global_opt);
global-params.hpp
run_subcommand_segment_instances
int run_subcommand_segment_instances(const SubcommandSegInstancesOptions &opt, const RuxOptions &global_opt)
Execute instance segmentation subcommand.
setup_subcommand_create_instances
void setup_subcommand_create_instances(CLI::App &app, std::shared_ptr< RuxOptions > global_opt)
Setup CLI11 subcommand for instance segmentation.
RuxOptions
Definition
global-params.hpp:44
SubcommandSegInstancesOptions
CLI options for instance segmentation subcommand.
Definition
instances.hpp:26
SubcommandSegInstancesOptions::semantic_cloud_name
std::string semantic_cloud_name
Name of input semantic labels cloud in ProjectDB.
Definition
instances.hpp:41
SubcommandSegInstancesOptions::min_cluster_size
int min_cluster_size
Minimum points per instance cluster.
Definition
instances.hpp:33
SubcommandSegInstancesOptions::max_cluster_size
int max_cluster_size
Maximum points per instance cluster.
Definition
instances.hpp:37
SubcommandSegInstancesOptions::labels_to_process
std::vector< uint32_t > labels_to_process
Optional: only process these semantic labels (comma-separated list).
Definition
instances.hpp:47
SubcommandSegInstancesOptions::cluster_tolerance
float cluster_tolerance
Euclidean distance threshold for clustering (meters).
Definition
instances.hpp:29
SubcommandSegInstancesOptions::output_cloud_name
std::string output_cloud_name
Name of output instance labels cloud in ProjectDB.
Definition
instances.hpp:44
reusex::geometry::SegmentInstancesRequest
Request structure for instance segmentation via Euclidean clustering.
Definition
segment_instances.hpp:20
reusex::geometry::SegmentInstancesRequest::cluster_tolerance
float cluster_tolerance
Euclidean distance threshold for clustering (meters).
Definition
segment_instances.hpp:28
reusex::geometry::SegmentInstancesRequest::min_cluster_size
int min_cluster_size
Minimum points per instance cluster.
Definition
segment_instances.hpp:31
reusex::geometry::SegmentInstancesRequest::max_cluster_size
int max_cluster_size
Maximum points per instance cluster.
Definition
segment_instances.hpp:34
apps
rux
include
create
instances.hpp
Generated by
1.17.0