NDEVR
API Documentation
robust_kernel.h
1#pragma once
2#include "DLLInfo.h"
3#include <Eigen/Core>
4
5
6namespace NDEVR {
7
19 class RobustKernel
20 {
21 public:
22 RobustKernel()
23 :_delta(1.)
24 {}
25 explicit RobustKernel(g_type delta)
26 : _delta(delta)
27 {}
28 virtual ~RobustKernel() {}
37 virtual void robustify(g_type squaredError, Eigen::Vector3<g_type>& rho) const = 0;
38
43 virtual void setDelta(g_type delta)
44 {
45 _delta = delta;
46 }
47
48 g_type delta() const { return _delta; }
49
50 protected:
51 g_type _delta = 1.0;
52 };
53 typedef std::shared_ptr<RobustKernel> RobustKernelPtr;
54
55}
g_type _delta
The window size parameter; errors above delta^2 are considered outliers.
virtual void robustify(g_type squaredError, Eigen::Vector3< g_type > &rho) const =0
compute the scaling factor for a error: The error is e^T Omega e The output rho is rho[0]: The actual...
g_type delta() const
Returns the current delta (window size) value.
virtual void setDelta(g_type delta)
set the window size of the error.
The primary namespace for the NDEVR SDK.
std::shared_ptr< RobustKernel > RobustKernelPtr
Shared pointer type for RobustKernel.