|
ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
|
#include <array>#include <cstddef>#include <cstdint>#include <filesystem>#include <vector>#include <reusex/types/point_types.hpp>
Go to the source code of this file.
Classes | |
| struct | reusex::gsplat::GaussianCloud |
| A set of 3D Gaussians in plain host memory. More... | |
| struct | reusex::gsplat::GaussianInitOptions |
| Parameters for seeding Gaussians from a ReUseX point cloud. More... | |
Namespaces | |
| namespace | reusex |
| namespace | reusex::gsplat |
Functions | |
| float | reusex::gsplat::rgb_to_sh_dc (float c) |
| RGB in [0,1] -> degree-0 SH coefficient. | |
| float | reusex::gsplat::sh_dc_to_rgb (float f) |
| Degree-0 SH coefficient -> RGB in [0,1] (not clamped). | |
| float | reusex::gsplat::inverse_sigmoid (float x) |
| Numerically safe logit, the inverse of the sigmoid used for opacity. | |
| GaussianCloud | reusex::gsplat::init_from_point_cloud (const CloudPtr &cloud, const GaussianInitOptions &opt={}) |
| Seed Gaussians from an XYZRGB cloud: means = point positions, DC colour = point colour, scale = log of the k-NN mean spacing, rotation = identity, opacity = logit(initial_opacity). | |
| std::vector< std::uint8_t > | reusex::gsplat::gaussian_ply_bytes (const GaussianCloud &gaussians) |
| Serialize to a 3DGS-format binary-little-endian .ply in memory (the property names the reference implementation and every common viewer expect: x/y/z, nx/ny/nz, f_dc_*, f_rest_*, opacity, scale_*, rot_*). | |
| void | reusex::gsplat::save_gaussian_ply (const GaussianCloud &gaussians, const std::filesystem::path &path) |
Write the bytes of gaussian_ply_bytes() to path. | |
| GaussianCloud | reusex::gsplat::load_gaussian_ply (const std::filesystem::path &path) |
| Read back a .ply written by save_gaussian_ply. | |
Variables | |
| constexpr float | reusex::gsplat::kShC0 = 0.28209479177387814f |
| The 3D Gaussian Splatting DC spherical-harmonic basis function value, 0.5 * sqrt(1/pi). | |