ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
TrainingViews.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2026 Povl Filip Sonne-Frederiksen
2
//
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
5
#pragma once
6
7
#include <Eigen/Core>
8
#include <opencv2/core.hpp>
9
10
#include <cstddef>
11
#include <string>
12
#include <vector>
13
14
namespace
reusex
{
15
class
ProjectDB
;
16
}
17
18
namespace
reusex::gsplat
{
19
26
struct
TrainingView
{
27
int
id
= -1;
28
std::string
name
;
29
cv::Mat
image
;
30
Eigen::Matrix3d
K
;
31
Eigen::Matrix4d
T_cw
= Eigen::Matrix4d::Identity();
32
bool
from_panorama
=
false
;
33
34
int
width
()
const
{
return
image
.cols; }
35
int
height
()
const
{
return
image
.rows; }
36
};
37
39
struct
TrainingViewOptions
{
40
bool
include_frames
=
true
;
41
46
bool
include_panorama_slices
=
false
;
47
int
pano_n_yaw
= 8;
48
double
pano_fov_deg
= 90.0;
49
int
pano_tile
= 1024;
50
53
int
frame_stride
= 1;
54
60
int
first_frame
= -1;
61
int
last_frame
= -1;
62
66
int
max_image_size
= 0;
67
69
std::size_t
max_views
= 0;
70
};
71
84
std::vector<TrainingView>
85
load_training_views
(
const
ProjectDB
&db,
const
TrainingViewOptions
&opt = {});
86
87
}
// namespace reusex::gsplat
reusex::ProjectDB
Definition
ProjectDB.hpp:43
reusex::gsplat
Definition
GaussianCloud.hpp:15
reusex::gsplat::load_training_views
std::vector< TrainingView > load_training_views(const ProjectDB &db, const TrainingViewOptions &opt={})
Load posed training views from a project.
reusex
Definition
component_record.hpp:12
reusex::gsplat::TrainingViewOptions
Selection and preprocessing knobs for building the training set.
Definition
TrainingViews.hpp:39
reusex::gsplat::TrainingViewOptions::include_frames
bool include_frames
Definition
TrainingViews.hpp:40
reusex::gsplat::TrainingViewOptions::last_frame
int last_frame
Definition
TrainingViews.hpp:61
reusex::gsplat::TrainingViewOptions::pano_n_yaw
int pano_n_yaw
equator slices per panorama
Definition
TrainingViews.hpp:47
reusex::gsplat::TrainingViewOptions::max_image_size
int max_image_size
Downscale images (and intrinsics) so the long edge is at most this many pixels.
Definition
TrainingViews.hpp:66
reusex::gsplat::TrainingViewOptions::frame_stride
int frame_stride
Take every Nth sensor frame.
Definition
TrainingViews.hpp:53
reusex::gsplat::TrainingViewOptions::pano_fov_deg
double pano_fov_deg
per-slice horizontal FOV [deg]
Definition
TrainingViews.hpp:48
reusex::gsplat::TrainingViewOptions::first_frame
int first_frame
Inclusive sensor-frame node-id range, -1 for unbounded.
Definition
TrainingViews.hpp:60
reusex::gsplat::TrainingViewOptions::max_views
std::size_t max_views
Hard cap on the number of views (0 = unlimited), applied after striding.
Definition
TrainingViews.hpp:69
reusex::gsplat::TrainingViewOptions::pano_tile
int pano_tile
slice size [px, square]
Definition
TrainingViews.hpp:49
reusex::gsplat::TrainingViewOptions::include_panorama_slices
bool include_panorama_slices
Also dice content-aligned 360 panoramas into overlapping tangent views.
Definition
TrainingViews.hpp:46
reusex::gsplat::TrainingView
One posed training image for the Gaussian-splatting optimizer.
Definition
TrainingViews.hpp:26
reusex::gsplat::TrainingView::height
int height() const
Definition
TrainingViews.hpp:35
reusex::gsplat::TrainingView::K
Eigen::Matrix3d K
pinhole intrinsics for image
Definition
TrainingViews.hpp:30
reusex::gsplat::TrainingView::name
std::string name
human-readable label, e.g. "frame_0001995"
Definition
TrainingViews.hpp:28
reusex::gsplat::TrainingView::T_cw
Eigen::Matrix4d T_cw
world -> camera
Definition
TrainingViews.hpp:31
reusex::gsplat::TrainingView::image
cv::Mat image
BGR8, exactly the resolution K describes.
Definition
TrainingViews.hpp:29
reusex::gsplat::TrainingView::width
int width() const
Definition
TrainingViews.hpp:34
reusex::gsplat::TrainingView::from_panorama
bool from_panorama
true when this is a 360 tangent slice
Definition
TrainingViews.hpp:32
libs
reusex
include
gsplat
TrainingViews.hpp
Generated by
1.17.0