PCLCompare

MLModule
genre PCLSupport
author Wolf Spindler
package FMEstable/PCL
dll MLPCLSupport
definition MLPCLSupport.def
see also ImageCompare, DicomTreeCompare
inherits from PCLModule
keywords points, clouds, PCL, compare, test

Purpose

PCLCompare compares two point clouds of the PCL (Point Cloud Library) which are connected to its inputs. It is configurable which members of the point clouds shall be compared. The comparison generates a report which is optionally posted as ML error to the ML error manager. This especially can be useful to recognize failures in tests. Note that output indices are still not compared.

Windows

Default Panel

../../../Projects/MLPCLSupport/Modules/mhelp/Images/Screenshots/PCLCompare._default.png

Input Fields

inputPCLObject0

name: inputPCLObject0, type: MLBase

Input for the first of the two point clouds of the PCL (Point Cloud Library) to be compared.

inputPCLObject1

name: inputPCLObject1, type: MLBase

Input for the second of the two point clouds of the PCL (Point Cloud Library) to be compared.

Parameter Fields

Field Index

Floating Point Epsilon: Double points other members: Bool Update: Trigger
Header.frame_id: Bool Post ML Error on Differences: Bool Update Mode: Enum
Header.seq: Bool Report: String width: Bool
header.stamp: Bool sensor_orientation_: Bool  
height: Bool sensor_origin_: Bool  
is_dense: Bool Status: String  
numPoints: Bool Test Passed: Bool  
points data member: Bool types: Bool  

Visible Fields

Update Mode

name: updateMode, type: Enum, default: AutoClear

If AutoUpdate is used then PCLCompare always updates its comparison if any input or parameter changes. If AutoClear is used then Report is reset to an empty string on any input or parameter change, and a new comparison is only done if Update is pressed.

Update

name: update, type: Trigger

If pressed then the two input point clouds are compared. This button is only sensitive if Update Mode is AutoClear.

Status

name: status, type: String, persistent: no

Shows information about the state input connectors.

see also PCLModule.status

Report

name: report, type: String, persistent: no

Displays the comparison result for the two connected point clouds. If no valid comparison is available, for example if Update Mode is AutoClear and Update was not pressed, then the field is empty.

Post ML Error on Differences

name: postMLError, type: Bool, default: TRUE

If enabled then in each comparison which detects an inequality between the input point clouds, an ML error is posted to the ML error manager. This is especially useful if PCLCompare is used for testing. If disabled then only Report is updated after the comparison.

Floating Point Epsilon

name: epsilon, type: Double, default: 1.19209289550781e-07

This specifies the epsilon value used for floating point comparisons. The default comes from FLT_EPSILON, the smallest value between the float number 1 and another value which can be represented.

types

name: compareTypes, type: Bool, default: TRUE

If enabled then the point cloud types are compared, otherwise not.

numPoints

name: compareNumPoints, type: Bool, default: TRUE

If enabled then the number of points in the point clouds are compared, otherwise not.

width

name: compareWidths, type: Bool, default: TRUE

If enabled then the width members of the point clouds are compared, otherwise not.

height

name: compareHeight, type: Bool, default: TRUE

If enabled then the height members of the point clouds are compared, otherwise not.

Header.seq

name: compareHeaderSeq, type: Bool, default: TRUE

If enabled then the header.seq members of the point clouds are compared, otherwise not.

header.stamp

name: compareHeaderStamp, type: Bool, default: TRUE

If enabled then the header.stamp members of the point clouds are compared, otherwise not.

Header.frame_id

name: compareHeaderFrameId, type: Bool, default: TRUE

If enabled then the header.frame_id members of the point clouds are compared, otherwise not.

is_dense

name: compareIsDense, type: Bool, default: TRUE

If enabled then the is_dense members of the point clouds are compared, otherwise not.

sensor_origin_

name: compareSensorOrigin, type: Bool, default: TRUE

If enabled then the sensor_origin_ members of the point clouds are compared, otherwise not.

sensor_orientation_

name: compareSensorOrientation, type: Bool, default: TRUE

If enabled then the sensor_orientation_ members of the point clouds are compared, otherwise not.

points data member

name: comparePointsDataMember, type: Bool, default: TRUE

If enabled then the point.data members of the points member of the point clouds are compared, otherwise not.

points other members

name: comparePointsOtherMembers, type: Bool, default: TRUE

If enabled then all other members of the points member of the clouds are compared, otherwise not.

Test Passed

name: testPassed, type: Bool, persistent: no

Test Passed is enabled after a comparison without recognized differences. If any differences are found or no comparison was performed then it is disabled. Test Passed is especially useful in tests to check for a successful comparison.