Fix in ConcurrentFilteringAndSmoothing - one elimination call was using the default elimination function instead of the one from the parameters.

release/4.3a0
Richard Roberts 2013-11-21 15:42:17 +00:00
parent caa232cca2
commit a27f97dec4
1 changed files with 2 additions and 1 deletions

View File

@ -71,7 +71,8 @@ NonlinearFactorGraph calculateMarginalFactors(const NonlinearFactorGraph& graph,
// Create the linear factor graph
GaussianFactorGraph linearFactorGraph = *graph.linearize(theta);
// .first is the eliminated Bayes tree, while .second is the remaining factor graph
GaussianFactorGraph marginalLinearFactors = *linearFactorGraph.eliminatePartialMultifrontal(std::vector<Key>(marginalizeKeys.begin(), marginalizeKeys.end())).second;
GaussianFactorGraph marginalLinearFactors = *linearFactorGraph.eliminatePartialMultifrontal(
std::vector<Key>(marginalizeKeys.begin(), marginalizeKeys.end()), eliminateFunction).second;
// Wrap in nonlinear container factors
NonlinearFactorGraph marginalFactors;