Template Function voxblox::evaluateLayerRmseAtPoses(const utils::VoxelEvaluationMode&, const Layer<VoxelType>&, const Layer<VoxelType>&, const std::vector<Transformation>&, std::vector<utils::VoxelEvaluationDetails> *, std::vector<std::pair<typename voxblox::Layer<VoxelType>::Ptr, typename voxblox::Layer<VoxelType>::Ptr>> *)

Function Documentation

template <typename VoxelType>
void voxblox::evaluateLayerRmseAtPoses(const utils::VoxelEvaluationMode &voxel_evaluation_mode, const Layer<VoxelType> &layer_A, const Layer<VoxelType> &layer_B, const std::vector<Transformation> &transforms_A_B, std::vector<utils::VoxelEvaluationDetails> *voxel_evaluation_details_vector, std::vector<std::pair<typename voxblox::Layer<VoxelType>::Ptr, typename voxblox::Layer<VoxelType>::Ptr>> *aligned_layers_and_error_layers = nullptr)

This function will align layer B to layer A, transforming and interpolating layer B into voxel grid A for every transformation in transforms_A_B and evaluate them.

If aligned_layers_and_error_layers is set, this function returns a vector containing the aligned layer_B and an error layer for every transformation. The error layer contains the absolute SDF error for every voxel of the comparison between layer_A and aligned layer_B. This function currently only supports SDF type layers, like TsdfVoxel and EsdfVoxel.