unwhitenedError.
parent
27cabb62f1
commit
b0c96f9bf6
|
@ -223,15 +223,7 @@ namespace gtsam {
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
gtsam::Vector calcIndicatorProb(const gtsam::Values& x) const {
|
gtsam::Vector calcIndicatorProb(const gtsam::Values& x) const {
|
||||||
|
|
||||||
const T& p1 = x.at<T>(key1_);
|
Vector err = unwhitenedError(x);
|
||||||
const T& p2 = x.at<T>(key2_);
|
|
||||||
|
|
||||||
Matrix H1, H2;
|
|
||||||
|
|
||||||
T hx = p1.between(p2, H1, H2); // h(x)
|
|
||||||
// manifold equivalent of h(x)-z -> log(z,h(x))
|
|
||||||
|
|
||||||
Vector err = measured_.localCoordinates(hx);
|
|
||||||
|
|
||||||
// Calculate indicator probabilities (inlier and outlier)
|
// Calculate indicator probabilities (inlier and outlier)
|
||||||
Vector err_wh_inlier = model_inlier_->whiten(err);
|
Vector err_wh_inlier = model_inlier_->whiten(err);
|
||||||
|
@ -262,6 +254,22 @@ namespace gtsam {
|
||||||
return Vector_(2, p_inlier, p_outlier);
|
return Vector_(2, p_inlier, p_outlier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ************************************************************************* */
|
||||||
|
gtsam::Vector unwhitenedError(const gtsam::Values& x) const {
|
||||||
|
|
||||||
|
bool debug = true;
|
||||||
|
|
||||||
|
const T& p1 = x.at<T>(key1_);
|
||||||
|
const T& p2 = x.at<T>(key2_);
|
||||||
|
|
||||||
|
Matrix H1, H2;
|
||||||
|
|
||||||
|
T hx = p1.between(p2, H1, H2); // h(x)
|
||||||
|
|
||||||
|
return measured_.localCoordinates(hx);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ************************************************************************* */
|
||||||
/** return the measured */
|
/** return the measured */
|
||||||
const VALUE& measured() const {
|
const VALUE& measured() const {
|
||||||
return measured_;
|
return measured_;
|
||||||
|
|
Loading…
Reference in New Issue