supereight
Loading...
Searching...
No Matches
multires_ofusion_core.hpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2019-2021 Smart Robotics Lab, Imperial College London, Technical University of Munich
3 * SPDX-FileCopyrightText: 2019-2021 Nils Funk
4 * SPDX-FileCopyrightText: 2021 Sotiris Papatheodorou
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#ifndef SE_MULTIRES_OFUSION_CORE_HPP
9#define SE_MULTIRES_OFUSION_CORE_HPP
10
11#include <algorithm>
13
14namespace se {
15
16
17
25template<typename ConfigT>
27 const float sigma_min,
28 const float sigma_max,
29 const ConfigT config);
30
31
32
40template<typename ConfigT>
42 const float tau_min,
43 const float tau_max,
44 const ConfigT config);
45
46
47
48namespace updater {
49
60template<typename DataT, typename ConfigT>
62 const float range_diff,
63 const float tau,
64 const float three_sigma,
65 const ConfigT config);
66
67
68
76template<typename DataT, typename ConfigT>
78
79
89template<typename NodeT, typename BlockT>
91 const timestamp_t timestamp);
92
93
94
102template<typename BlockT>
104
105
106
107} // namespace updater
108} // namespace se
109
110#include "impl/multires_ofusion_core_impl.hpp"
111
112#endif // SE_MULTIRES_OFUSION_CORE_HPP
Definition image.hpp:19
The base class of all octants (se::Node and se::Block) in an se::Octree.
Definition octant.hpp:19
bool free_voxel(DataT &voxel_data, const ConfigT config)
Reduce the node data by the minimum log-odd occupancy update per iteration.
NodeT::DataType propagate_to_parent_node(OctantBase *octant_ptr, const timestamp_t timestamp)
Propagate a summary of the eight nodes children to its parent.
bool update_voxel(DataT &data, const float range_diff, const float tau, const float three_sigma, const ConfigT config)
Update a field with a new measurement, a weighting of 1 is considered for the new measurement.
void propagate_block_to_coarsest_scale(OctantBase *octant_ptr)
Summariese the values from the current integration scale recursively up to the block's max scale.
Helper wrapper to allocate and de-allocate octants in the octree.
Definition bounded_vector.hpp:14
float field_t
The type of the stored field (e.g. TSDF, ESDF or occupancy)
Definition type_util.hpp:49
float compute_three_sigma(const field_t depth_value, const float sigma_min, const float sigma_max, const ConfigT config)
Compute the estimated uncertainty boundary for a given depth measurement.
int timestamp_t
The type of the time stamp.
Definition type_util.hpp:55
float compute_tau(const field_t depth_value, const float tau_min, const float tau_max, const ConfigT config)
Compute the estimated wall thickness tau for a given depth measurement.