ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
accuracy_metrics.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/types/point_types.hpp"
7
8
#include <cstddef>
9
#include <string>
10
11
namespace
reusex::geometry
{
12
14
struct
AccuracyMetricsOptions
{
16
float
threshold
= 0.05f;
19
float
gt_voxel
= 0.01f;
20
};
21
41
struct
AccuracyReport
{
42
std::size_t
cloud_points
= 0;
43
std::size_t
gt_points
= 0;
44
45
double
accuracy_mean
= 0.0;
46
double
accuracy_median
= 0.0;
47
48
double
completeness_mean
= 0.0;
49
double
completeness_median
= 0.0;
50
51
double
chamfer
= 0.0;
52
53
double
precision
= 0.0;
54
double
recall
= 0.0;
55
double
fscore
= 0.0;
56
57
float
threshold
= 0.05f;
58
59
[[nodiscard]] std::string
to_json
(
int
indent = 2)
const
;
60
};
61
70
AccuracyReport
compute_accuracy
(
const
Cloud
&cloud,
const
CloudLoc
>,
71
const
AccuracyMetricsOptions
&opt = {});
72
73
}
// namespace reusex::geometry
reusex::geometry
Definition
visual_observer.hpp:33
reusex::geometry::compute_accuracy
AccuracyReport compute_accuracy(const Cloud &cloud, const CloudLoc >, const AccuracyMetricsOptions &opt={})
Score a reconstructed cloud against a ground-truth point cloud.
reusex::Cloud
pcl::PointCloud< PointT > Cloud
Definition
point_types.hpp:27
reusex::CloudLoc
pcl::PointCloud< LocT > CloudLoc
Definition
point_types.hpp:39
reusex::geometry::AccuracyMetricsOptions
Options for ground-truth accuracy scoring.
Definition
accuracy_metrics.hpp:14
reusex::geometry::AccuracyMetricsOptions::threshold
float threshold
Inlier distance threshold for precision/recall/F-score [m].
Definition
accuracy_metrics.hpp:16
reusex::geometry::AccuracyMetricsOptions::gt_voxel
float gt_voxel
Voxel leaf size used to downsample the ground-truth cloud before scoring [m].
Definition
accuracy_metrics.hpp:19
reusex::geometry::AccuracyReport
Ground-truth accuracy report for a reconstructed point cloud.
Definition
accuracy_metrics.hpp:41
reusex::geometry::AccuracyReport::accuracy_mean
double accuracy_mean
mean recon->GT distance [m]
Definition
accuracy_metrics.hpp:45
reusex::geometry::AccuracyReport::gt_points
std::size_t gt_points
finite (post-downsample) GT points scored
Definition
accuracy_metrics.hpp:43
reusex::geometry::AccuracyReport::precision
double precision
fraction of recon points within threshold
Definition
accuracy_metrics.hpp:53
reusex::geometry::AccuracyReport::completeness_median
double completeness_median
median GT->recon distance [m]
Definition
accuracy_metrics.hpp:49
reusex::geometry::AccuracyReport::accuracy_median
double accuracy_median
median recon->GT distance [m]
Definition
accuracy_metrics.hpp:46
reusex::geometry::AccuracyReport::fscore
double fscore
2*P*R/(P+R)
Definition
accuracy_metrics.hpp:55
reusex::geometry::AccuracyReport::to_json
std::string to_json(int indent=2) const
reusex::geometry::AccuracyReport::recall
double recall
fraction of GT points within threshold
Definition
accuracy_metrics.hpp:54
reusex::geometry::AccuracyReport::threshold
float threshold
inlier threshold used [m]
Definition
accuracy_metrics.hpp:57
reusex::geometry::AccuracyReport::cloud_points
std::size_t cloud_points
finite reconstruction points scored
Definition
accuracy_metrics.hpp:42
reusex::geometry::AccuracyReport::completeness_mean
double completeness_mean
mean GT->recon distance [m]
Definition
accuracy_metrics.hpp:48
reusex::geometry::AccuracyReport::chamfer
double chamfer
(accuracy_mean + completeness_mean) / 2 [m]
Definition
accuracy_metrics.hpp:51
libs
reusex
include
reconstruction
accuracy_metrics.hpp
Generated by
1.17.0