61 std::vector<double> data(
m);
64 std::nth_element(data.begin(), data.begin() + (data.size() >> 1), data.end());
65 return (data[data.size() >> 1]);
78 for (
int i = 0; i < 3; ++i) {
82 norm += 2.0 * sigma *
diff[i] - sigma * sigma;
98 norm += 2.0 * sigma *
diff - sigma * sigma;
121 return ((
p_src.array() -
p_tgt.array()).abs().sum());
Iterator class for point clouds with or without given indices.
double l2Sqr(const Eigen::Vector4f &p_src, const Eigen::Vector4f &p_tgt)
Compute the squared Euclidean distance between two eigen vectors.
double gedikli(double val, double clipping, double slope=4)
Use a Gedikli kernel to estimate the distance between two vectors (for more information,...
double huber(const Eigen::Vector4f &p_src, const Eigen::Vector4f &p_tgt, double sigma)
Use a Huber kernel to estimate the distance between two vectors.
double computeMedian(double *fvec, int m)
Compute the median value from a set of doubles.
double l2(const Eigen::Vector4f &p_src, const Eigen::Vector4f &p_tgt)
Compute the Euclidean distance between two eigen vectors.
double l1(const Eigen::Vector4f &p_src, const Eigen::Vector4f &p_tgt)
Compute the Manhattan distance between two eigen vectors.