template struct mrpt::math::RobustKernel<rkPseudoHuber, T>

Overview

Pseudo-huber robust kernel: rho(r) = delta^2 * ( -1+sqrt( 1+ r^2/delta^2 ) ), so eval() returns 2*rho.

#include <mrpt/math/robust_kernels.h>

template <typename T>
struct RobustKernel<rkPseudoHuber, T>
{
    // fields

    T param_sq = 1;

    // methods

    T eval(const T r2, T& out_1st_deriv, T& out_2nd_deriv);
};

Fields

T param_sq = 1

The kernel parameter (the “threshold”) squared.

Methods

T eval(const T r2, T& out_1st_deriv, T& out_2nd_deriv)

Evaluates the kernel function for the squared error r2 and returns the robustified squared error (2*rho), together with its first and second derivatives with respect to r2.