LCCPSegmentation.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5  *
6  * ArmarX is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * ArmarX is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * @package
19  * @author
20  * @date
21  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22  * GNU General Public License
23  */
24 #pragma once
25 
27 
28 #ifdef OLP_USE_LCCP
29 
30 #include "ObjectHypothesis.h"
31 
32 // IVT
33 #include <Math/Math3d.h>
34 
35 
36 namespace pcl
37 {
38  class PointXYZRGBA;
39 }
40 
41 
42 class LCCPSegmentationWrapper
43 {
44 public:
45  LCCPSegmentationWrapper(const float voxelResolution, const float seedResolution, const float colorImportance, const float spatialImportance, const float normalImportance,
46  const bool useSingleCamTransform, const float concavityToleranceThreshold, const float smoothnessThreshold, const unsigned int minSegmentSize, const bool useExtendedConvexity,
47  const bool useSanityCriterion, const float maxZ);
48 
49  ~LCCPSegmentationWrapper();
50 
51  void CreateHypothesesFromLCCPSegments(const std::vector<CHypothesisPoint*>& inputPointCloud, const int maxNumHypotheses, CVec3dArray*& hypothesesFromLCCP, int& numFoundSegments);
52 
53  static pcl::PointXYZRGBA ConvertHypothesisPointToPCL(const CHypothesisPoint* point);
54 
55 private:
56 
57  float voxelResolution;
58  float seedResolution;
59  float colorImportance;
60  float spatialImportance;
61  float normalImportance;
62  bool useSingleCamTransform;
63  float concavityToleranceThreshold;
64  float smoothnessThreshold;
65  unsigned int minSegmentSize;
66  bool useExtendedConvexity;
67  bool useSanityCriterion;
68  float maxZ;
69 };
70 
71 #endif // OLP_USE_LCCP
72 
pcl
Definition: pcl_point_operators.cpp:4
ObjectHypothesis.h
ObjectLearningByPushingDefinitions.h
CHypothesisPoint
Definition: ObjectHypothesis.h:171
visionx::armem::pointcloud::PointType::PointXYZRGBA
@ PointXYZRGBA