74 UserAssistedSegmenterGuiWidgetController>,
75 public visionx::UserAssistedSegmenterListener
79 using PointT = pcl::PointXYZRGBL;
80 using PointCloudT = pcl::PointCloud<PointT>;
116 const Ice::Current&)
override;
153 static std::vector<armarx::DrawColor> makeColorList();
157 void applyFilters(PointCloudT& pointCloud,
158 std::map<uint32_t, pcl::PointIndices>& segmentIndex);
161 void updatePointCloud(
const PointCloudT& pointCloud,
162 const std::map<uint32_t, pcl::PointIndices>& segmentIndex);
164 void computeSegmentIndex(
const PointCloudT& pointCloud);
165 void computeCenters(
const PointCloudT& pointCloud,
166 const std::map<uint32_t, pcl::PointIndices>& segmentIndex);
168 void updateTableOverview();
169 void drawSegmentIDs(
bool onlyIfChecked =
false);
170 void drawInputPointCloud(
bool onlyIfChecked =
false);
171 void drawResultPointCloud(
bool onlyIfChecked =
false);
173 armarx::DrawColor dcolor(std::size_t
id)
const;
174 QColor qcolor(std::size_t
id)
const;
179 Ui::UserAssistedSegmenterGuiWidget widget;
180 QPointer<UserAssistedSegmenterConfigDialog> configDialog;
185 std::string userAssistedSegmenterProxyName =
"UserAssistedSegmenter";
186 std::string userAssistedSegmenterTopicName =
"UserAssistedSegmenterUpdates";
190 visionx::UserAssistedSegmenterInterfacePrx segmenterProxy;
193 PointCloudT sourcePointCloud;
194 PointCloudT pointCloud;
196 std::map<uint32_t, pcl::PointIndices> segmentIndex;
197 std::map<uint32_t, Eigen::Vector3f> centers;
200 std::vector<std::vector<std::uint32_t>> userGrouping;
202 std::string layerPointCloud =
"UserAssistedSegmenter_PointCloud";
203 std::string layerSegmentIDs =
"UserAssistedSegmenter_SegmentIDs";