From 466fd5252384c7d6c08894c04f631b41530499cd Mon Sep 17 00:00:00 2001 From: Dongjae LEE Date: Sun, 18 Aug 2024 03:10:17 +0900 Subject: [PATCH 1/2] modified code for exporting eval pcd --- scripts/cpp/export_eval_pcd.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/scripts/cpp/export_eval_pcd.cpp b/scripts/cpp/export_eval_pcd.cpp index 1a6e25b..7c7e2b2 100644 --- a/scripts/cpp/export_eval_pcd.cpp +++ b/scripts/cpp/export_eval_pcd.cpp @@ -73,12 +73,24 @@ int main(int argc, char** argv) { // if the nearest point in et_cloud for gt is too far, then this gt point is not in the et_cloud // which means mark as dynamic since et_cloud remove this one. if (kdtree.nearestKSearch(point, 1, nearest_indices, nearest_distances) > 0) { - float distance = std::sqrt(nearest_distances[0]); - if (distance > min_dis_cnt_as_same) { - point.intensity = 1; - } else { + // Revised Code + auto point_et = et_cloud->points[nearest_indices[0]]; + auto left_bottom_corner = point_et.getArray3fMap() - Eigen::Array3f(min_dis_cnt_as_same, min_dis_cnt_as_same, min_dis_cnt_as_same); + auto right_top_corner = point_et.getArray3fMap() + Eigen::Array3f(min_dis_cnt_as_same, min_dis_cnt_as_same, min_dis_cnt_as_same); + // Check if the gt point is in the bounding box of the et point + if ((point.getArray3fMap() >= left_bottom_corner).all() && (point.getArray3fMap() <= right_top_corner).all()) { point.intensity = 0; + } else { + point.intensity = 1; } + + // Original Code + // float distance = std::sqrt(nearest_distances[0]); + // if (distance > min_dis_cnt_as_same) { + // point.intensity = 1; + // } else { + // point.intensity = 0; + // } } else { std::cout << "Search failed" << std::endl; } From 66342b73fd630d5df775242af11c8e528c3afd68 Mon Sep 17 00:00:00 2001 From: Dongjae LEE Date: Sun, 18 Aug 2024 04:02:19 +0900 Subject: [PATCH 2/2] found some errors and fixed it --- scripts/cpp/export_eval_pcd.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/cpp/export_eval_pcd.cpp b/scripts/cpp/export_eval_pcd.cpp index 7c7e2b2..6bf8d14 100644 --- a/scripts/cpp/export_eval_pcd.cpp +++ b/scripts/cpp/export_eval_pcd.cpp @@ -75,10 +75,19 @@ int main(int argc, char** argv) { if (kdtree.nearestKSearch(point, 1, nearest_indices, nearest_distances) > 0) { // Revised Code auto point_et = et_cloud->points[nearest_indices[0]]; - auto left_bottom_corner = point_et.getArray3fMap() - Eigen::Array3f(min_dis_cnt_as_same, min_dis_cnt_as_same, min_dis_cnt_as_same); - auto right_top_corner = point_et.getArray3fMap() + Eigen::Array3f(min_dis_cnt_as_same, min_dis_cnt_as_same, min_dis_cnt_as_same); - // Check if the gt point is in the bounding box of the et point - if ((point.getArray3fMap() >= left_bottom_corner).all() && (point.getArray3fMap() <= right_top_corner).all()) { + pcl::PointXYZI left_bottom_corner = point_et; + left_bottom_corner.x -= min_dis_cnt_as_same; + left_bottom_corner.y -= min_dis_cnt_as_same; + left_bottom_corner.z -= min_dis_cnt_as_same; + + pcl::PointXYZI right_top_corner = point_et; + right_top_corner.x += min_dis_cnt_as_same; + right_top_corner.y += min_dis_cnt_as_same; + right_top_corner.z += min_dis_cnt_as_same; + + if ((point.x >= left_bottom_corner.x && point.x <= right_top_corner.x) && + (point.y >= left_bottom_corner.y && point.y <= right_top_corner.y) && + (point.z >= left_bottom_corner.z && point.z <= right_top_corner.z)) { point.intensity = 0; } else { point.intensity = 1;