68 for (
int c=0; c < 4; ++c){
69 for (
int r=0; r < 4; ++r){
81 template <
typename PCL_FILTER>
85 regObject.setMaxCorrespondenceDistance(getMaxCorrespondenceDistanceFld().getDoubleValue());
86 regObject.setTransformationEpsilon (getTransformationEpsilonFld().getDoubleValue());
87 regObject.setEuclideanFitnessEpsilon (getEuclideanFitnessEpsilonFld().getDoubleValue());
91 template <
typename PCL_FILTER>
94 getFitnessScoreFld().setDoubleValue(
regObject.getFitnessScore());
95 getFinalTransformationFld().setMatrixValue(_pclToMLType(
regObject.getFinalTransformation()));
96 getLastIncrementalTransformationFld().setMatrixValue(_pclToMLType(
regObject.getLastIncrementalTransformation()));
97 getHasConvergedFld().setBoolValue(
regObject.hasConverged());
136 virtual void _filter() = 0;
Project global and OS specific declarations.
#define MLPCL_Registration_EXPORT
If included by external modules, exported symbols are declared as import symbols.
Field to encapsulate a boolean value.
Field to encapsulate a double value.
Base class for all fields used in the ML.
Field to encapsulate an integer value.
Field to encapsulate a 4x4 matrix.
ML Module base class for algorithms from the Point Cloud Library (PCL).
Abstract ML Module class wrapping the pcl::Registration class from the PCL; PCL registration algorith...
void _addPCLRelatedFields()
Adds fields corresponding to the registration class covered with this class, already called by constr...
static Matrix4 _pclToMLType(Eigen::Matrix< float, 4, 4 > inputType)
Helper function to converts the input pcl 4x4 matrix to a double matrix and to throw away precision a...
PCLRegistration(int numInputs=2, int numOutputs=1)
Initializes an ML module wrapping a pcl::Registration filter.
void handleNotification(Field *field) override
Handles field changes of the field field.
BoolField & getHasConvergedFld() const
DoubleField & getTransformationEpsilonFld() const
void activateAttachments() override
Updates internal state after changes of fields without field notifications.
DoubleField & getEuclideanFitnessEpsilonFld() const
void _setFilterParameters(PCL_FILTER ®Object) const
Sets the filter parameters known from this class.
Matrix4Field & getLastIncrementalTransformationFld() const
void _retrieveFilterResultParameters(PCL_FILTER ®Object)
Retrieves output parameters from filter known in this class.
IntField & getMaximumIterationsFld() const
Input fields: For documentation see corresponding field documentation.
DoubleField & getFitnessScoreFld() const
Matrix4Field & getFinalTransformationFld() const
Output fields: For documentation see corresponding field documentation.
DoubleField & getMaxCorrespondenceDistanceFld() const
#define ML_ABSTRACT_MODULE_CLASS_HEADER(className)
Like ML_ABSTRACT_CLASS_HEADER for the usage of derived classes from Module.
ML Module base class for algorithms from the Point Cloud Library (PCL).
Target mlrange_cast(Source arg)
Generic version of checked ML casts.