ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
Data.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2
//
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
5
#pragma once
6
#include "reusex/vision/IData.hpp"
7
#include "reusex/vision/tensor_rt/Sam3Type.hpp"
8
9
#include <opencv2/core/mat.hpp>
10
11
#include <array>
12
#include <memory>
13
#include <utility>
14
#include <vector>
15
16
namespace
reusex::vision::tensor_rt
{
17
18
/* TensorRTData is a struct that implements the IData interface and contains a
19
* cv::Mat image. This struct is used to store the image data that will be
20
* processed by TensorRT.
21
*/
22
struct
TensorRTData
:
IData
{
23
24
using
Vec
= std::array<int64_t, 32>;
25
using
Prompt
= std::pair<std::shared_ptr<Vec>, std::shared_ptr<Vec>>;
26
27
cv::Mat
image
;
28
// Default concept prompts tuned for the ReUseX use case (building interior
29
// reuse/renovation): the reusable building components a scan should catalogue
30
// — structure/envelope, openings, circulation, building services, and fixed
31
// fixtures. Movable furniture is intentionally minimal (it is not a
32
// "building" component). Override per-run with `rux create annotate
33
// --prompts` /
34
// `--prompts-file` (the prompt list IS the class set for this open-vocab
35
// model).
36
std::vector<Sam3PromptUnit>
prompts
= {
37
// Structure / envelope
38
Sam3PromptUnit
(
"wall"
),
39
Sam3PromptUnit
(
"floor"
),
40
Sam3PromptUnit
(
"ceiling"
),
41
Sam3PromptUnit
(
"column"
),
42
Sam3PromptUnit
(
"beam"
),
43
// Openings
44
Sam3PromptUnit
(
"door"
),
45
Sam3PromptUnit
(
"door frame"
),
46
Sam3PromptUnit
(
"window"
),
47
// Circulation
48
Sam3PromptUnit
(
"staircase"
),
49
Sam3PromptUnit
(
"railing"
),
50
// Building services
51
Sam3PromptUnit
(
"radiator"
),
52
Sam3PromptUnit
(
"pipe"
),
53
Sam3PromptUnit
(
"duct"
),
54
Sam3PromptUnit
(
"electrical outlet"
),
55
Sam3PromptUnit
(
"ceiling light"
),
56
// Fixed fixtures
57
Sam3PromptUnit
(
"sink"
),
58
Sam3PromptUnit
(
"cabinet"
),
59
Sam3PromptUnit
(
"shelf"
),
60
};
61
62
float
confidence_threshold
= 0.5f;
63
};
64
}
// namespace reusex::vision::tensor_rt
reusex::vision::tensor_rt
Definition
Backend.hpp:11
reusex::vision::IData
Definition
IData.hpp:12
reusex::vision::tensor_rt::Sam3PromptUnit
Definition
Sam3Type.hpp:19
reusex::vision::tensor_rt::TensorRTData
Definition
Data.hpp:22
reusex::vision::tensor_rt::TensorRTData::Vec
std::array< int64_t, 32 > Vec
Definition
Data.hpp:24
reusex::vision::tensor_rt::TensorRTData::Prompt
std::pair< std::shared_ptr< Vec >, std::shared_ptr< Vec > > Prompt
Definition
Data.hpp:25
reusex::vision::tensor_rt::TensorRTData::prompts
std::vector< Sam3PromptUnit > prompts
Definition
Data.hpp:36
reusex::vision::tensor_rt::TensorRTData::confidence_threshold
float confidence_threshold
Definition
Data.hpp:62
reusex::vision::tensor_rt::TensorRTData::image
cv::Mat image
Definition
Data.hpp:27
libs
reusex
include
vision
tensor_rt
Data.hpp
Generated by
1.17.0