supereight
Functions
se::updater Namespace Reference

Functions

template<typename DataT >
bool weighted_mean_update (DataT &data, const se::field_t sample_value, const se::weight_t max_weight)
 Update the weighted mean log-odd octant occupancy and set the octant to observed. More...
 
template<typename DataT , typename ConfigT >
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. More...
 
template<typename DataT , typename ConfigT >
void free_node (DataT &node_data, const ConfigT config)
 Reduce the node data by the minimum log-odd occupancy update per iteration. More...
 
template<typename DataT , typename ConfigT >
bool free_voxel (DataT &voxel_data, const ConfigT config)
 Reduce the node data by the minimum log-odd occupancy update per iteration. More...
 
template<typename NodeT , typename BlockT >
NodeT::DataType propagate_to_parent_node (se::OctantBase *octant_ptr, const unsigned int frame)
 Propagate a summary of the eight nodes children to its parent. More...
 
template<typename BlockT >
void propagate_block_to_coarsest_scale (se::OctantBase *octant_ptr)
 Summariese the values from the current integration scale recursively up to the block's max scale. More...
 

Function Documentation

◆ weighted_mean_update()

template<typename DataT >
bool se::updater::weighted_mean_update ( DataT &  data,
const se::field_t  sample_value,
const se::weight_t  max_weight 
)
inline

Update the weighted mean log-odd octant occupancy and set the octant to observed.

Parameters
[in,out]dataThe data in the octant.
[in]sample_valueThe sample occupancy to be integrated.
Returns
True/false if the voxel has been observed the first time

◆ update_voxel()

template<typename DataT , typename ConfigT >
bool se::updater::update_voxel ( DataT &  data,
const float  range_diff,
const float  tau,
const float  three_sigma,
const ConfigT  config 
)
inline

Update a field with a new measurement, a weighting of 1 is considered for the new measurement.

Parameters
[in]range_diffThe range difference between the voxel sample point and the depth value of the reprojection.
[in]tauThe estimated wall thickness.
[in]three_sigmaThe 3x sigma uncertainty.
[in,out]voxel_dataThe reference to the voxel data of the voxel to be updated.
Returns
True/false if the node has been observed the first time

◆ free_node()

template<typename DataT , typename ConfigT >
void se::updater::free_node ( DataT &  node_data,
const ConfigT  config 
)
inline

Reduce the node data by the minimum log-odd occupancy update per iteration.

This function can be used to faster update a octant if it's know that it is in free space. The aim is to increase computation time by avoiding to compute the sample value from scratch.

Parameters
[in,out]node_dataThe reference to the node data.

◆ free_voxel()

template<typename DataT , typename ConfigT >
bool se::updater::free_voxel ( DataT &  voxel_data,
const ConfigT  config 
)
inline

Reduce the node data by the minimum log-odd occupancy update per iteration.

This function can be used to faster update a octant if it's know that it is in free space. The aim is to increase computation time by avoiding to compute the sample value from scratch.

Parameters
[in,out]node_dataThe reference to the node data.

◆ propagate_to_parent_node()

template<typename NodeT , typename BlockT >
NodeT::DataType se::updater::propagate_to_parent_node ( se::OctantBase octant_ptr,
const unsigned int  frame 
)
inline

Propagate a summary of the eight nodes children to its parent.

Parameters
[in]nodeNode to be summariesed
[in]voxel_depthMaximum depth of the octree
[in]frameCurrent frame
Returns
data Summary of the node

◆ propagate_block_to_coarsest_scale()

template<typename BlockT >
void se::updater::propagate_block_to_coarsest_scale ( se::OctantBase octant_ptr)
inline

Summariese the values from the current integration scale recursively up to the block's max scale.

Parameters
[in]blockThe block to be updated.
[in]initial_scaleScale from which propagate up voxel values