28 #include <VisionX/interface/components/FakePointCloudProviderInterface.h>
29 #include <VisionX/interface/components/PointCloudSegmenter.h>
30 #include <VisionX/interface/components/PrimitiveMapper.h>
32 #include <pcl/io/pcd_io.h>
33 #include <pcl/point_types.h>
48 defineRequiredProperty<std::string>(
"SourcePointCloud",
"A XYZRGBA source truth point cloud");
49 defineRequiredProperty<std::string>(
"GroundTruthPointCloud",
"A XYZRGBL ground truth point cloud");
50 defineOptionalProperty<std::string>(
"PointCloudProviderName",
"FakePointCloudProvider",
"The name of the point cloud provider");
51 defineOptionalProperty<std::string>(
"PointCloudSegmenterName",
"PointCloudSegmenter",
"The name of the point cloud segmenter");
52 defineOptionalProperty<std::string>(
"PrimitiveExtractorName",
"PrimitiveExtractor",
"The name of the point cloud provider");
53 defineOptionalProperty<std::string>(
"PrimitivesProviderName",
"PrimitiveExtractorResult",
"The name of the primitive provider");
54 defineRequiredProperty<std::string>(
"ExportDirectory",
"The name of the directory to export point clouds and setup files");
78 return "PrimitiveExtractionParameterTuning";
112 float compareLabeledPointClouds(
const pcl::PointCloud<pcl::PointXYZL>::Ptr& labeled,
const pcl::PointCloud<pcl::PointXYZRGBL>::Ptr& reference);
115 float sample(
float current,
const Eigen::Vector2f& bounds);
116 void exportBestSetup(
const std::string& directory,
const pcl::PointCloud<pcl::PointXYZL>::Ptr& pointCloud,
const visionx::LccpParameters& lccp_prm,
const visionx::PrimitiveExtractorParameters& pe_prm);