ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
gsplat.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
#include "
../global-params.hpp
"
7
#include <CLI/CLI.hpp>
8
#include <cstdint>
9
#include <memory>
10
#include <string>
11
#include <vector>
12
22
struct
SubcommandCreateGsplatOptions
{
23
std::string
seed_cloud
=
"cloud"
;
24
std::size_t
max_points
= 0;
25
int
sh_degree
= 0;
28
int
sh_degree_interval
= 1000;
29
float
lr_sh_rest
= 2.5e-3f / 20.0f;
30
31
int
iterations
= 2000;
32
float
lambda_dssim
= 0.2f;
33
unsigned
seed
= 42;
34
bool
no_prune
=
false
;
35
36
// Held-out evaluation (TrainOptions::holdout_every / eval_interval /
37
// eval_max_views).
38
int
holdout_every
= 8;
39
int
eval_interval
= 1000;
40
int
eval_max_views
= 32;
41
42
// MCMC density control (TrainOptions::mcmc).
43
bool
mcmc
=
false
;
44
double
mcmc_cap_factor
= 2.0;
45
std::int64_t
mcmc_cap
= 0;
46
int
mcmc_refine_every
= 100;
47
float
mcmc_noise_lr
= 5e5f;
48
float
mcmc_opacity_reg
= 0.0f;
49
float
mcmc_scale_reg
= 0.0f;
50
51
int
frame_stride
= 1;
52
int
first_frame
= -1;
53
int
last_frame
= -1;
54
int
max_image_size
= 0;
55
std::size_t
max_views
= 0;
56
57
bool
use_panoramas
=
false
;
58
int
pano_n_yaw
= 8;
59
double
pano_fov_deg
= 90.0;
60
int
pano_tile
= 1024;
61
62
std::string
splat_name
=
"splat"
;
63
std::string
out_ply
;
64
std::string
render_dir
;
65
std::vector<int>
render_iterations
;
66
std::size_t
render_view_index
= 0;
67
68
// Periodic checkpointing (TrainOptions::checkpoint_every / checkpoint_keep /
69
// checkpoint_dir).
70
int
checkpoint_every
= 0;
71
int
checkpoint_keep
= 3;
72
std::string
checkpoint_dir
;
73
};
74
75
void
setup_subcommand_create_gsplat
(CLI::App &app,
76
std::shared_ptr<RuxOptions> global_opt);
77
78
int
run_subcommand_create_gsplat
(
SubcommandCreateGsplatOptions
const
&opt,
79
const
RuxOptions
&global_opt);
setup_subcommand_create_gsplat
void setup_subcommand_create_gsplat(CLI::App &app, std::shared_ptr< RuxOptions > global_opt)
run_subcommand_create_gsplat
int run_subcommand_create_gsplat(SubcommandCreateGsplatOptions const &opt, const RuxOptions &global_opt)
global-params.hpp
RuxOptions
Definition
global-params.hpp:44
SubcommandCreateGsplatOptions
Options for rux create gsplat.
Definition
gsplat.hpp:22
SubcommandCreateGsplatOptions::sh_degree_interval
int sh_degree_interval
TrainOptions::sh_degree_interval / lr_sh_rest — the view-dependent-colour warm-up.
Definition
gsplat.hpp:28
SubcommandCreateGsplatOptions::seed_cloud
std::string seed_cloud
Definition
gsplat.hpp:23
SubcommandCreateGsplatOptions::first_frame
int first_frame
Definition
gsplat.hpp:52
SubcommandCreateGsplatOptions::use_panoramas
bool use_panoramas
Definition
gsplat.hpp:57
SubcommandCreateGsplatOptions::pano_tile
int pano_tile
Definition
gsplat.hpp:60
SubcommandCreateGsplatOptions::max_image_size
int max_image_size
Definition
gsplat.hpp:54
SubcommandCreateGsplatOptions::iterations
int iterations
Definition
gsplat.hpp:31
SubcommandCreateGsplatOptions::out_ply
std::string out_ply
Definition
gsplat.hpp:63
SubcommandCreateGsplatOptions::max_views
std::size_t max_views
Definition
gsplat.hpp:55
SubcommandCreateGsplatOptions::mcmc_cap_factor
double mcmc_cap_factor
Definition
gsplat.hpp:44
SubcommandCreateGsplatOptions::max_points
std::size_t max_points
Definition
gsplat.hpp:24
SubcommandCreateGsplatOptions::checkpoint_keep
int checkpoint_keep
Definition
gsplat.hpp:71
SubcommandCreateGsplatOptions::pano_fov_deg
double pano_fov_deg
Definition
gsplat.hpp:59
SubcommandCreateGsplatOptions::render_dir
std::string render_dir
Definition
gsplat.hpp:64
SubcommandCreateGsplatOptions::mcmc_refine_every
int mcmc_refine_every
Definition
gsplat.hpp:46
SubcommandCreateGsplatOptions::no_prune
bool no_prune
Definition
gsplat.hpp:34
SubcommandCreateGsplatOptions::eval_interval
int eval_interval
Definition
gsplat.hpp:39
SubcommandCreateGsplatOptions::mcmc_cap
std::int64_t mcmc_cap
Definition
gsplat.hpp:45
SubcommandCreateGsplatOptions::last_frame
int last_frame
Definition
gsplat.hpp:53
SubcommandCreateGsplatOptions::lr_sh_rest
float lr_sh_rest
Definition
gsplat.hpp:29
SubcommandCreateGsplatOptions::render_iterations
std::vector< int > render_iterations
Definition
gsplat.hpp:65
SubcommandCreateGsplatOptions::lambda_dssim
float lambda_dssim
Definition
gsplat.hpp:32
SubcommandCreateGsplatOptions::pano_n_yaw
int pano_n_yaw
Definition
gsplat.hpp:58
SubcommandCreateGsplatOptions::mcmc_noise_lr
float mcmc_noise_lr
Definition
gsplat.hpp:47
SubcommandCreateGsplatOptions::mcmc
bool mcmc
Definition
gsplat.hpp:43
SubcommandCreateGsplatOptions::holdout_every
int holdout_every
Definition
gsplat.hpp:38
SubcommandCreateGsplatOptions::sh_degree
int sh_degree
Definition
gsplat.hpp:25
SubcommandCreateGsplatOptions::checkpoint_every
int checkpoint_every
Definition
gsplat.hpp:70
SubcommandCreateGsplatOptions::mcmc_scale_reg
float mcmc_scale_reg
Definition
gsplat.hpp:49
SubcommandCreateGsplatOptions::seed
unsigned seed
Definition
gsplat.hpp:33
SubcommandCreateGsplatOptions::checkpoint_dir
std::string checkpoint_dir
Definition
gsplat.hpp:72
SubcommandCreateGsplatOptions::render_view_index
std::size_t render_view_index
Definition
gsplat.hpp:66
SubcommandCreateGsplatOptions::frame_stride
int frame_stride
Definition
gsplat.hpp:51
SubcommandCreateGsplatOptions::eval_max_views
int eval_max_views
Definition
gsplat.hpp:40
SubcommandCreateGsplatOptions::mcmc_opacity_reg
float mcmc_opacity_reg
Definition
gsplat.hpp:48
SubcommandCreateGsplatOptions::splat_name
std::string splat_name
Definition
gsplat.hpp:62
apps
rux
include
create
gsplat.hpp
Generated by
1.17.0