MeVisLab Toolbox Reference
mlPCLEuclideanClusterExtraction.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code author="Wolf Spindler"
3 //----------------------------------------------------------------------------------
5 
12 //----------------------------------------------------------------------------------
13 #pragma once
14 
16 #include <mlPCLModule.h>
17 
18 ML_START_NAMESPACE
19 
20 //----------------------------------------------------------------------------------
22 //----------------------------------------------------------------------------------
24 {
25 public:
28 
29 protected:
31  void activateAttachments() override;
32 
34  void handleNotification (Field* field) override;
35 
36 private:
38  void _resetResultValues();
39 
41  void _clampValues();
42 
44  void _filter();
45 
47  template <typename POINT_CLOUD_TYPE>
48  typename POINT_CLOUD_TYPE::Ptr _getScaledCloud(const POINT_CLOUD_TYPE &inCloud,
49  const Vector3 &preScale);
50 
52  template <typename POINT_CLOUD_TYPE>
53  void _filterT(const POINT_CLOUD_TYPE &inputPointCloud);
54 
56  DoubleField *_clusterToleranceFld;
57 
59  IntField *_clusterMinSizeFld;
60 
62  IntField *_clusterMaxSizeFld;
63 
66  Vector3Field *_preScaleFld;
67 
69  Vector3Field *_clusterMinExtentsFld;
70 
72  BoolField *_passOnlyClusterPointsFld;
73 
77  BoolField *_startClusterCountingAtOneFld;
78 
80  IntField *_numFoundClustersFld;
81 
84 
87 };
88 
89 ML_END_NAMESPACE
90 
Project global and OS specific declarations.
#define MLPCL_Segmentation_EXPORT
If included by external modules, exported symbols are declared as import symbols.
Field to encapsulate a boolean value.
Definition: mlFields.h:62
Field to encapsulate a double value.
Definition: mlFields.h:806
Base class for all fields used in the ML.
Definition: mlField.h:73
Field to encapsulate an integer value.
Definition: mlFields.h:161
ML Module class applying the pcl::EuclideanClusterExtraction filter to the input point cloud and prov...
void handleNotification(Field *field) override
Handles field changes of the field field.
PCLEuclideanClusterExtraction()
Initializes an ML module wrapping a pcl::EuclideanClusterExtraction filter.
void activateAttachments() override
Updates internal state after changes of fields without field notifications.
ML Module base class for algorithms from the Point Cloud Library (PCL).
Definition: mlPCLModule.h:26
Field to encapsulate a vector of 3 double values.
Definition: mlFields.h:1538
#define ML_MODULE_CLASS_HEADER(className)
Like ML_CLASS_HEADER for the usage of derived classes from Module.
ML Module base class for algorithms from the Point Cloud Library (PCL).
#define ML_PCL_TEST_INTERFACE(BASE_OBJECT_NAME)
Implements a dedicated interface for PCL related modules which is required in automatic tests.