8#ifndef SE_MULTIRES_OFUSION_CORE_HPP
9#define SE_MULTIRES_OFUSION_CORE_HPP
25template<
typename ConfigT>
27 const float sigma_min,
28 const float sigma_max,
40template<
typename ConfigT>
60template<
typename DataT,
typename ConfigT>
76template<
typename DataT,
typename ConfigT>
89template<
typename NodeT,
typename BlockT>
102template<
typename BlockT>
110#include "impl/multires_ofusion_core_impl.hpp"
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.