ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
norm.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
7
8// cppcheck-suppress syntaxError
9enum class NormType : int { None = 0, MeanStd = 1, AlphaBeta = 2 };
10
11// cppcheck-suppress syntaxError
12enum class ChannelType : int { None = 0, SwapRB = 1 };
13
14struct Norm {
15 float mean[3] = {};
16 float std[3] = {};
17 float alpha = 0.f;
18 float beta = 0.f;
21
22 // out = (x * alpha - mean) / std
23 static Norm mean_std(const float mean[3], const float std[3],
24 float alpha = 1 / 255.0f,
26
27 // out = x * alpha + beta
28 static Norm alpha_beta(float alpha, float beta = 0,
30
31 // None
32 static Norm None();
33};
34
35} // namespace reusex::vision::tensor_rt::norm_image
static Norm mean_std(const float mean[3], const float std[3], float alpha=1/255.0f, ChannelType channel_type=ChannelType::None)
static Norm alpha_beta(float alpha, float beta=0, ChannelType channel_type=ChannelType::None)