namespace mola::cov_diag
Overview
namespace cov_diag { // global functions std::ostream* stream(); double anisotropy(const mrpt::math::CMatrixFloat33& covInv); bool isIsotropicFallback(const mrpt::math::CMatrixFloat33& c); template <typename LocalCovFn, typename GlobalCovFn> void dump( std::ostream& os, const char* mapClass, const mp2p_icp::MatchedPointWithCovList& pairings, std::size_t firstNew, LocalCovFn&& localCov, GlobalCovFn&& globalCov ); } // namespace cov_diag
Global Functions
std::ostream* stream()
Shared output stream, or nullptr when the feature is off.
double anisotropy(const mrpt::math::CMatrixFloat33& covInv)
Ratio of largest to smallest eigenvalue of a symmetric 3x3 weight matrix. Around 1000 for a well-conditioned plane pairing whose two sides agree on the normal, and around 2 once either side has degenerated.
bool isIsotropicFallback(const mrpt::math::CMatrixFloat33& c)
True for a covariance that fell back to the isotropic identity. A rotation leaves the identity unchanged, so this is recognizable in either frame.
template <typename LocalCovFn, typename GlobalCovFn> void dump( std::ostream& os, const char* mapClass, const mp2p_icp::MatchedPointWithCovList& pairings, std::size_t firstNew, LocalCovFn&& localCov, GlobalCovFn&& globalCov )
Writes one summary row for the pairings appended by one matching call. localCov and globalCov are callables mapping a pairing index to the covariance that side contributed, so both map classes can share this.