Skip to content

Commit

Permalink
[BUG FIX] Do not access nth[i] if nth is empty.
Browse files Browse the repository at this point in the history
  • Loading branch information
fghoussen committed Jun 23, 2024
1 parent c73cca5 commit d166695
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions registration/src/correspondence_rejection_median_distance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,18 @@ pcl::registration::CorrespondenceRejectorMedianDistance::getRemainingCorresponde
dists[i] = original_correspondences[i].distance;
}

unsigned int number_valid_correspondences = 0;
std::vector<double> nth(dists);
nth_element(nth.begin(), nth.begin() + (nth.size() / 2), nth.end());
median_distance_ = nth[nth.size() / 2];
if (!nth.empty()) {
nth_element(nth.begin(), nth.begin() + (nth.size() / 2), nth.end());
median_distance_ = nth[nth.size() / 2];

unsigned int number_valid_correspondences = 0;
remaining_correspondences.resize(original_correspondences.size());
remaining_correspondences.resize(original_correspondences.size());

for (std::size_t i = 0; i < original_correspondences.size(); ++i)
if (dists[i] <= median_distance_ * factor_)
remaining_correspondences[number_valid_correspondences++] =
original_correspondences[i];
for (std::size_t i = 0; i < original_correspondences.size(); ++i)
if (dists[i] <= median_distance_ * factor_)
remaining_correspondences[number_valid_correspondences++] =
original_correspondences[i];
}
remaining_correspondences.resize(number_valid_correspondences);
}

0 comments on commit d166695

Please sign in to comment.