MeVisLab Toolbox Reference
mlPCLPCA.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
15#include "MLPCLCommonSystem.h"
16#include <mlPCLModule.h>
17
18ML_START_NAMESPACE
19
20//----------------------------------------------------------------------------------
22//----------------------------------------------------------------------------------
24{
25public:
28
29protected:
31 void activateAttachments() override;
32
34 void handleNotification (Field* field) override;
35
37 virtual void _resetOutputFields();
38
39private:
41 void _filter();
42
44 template <typename POINT_CLOUD_TYPE> void _filterT(const POINT_CLOUD_TYPE &inputPointCloud);
45
47 Vector4Field *_meanFld;
48
50 Vector3Field *_eigenVector0Fld;
51
53 Vector3Field *_eigenVector1Fld;
54
56 Vector3Field *_eigenVector2Fld;
57
59 Vector3Field *_eigenValuesFld;
60
67 BoolField *_keepInformationFld;
68
69 // TODO: Dynamic matrix size, thus no field available for direct display.
70 //Eigen::MatrixXf PCAFilter.getCoefficients();
71
74
77};
78
79ML_END_NAMESPACE
80
Project global and OS specific declarations.
#define MLPCL_Common_EXPORT
If included by external modules, exported symbols are declared as import symbols.
Field to encapsulate a boolean value.
Definition mlFields.h:58
Base class for all fields used in the ML.
Definition mlField.h:73
ML Module base class for algorithms from the Point Cloud Library (PCL).
Definition mlPCLModule.h:26
ML Module class applying the pcl::PCA filter to the input point cloud and provides the filter result ...
Definition mlPCLPCA.h:24
void handleNotification(Field *field) override
Handles field changes of the field field.
virtual void _resetOutputFields()
Reset all output fields to default states.
void activateAttachments() override
Updates internal state after changes of fields without field notifications.
PCLPCA()
Initializes an ML module wrapping a pcl::PCA filter.
Field to encapsulate a vector of 3 double values.
Definition mlFields.h:1103
Field to encapsulate a vector of 4 double values.
Definition mlFields.h:1171
#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.