eVision Python API
Loading...
Searching...
No Matches
eVision.Easy3D.E3DMatcher Class Reference

Aligns an eVision.Easy3D.EPointCloud or eVision.Easy3D.EZMap on and compares it with a reference eVision.Easy3D.EMesh, eVision.Easy3D.EPointCloud or eVision.Easy3D.EZMap. More...

Inheritance diagram for eVision.Easy3D.E3DMatcher:
Collaboration diagram for eVision.Easy3D.E3DMatcher:

Public Member Functions

None __init__ (self)
 Constructs a 3D matching context.
None __init__ (self, eVision.Easy3D.E3DMatcher other)
 Constructs a 3D matching context.
None Load (self, str path)
 Loads the eVision.Easy3D.E3DMatcher.
None Load (self, eVision.ESerializer|None serializer)
 Loads the eVision.Easy3D.E3DMatcher.
None Save (self, str path)
 Saves the eVision.Easy3D.E3DMatcher.
None Save (self, eVision.ESerializer|None serializer)
 Saves the eVision.Easy3D.E3DMatcher.
eVision.Easy3D.E3DMatch Match (self, eVision.Easy3D.EZMap zmap)
 Matches the reference patterns against an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud.
eVision.Easy3D.E3DMatch Match (self, eVision.Easy3D.EPointCloud cloud, eVision.Easy3D.E3DPlane projectionPlane)
 Matches the reference patterns against an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud.
eVision.Easy3D.E3DMatch Match (self, eVision.Easy3D.EPointCloud cloud, float azimuth, float elevation)
 Matches the reference patterns against an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud.
None SetComparisonROI (self, eVision.ERegion|None regionOfInterest)
 Sets/Gets the eVision.ERegion of the reference that should be compared.
eVision.ERegion GetComparisonROI (self, int offset)
 Sets/Gets the eVision.ERegion of the reference that should be compared.
None ClearComparisonROI (self)
 Clears the eVision.ERegion that should be compared for all of the references.
None SetComparisonNoExtraMaterial (self, eVision.ERegion|None noExtraMaterial)
 Sets/Gets the eVision.ERegion that should not have extra material in the scan.
eVision.ERegion GetComparisonNoExtraMaterial (self, int offset)
 Sets/Gets the eVision.ERegion that should not have extra material in the scan.
None ClearComparisonNoExtraMaterial (self)
 Clears the eVision.ERegion that should not have extra material in the scan.
None PrepareReference (self)
 Prepare the reference internal structures.
None GetComparisonPointCloud (self, eVision.Easy3D.EPointCloud comparisonCloud, bool storeDistances, bool storeColors, bool pointFromReference, bool fullModel)
 Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.
None GetComparisonPointCloud (self, eVision.Easy3D.EPointCloud comparisonCloud, bool storeDistances, bool storeColors, bool pointFromReference)
 Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.
None GetComparisonPointCloud (self, eVision.Easy3D.EPointCloud comparisonCloud, bool storeDistances, bool storeColors)
 Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.
None GetComparisonPointCloud (self, eVision.Easy3D.EPointCloud comparisonCloud, bool storeDistances)
 Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.
None GetComparisonPointCloud (self, eVision.Easy3D.EPointCloud comparisonCloud)
 Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.
None ResetAnomalyThresholds (self)
 Sets the anomaly thresholds to their default values (computed automatically from the model size).
list[eVision._eVision.ERegion|None] AllComparisonROI (self)
 Sets/Gets the eVision.ERegion that should be compared for all of the references.
 AllComparisonROI (self, list[eVision._eVision.ERegion|None] value)
 Sets/Gets the eVision.ERegion that should be compared for all of the references.
list[eVision._eVision.ERegion|None] AllComparisonNoExtraMaterial (self)
 Sets/Gets the eVision.ERegion that should not have extra material in the scan.
 AllComparisonNoExtraMaterial (self, list[eVision._eVision.ERegion|None] value)
 Sets/Gets the eVision.ERegion that should not have extra material in the scan.
eVision.Easy3D.EComparisonDistanceMode ComparisonDistanceMode (self)
 Sets/Gets the distance mode for the 3D comparison.
 ComparisonDistanceMode (self, eVision.Easy3D.EComparisonDistanceMode value)
 Sets/Gets the distance mode for the 3D comparison.
bool EnableMissingPointAsAnomaly (self)
 If True, the points that are not present in the scan (but are present in the reference), are considered as anomalies.
 EnableMissingPointAsAnomaly (self, bool value)
 If True, the points that are not present in the scan (but are present in the reference), are considered as anomalies.
bool EnableAutomaticDecimation (self)
 If True, the given cloud or ZMap is automatically decimated with a resolution depending on the distance threshold to speed-up processing.
 EnableAutomaticDecimation (self, bool value)
 If True, the given cloud or ZMap is automatically decimated with a resolution depending on the distance threshold to speed-up processing.
float AutomaticCropFactor (self)
 Sets/Gets the automatic cropping factor.
 AutomaticCropFactor (self, float value)
 Sets/Gets the automatic cropping factor.
eVision.Easy3D.EAnomalyThresholds AnomalyThresholds (self)
 Gets/Sets the thresholds related to the anomalies detection.
 AnomalyThresholds (self, eVision.Easy3D.EAnomalyThresholds value)
 Gets/Sets the thresholds related to the anomalies detection.
eVision.Easy3D.EAnomalyThresholds AnomalyHysteresis (self)
 Gets/Sets the hysteresis related to the anomalies detection.
 AnomalyHysteresis (self, eVision.Easy3D.EAnomalyThresholds value)
 Gets/Sets the hysteresis related to the anomalies detection.
eVision.Easy3D.EEdgeCroppingParameters EdgeCroppingParameters (self)
 Gets/Sets the parameters driving the edge cropping.
 EdgeCroppingParameters (self, eVision.Easy3D.EEdgeCroppingParameters value)
 Gets/Sets the parameters driving the edge cropping.
bool EnableAutomaticEdgeCropping (self)
 If True, edges in the reference will be cropped automatically.
 EnableAutomaticEdgeCropping (self, bool value)
 If True, edges in the reference will be cropped automatically.
Public Member Functions inherited from eVision.Easy3D.E3DAligner
None __init__ (self)
 Constructs a 3D Aligner.
None __init__ (self, eVision.Easy3D.E3DAligner other)
 Constructs a 3D Aligner.
None SetReference (self, eVision.Easy3D.EMesh mesh, eVision.Easy3D.E3DPlane plane)
 Sets the 3D reference model that is used to create reference patterns.
None SetReference (self, eVision.Easy3D.EMesh mesh, float azimuth, float elevation)
 Sets the 3D reference model that is used to create reference patterns.
None SetReference (self, eVision.Easy3D.EMesh mesh, list[eVision._eVision.Easy3D.E3DPlane] planes)
 Sets the 3D reference model that is used to create reference patterns.
None SetReference (self, eVision.Easy3D.EMesh mesh, list[float] azimuths, list[float] elevations)
 Sets the 3D reference model that is used to create reference patterns.
None SetReference (self, eVision.Easy3D.EZMap zmap)
 Sets the 3D reference model that is used to create reference patterns.
None SetReference (self, eVision.Easy3D.EPointCloud cloud, eVision.Easy3D.E3DPlane plane)
 Sets the 3D reference model that is used to create reference patterns.
None SetReference (self, eVision.Easy3D.EPointCloud cloud, float azimuth, float elevation)
 Sets the 3D reference model that is used to create reference patterns.
None SetFlatScan (self, eVision.Easy3D.EZMap scan)
 Uses a flat scan of the setup to compute the plane on which the object lays.
None SetFlatScan (self, eVision.Easy3D.EZMap scan, bool objectAbovePlane)
 Uses a flat scan of the setup to compute the plane on which the object lays.
None SetFlatScan (self, eVision.Easy3D.EPointCloud cloud)
 Uses a flat scan of the setup to compute the plane on which the object lays.
None SetFlatScan (self, eVision.Easy3D.EPointCloud cloud, bool objectAbovePlane)
 Uses a flat scan of the setup to compute the plane on which the object lays.
None ClearReprojectionPlane (self)
 Clears re-projection plane set with eVision.Easy3D.E3DAligner.ScanReprojectionPlane or eVision.Easy3D.E3DAligner.SetFlatScan.
bool IsReprojectionPlaneSet (self)
 Returns whether a re-projection plane was set with eVision.Easy3D.E3DAligner.ScanReprojectionPlane or eVision.Easy3D.E3DAligner.SetFlatScan or not.
None RetrieveReferencePosesProjections (self, list[eVision._eVision.Easy3D.EZMap8] referencePosesProjections)
 Retrieves the reference patterns of the eVision.Easy3D.E3DAligner in the form of a vector of eVision.Easy3D.EZMap8.
None RetrieveReferencePoses (self, list[eVision._eVision.Easy3D.E3DPlane] referencePoses)
 Retrieves the reference poses of the eVision.Easy3D.E3DAligner in the form of a vector of eVision.Easy3D.E3DPlane.
eVision.Easy3D.E3DAlignment Align (self, eVision.Easy3D.EZMap zmap)
 Aligns an eVision.Easy3D.EZMap or eVision.Easy3D.EPointCloud on the reference model.
eVision.Easy3D.E3DAlignment Align (self, eVision.Easy3D.EPointCloud cloud, eVision.Easy3D.E3DPlane projectionPlane)
 Aligns an eVision.Easy3D.EZMap or eVision.Easy3D.EPointCloud on the reference model.
eVision.Easy3D.E3DAlignment Align (self, eVision.Easy3D.EPointCloud cloud, float azimuth, float elevation)
 Aligns an eVision.Easy3D.EZMap or eVision.Easy3D.EPointCloud on the reference model.
eVision.Easy3D.E3DPlane ScanReprojectionPlane (self)
 Sets/Gets the plane on which the model lays.
 ScanReprojectionPlane (self, eVision.Easy3D.E3DPlane value)
 Sets/Gets the plane on which the model lays.

Additional Inherited Members

Static Public Member Functions inherited from eVision.Easy3D.E3DAligner
None compute3DPositionFrom2DAligning (eVision.Easy3D.EZMap8 refZMap, eVision.Easy3D.EZMap8 scanZmap, eVision.Easy3D.E3DTransformMatrix modelToScanTransform, float angle, eVision.EPoint modelCenter, eVision.EPoint scanCenter)
 computes transformation between the point clouds from the alignment on the ZMaps

Detailed Description

Aligns an eVision.Easy3D.EPointCloud or eVision.Easy3D.EZMap on and compares it with a reference eVision.Easy3D.EMesh, eVision.Easy3D.EPointCloud or eVision.Easy3D.EZMap.

Remarks:

License(s): Easy3DMatch

Constructor & Destructor Documentation

◆ __init__() [1/2]

None eVision.Easy3D.E3DMatcher.__init__ ( self)

Constructs a 3D matching context.

◆ __init__() [2/2]

None eVision.Easy3D.E3DMatcher.__init__ ( self,
eVision.Easy3D.E3DMatcher other )

Constructs a 3D matching context.

Parameters
otherAnother eVision.Easy3D.E3DMatcher object to be copied in the new eVision.Easy3D.E3DMatcher object.

Member Function Documentation

◆ AllComparisonNoExtraMaterial() [1/2]

list[eVision._eVision.ERegion | None] eVision.Easy3D.E3DMatcher.AllComparisonNoExtraMaterial ( self)

Sets/Gets the eVision.ERegion that should not have extra material in the scan.

A pointer to eVision.ERegion per reference pose is needed and they should be given in the corresponding order and should be of the same size than their corresponding reference poses projection. See eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections. By default, the points in the scan far from the reference are not considered as anomalies (except if there are missing points in the scan nearby).

◆ AllComparisonNoExtraMaterial() [2/2]

eVision.Easy3D.E3DMatcher.AllComparisonNoExtraMaterial ( self,
list[eVision._eVision.ERegion | None] value )

Sets/Gets the eVision.ERegion that should not have extra material in the scan.

A pointer to eVision.ERegion per reference pose is needed and they should be given in the corresponding order and should be of the same size than their corresponding reference poses projection. See eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections. By default, the points in the scan far from the reference are not considered as anomalies (except if there are missing points in the scan nearby).

◆ AllComparisonROI() [1/2]

list[eVision._eVision.ERegion | None] eVision.Easy3D.E3DMatcher.AllComparisonROI ( self)

Sets/Gets the eVision.ERegion that should be compared for all of the references.

A pointer to eVision.ERegion per reference pose is needed and they should be given in the corresponding order and should be of the same size than their corresponding reference poses projections. See eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections. By default, all the points of the reference are used for the comparison.

◆ AllComparisonROI() [2/2]

eVision.Easy3D.E3DMatcher.AllComparisonROI ( self,
list[eVision._eVision.ERegion | None] value )

Sets/Gets the eVision.ERegion that should be compared for all of the references.

A pointer to eVision.ERegion per reference pose is needed and they should be given in the corresponding order and should be of the same size than their corresponding reference poses projections. See eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections. By default, all the points of the reference are used for the comparison.

◆ AnomalyHysteresis() [1/2]

eVision.Easy3D.EAnomalyThresholds eVision.Easy3D.E3DMatcher.AnomalyHysteresis ( self)

Gets/Sets the hysteresis related to the anomalies detection.

Remarks:

To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See eVision.Easy3D.E3DMatcher.AnomalyThresholds. In addition, an hysteresis can be specified, such that the cluster will also have to contain a subset of points whose distance is greater than distanceHysteresisThreshold * distanceThreshold and area greater than areaHysteresisThreshold * areaThreshold. See also eVision.Easy3D.E3DMatcher.AnomalyThresholds.

◆ AnomalyHysteresis() [2/2]

eVision.Easy3D.E3DMatcher.AnomalyHysteresis ( self,
eVision.Easy3D.EAnomalyThresholds value )

Gets/Sets the hysteresis related to the anomalies detection.

Remarks:

To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See eVision.Easy3D.E3DMatcher.AnomalyThresholds. In addition, an hysteresis can be specified, such that the cluster will also have to contain a subset of points whose distance is greater than distanceHysteresisThreshold * distanceThreshold and area greater than areaHysteresisThreshold * areaThreshold. See also eVision.Easy3D.E3DMatcher.AnomalyThresholds.

◆ AnomalyThresholds() [1/2]

eVision.Easy3D.EAnomalyThresholds eVision.Easy3D.E3DMatcher.AnomalyThresholds ( self)

Gets/Sets the thresholds related to the anomalies detection.

Remarks:

To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See also eVision.Easy3D.E3DMatcher.AnomalyHysteresis to more advanced anomaly detection.

If the anomaly thresholds aren't set, they will be computed automatically from the given reference once eVision.Easy3D.E3DMatcher.PrepareReference is called. Trying to get the anomaly thresholds before they are set or automatically computed will throw an exception.

◆ AnomalyThresholds() [2/2]

eVision.Easy3D.E3DMatcher.AnomalyThresholds ( self,
eVision.Easy3D.EAnomalyThresholds value )

Gets/Sets the thresholds related to the anomalies detection.

Remarks:

To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See also eVision.Easy3D.E3DMatcher.AnomalyHysteresis to more advanced anomaly detection.

If the anomaly thresholds aren't set, they will be computed automatically from the given reference once eVision.Easy3D.E3DMatcher.PrepareReference is called. Trying to get the anomaly thresholds before they are set or automatically computed will throw an exception.

◆ AutomaticCropFactor() [1/2]

float eVision.Easy3D.E3DMatcher.AutomaticCropFactor ( self)

Sets/Gets the automatic cropping factor.

The factor multiplies the anomaly distance threshold (eVision.Easy3D.E3DMatcher.AnomalyThresholds) to obtain the margin for the cropping. If the value is smaller than 0, then no crop is performed before computing the distance.

Default: 1

Remarks:

Note that if the cropping margin is too small, the eVision.Easy3D.E3DPoint of the anomalies will not be visible (with the function eVision.Easy3D.E3DMatcher.GetComparisonPointCloud and the parameter pointFromReference = False). Moreover, if the eVision.Easy3D.E3DMatcher.EnableMissingPointAsAnomaly is set to False, the anomalies will not be detected.

◆ AutomaticCropFactor() [2/2]

eVision.Easy3D.E3DMatcher.AutomaticCropFactor ( self,
float value )

Sets/Gets the automatic cropping factor.

The factor multiplies the anomaly distance threshold (eVision.Easy3D.E3DMatcher.AnomalyThresholds) to obtain the margin for the cropping. If the value is smaller than 0, then no crop is performed before computing the distance.

Default: 1

Remarks:

Note that if the cropping margin is too small, the eVision.Easy3D.E3DPoint of the anomalies will not be visible (with the function eVision.Easy3D.E3DMatcher.GetComparisonPointCloud and the parameter pointFromReference = False). Moreover, if the eVision.Easy3D.E3DMatcher.EnableMissingPointAsAnomaly is set to False, the anomalies will not be detected.

◆ ClearComparisonNoExtraMaterial()

None eVision.Easy3D.E3DMatcher.ClearComparisonNoExtraMaterial ( self)

◆ ClearComparisonROI()

None eVision.Easy3D.E3DMatcher.ClearComparisonROI ( self)

Clears the eVision.ERegion that should be compared for all of the references.

See also eVision.Easy3D.E3DMatcher.AllComparisonROI and eVision.Easy3D.E3DMatcher.SetComparisonROI.

◆ ComparisonDistanceMode() [1/2]

eVision.Easy3D.EComparisonDistanceMode eVision.Easy3D.E3DMatcher.ComparisonDistanceMode ( self)

Sets/Gets the distance mode for the 3D comparison.

Default: eVision.Easy3D.EComparisonDistanceMode.Euclidean.

◆ ComparisonDistanceMode() [2/2]

eVision.Easy3D.E3DMatcher.ComparisonDistanceMode ( self,
eVision.Easy3D.EComparisonDistanceMode value )

Sets/Gets the distance mode for the 3D comparison.

Default: eVision.Easy3D.EComparisonDistanceMode.Euclidean.

◆ EdgeCroppingParameters() [1/2]

eVision.Easy3D.EEdgeCroppingParameters eVision.Easy3D.E3DMatcher.EdgeCroppingParameters ( self)

Gets/Sets the parameters driving the edge cropping.

Remarks:

Edge cropping is disabled by default, enable it using eVision.Easy3D.E3DMatcher.EnableAutomaticEdgeCropping.

◆ EdgeCroppingParameters() [2/2]

eVision.Easy3D.E3DMatcher.EdgeCroppingParameters ( self,
eVision.Easy3D.EEdgeCroppingParameters value )

Gets/Sets the parameters driving the edge cropping.

Remarks:

Edge cropping is disabled by default, enable it using eVision.Easy3D.E3DMatcher.EnableAutomaticEdgeCropping.

◆ EnableAutomaticDecimation() [1/2]

bool eVision.Easy3D.E3DMatcher.EnableAutomaticDecimation ( self)

If True, the given cloud or ZMap is automatically decimated with a resolution depending on the distance threshold to speed-up processing.

If False, all the points of the given cloud or ZMap are used to compute the distance.

Default: True

◆ EnableAutomaticDecimation() [2/2]

eVision.Easy3D.E3DMatcher.EnableAutomaticDecimation ( self,
bool value )

If True, the given cloud or ZMap is automatically decimated with a resolution depending on the distance threshold to speed-up processing.

If False, all the points of the given cloud or ZMap are used to compute the distance.

Default: True

◆ EnableAutomaticEdgeCropping() [1/2]

bool eVision.Easy3D.E3DMatcher.EnableAutomaticEdgeCropping ( self)

If True, edges in the reference will be cropped automatically.

This is useful to avoid false positives that could occur near the edges of the object, in particular when using normals (see eVision.Easy3D.E3DMatcher.ComparisonDistanceMode and eVision.Easy3D.EComparisonDistanceMode). To modify the parameters of the cropping, see eVision.Easy3D.E3DMatcher.EdgeCroppingParameters.

Default: False

◆ EnableAutomaticEdgeCropping() [2/2]

eVision.Easy3D.E3DMatcher.EnableAutomaticEdgeCropping ( self,
bool value )

If True, edges in the reference will be cropped automatically.

This is useful to avoid false positives that could occur near the edges of the object, in particular when using normals (see eVision.Easy3D.E3DMatcher.ComparisonDistanceMode and eVision.Easy3D.EComparisonDistanceMode). To modify the parameters of the cropping, see eVision.Easy3D.E3DMatcher.EdgeCroppingParameters.

Default: False

◆ EnableMissingPointAsAnomaly() [1/2]

bool eVision.Easy3D.E3DMatcher.EnableMissingPointAsAnomaly ( self)

If True, the points that are not present in the scan (but are present in the reference), are considered as anomalies.

If False, only points that are present in the scan can be considered as anomalies.

Default: True

Remarks:

Setting the value to False can be interesting when for example there are different shadow effects on the reference and on the scan or if there are illumination issues in the scan.

◆ EnableMissingPointAsAnomaly() [2/2]

eVision.Easy3D.E3DMatcher.EnableMissingPointAsAnomaly ( self,
bool value )

If True, the points that are not present in the scan (but are present in the reference), are considered as anomalies.

If False, only points that are present in the scan can be considered as anomalies.

Default: True

Remarks:

Setting the value to False can be interesting when for example there are different shadow effects on the reference and on the scan or if there are illumination issues in the scan.

◆ GetComparisonNoExtraMaterial()

eVision.ERegion eVision.Easy3D.E3DMatcher.GetComparisonNoExtraMaterial ( self,
int offset )

Sets/Gets the eVision.ERegion that should not have extra material in the scan.

See eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections. By default, all the points of the reference are used for the comparison.

Remarks:

This method is a shortcut of eVision.Easy3D.E3DMatcher.AllComparisonNoExtraMaterial when you only want to set/get one reference pose.

Parameters
offsetoffset of the ERegion to get back.

◆ GetComparisonPointCloud() [1/5]

None eVision.Easy3D.E3DMatcher.GetComparisonPointCloud ( self,
eVision.Easy3D.EPointCloud comparisonCloud )

Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.

Parameters
comparisonCloudThe eVision.Easy3D.EPointCloud in which to copy the data.

◆ GetComparisonPointCloud() [2/5]

None eVision.Easy3D.E3DMatcher.GetComparisonPointCloud ( self,
eVision.Easy3D.EPointCloud comparisonCloud,
bool storeDistances )

Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.

Parameters
comparisonCloudThe eVision.Easy3D.EPointCloud in which to copy the data.
storeDistancesIf set to True, the distances computed will be stored in the eVision.Easy3D.EPointCloud.

Default: True

◆ GetComparisonPointCloud() [3/5]

None eVision.Easy3D.E3DMatcher.GetComparisonPointCloud ( self,
eVision.Easy3D.EPointCloud comparisonCloud,
bool storeDistances,
bool storeColors )

Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.

Parameters
comparisonCloudThe eVision.Easy3D.EPointCloud in which to copy the data.
storeDistancesIf set to True, the distances computed will be stored in the eVision.Easy3D.EPointCloud.

Default: True

Parameters
storeColorsIf set to True, the colors related to the distances computed will be stored in the eVision.Easy3D.EPointCloud.

Default: True

◆ GetComparisonPointCloud() [4/5]

None eVision.Easy3D.E3DMatcher.GetComparisonPointCloud ( self,
eVision.Easy3D.EPointCloud comparisonCloud,
bool storeDistances,
bool storeColors,
bool pointFromReference )

Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.

Parameters
comparisonCloudThe eVision.Easy3D.EPointCloud in which to copy the data.
storeDistancesIf set to True, the distances computed will be stored in the eVision.Easy3D.EPointCloud.

Default: True

Parameters
storeColorsIf set to True, the colors related to the distances computed will be stored in the eVision.Easy3D.EPointCloud.

Default: True

Parameters
pointFromReferenceIf set to True, the points from the reference will be stored in comparisonCloud. Otherwise, it will be the points from the scan. If eVision.Easy3D.E3DMatcher.ComparisonDistanceMode is set to eVision.Easy3D.EComparisonDistanceMode.Normals_Advanced, result always contains points from the scan.

Default: False

◆ GetComparisonPointCloud() [5/5]

None eVision.Easy3D.E3DMatcher.GetComparisonPointCloud ( self,
eVision.Easy3D.EPointCloud comparisonCloud,
bool storeDistances,
bool storeColors,
bool pointFromReference,
bool fullModel )

Gets the eVision.Easy3D.EPointCloud on which anomalies are detected.

Parameters
comparisonCloudThe eVision.Easy3D.EPointCloud in which to copy the data.
storeDistancesIf set to True, the distances computed will be stored in the eVision.Easy3D.EPointCloud.

Default: True

Parameters
storeColorsIf set to True, the colors related to the distances computed will be stored in the eVision.Easy3D.EPointCloud.

Default: True

Parameters
pointFromReferenceIf set to True, the points from the reference will be stored in comparisonCloud. Otherwise, it will be the points from the scan. If eVision.Easy3D.E3DMatcher.ComparisonDistanceMode is set to eVision.Easy3D.EComparisonDistanceMode.Normals_Advanced, result always contains points from the scan.

Default: False

Parameters
fullModelIf set to True, the points that are not inside the ROI will also be in the eVision.Easy3D.EPointCloud. Default: False

◆ GetComparisonROI()

eVision.ERegion eVision.Easy3D.E3DMatcher.GetComparisonROI ( self,
int offset )

Sets/Gets the eVision.ERegion of the reference that should be compared.

See eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections. By default, all the points of the reference are used for the comparison.

Remarks:

This method is a shortcut of eVision.Easy3D.E3DMatcher.AllComparisonROI when you only want to set/get one reference pose.

Parameters
offsetoffset of the ERegion to get back.

◆ Load() [1/2]

None eVision.Easy3D.E3DMatcher.Load ( self,
eVision.ESerializer | None serializer )

Loads the eVision.Easy3D.E3DMatcher.

The given eVision.ESerializer must have been created for reading.

Parameters
serializerThe serializer.

Reimplemented from eVision.Easy3D.E3DAligner.

◆ Load() [2/2]

None eVision.Easy3D.E3DMatcher.Load ( self,
str path )

Loads the eVision.Easy3D.E3DMatcher.

The given eVision.ESerializer must have been created for reading.

Parameters
pathThe file path.

Reimplemented from eVision.Easy3D.E3DAligner.

◆ Match() [1/3]

eVision.Easy3D.E3DMatch eVision.Easy3D.E3DMatcher.Match ( self,
eVision.Easy3D.EPointCloud cloud,
eVision.Easy3D.E3DPlane projectionPlane )

Matches the reference patterns against an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud.

Remarks:

When specifying azimuth and elevation, only the normal of the projection plane is specified. The distance from origin of the eVision.Easy3D.E3DPlane will be computed from the points cloud, so that all points of the cloud are visible. This might not be wanted if there are points in the cloud that are useless for the process (e.g. if we see other objects far below the model). This is also a bit slower as the plane's distance is recomputed on each scan.

Parameters
cloudThe eVision.Easy3D.EPointCloud that will be aligned and compared with the reference.
projectionPlaneThe plane on which the cloud is orthographically projected for alignment.

◆ Match() [2/3]

eVision.Easy3D.E3DMatch eVision.Easy3D.E3DMatcher.Match ( self,
eVision.Easy3D.EPointCloud cloud,
float azimuth,
float elevation )

Matches the reference patterns against an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud.

Remarks:

When specifying azimuth and elevation, only the normal of the projection plane is specified. The distance from origin of the eVision.Easy3D.E3DPlane will be computed from the points cloud, so that all points of the cloud are visible. This might not be wanted if there are points in the cloud that are useless for the process (e.g. if we see other objects far below the model). This is also a bit slower as the plane's distance is recomputed on each scan.

Parameters
cloudThe eVision.Easy3D.EPointCloud that will be aligned and compared with the reference.
azimuthThe azimuth angle of the normal of the projection plane in eVision.Easy.SetAngleUnit. Azimuth angles are oriented trigonometrically around the z axis. The x axis corresponds to an azimuth of 0 degrees.
elevationThe elevation angle of the normal of the projection plane in eVision.Easy.SetAngleUnit. Elevation angles represent how close the normal is to the z = 0 plane.

◆ Match() [3/3]

eVision.Easy3D.E3DMatch eVision.Easy3D.E3DMatcher.Match ( self,
eVision.Easy3D.EZMap zmap )

Matches the reference patterns against an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud.

Remarks:

When specifying azimuth and elevation, only the normal of the projection plane is specified. The distance from origin of the eVision.Easy3D.E3DPlane will be computed from the points cloud, so that all points of the cloud are visible. This might not be wanted if there are points in the cloud that are useless for the process (e.g. if we see other objects far below the model). This is also a bit slower as the plane's distance is recomputed on each scan.

Parameters
zmapThe eVision.Easy3D.EZMap that will be aligned and compared with the reference.

◆ PrepareReference()

None eVision.Easy3D.E3DMatcher.PrepareReference ( self)

Prepare the reference internal structures.

By default, this is done on the first call to eVision.Easy3D.E3DMatcher.Match.

◆ ResetAnomalyThresholds()

None eVision.Easy3D.E3DMatcher.ResetAnomalyThresholds ( self)

Sets the anomaly thresholds to their default values (computed automatically from the model size).

◆ Save() [1/2]

None eVision.Easy3D.E3DMatcher.Save ( self,
eVision.ESerializer | None serializer )

Saves the eVision.Easy3D.E3DMatcher.

The given eVision.ESerializer must have been created for writing.

Parameters
serializerThe serializer.

Reimplemented from eVision.Easy3D.E3DAligner.

◆ Save() [2/2]

None eVision.Easy3D.E3DMatcher.Save ( self,
str path )

Saves the eVision.Easy3D.E3DMatcher.

The given eVision.ESerializer must have been created for writing.

Parameters
pathThe file path.

Reimplemented from eVision.Easy3D.E3DAligner.

◆ SetComparisonNoExtraMaterial()

None eVision.Easy3D.E3DMatcher.SetComparisonNoExtraMaterial ( self,
eVision.ERegion | None noExtraMaterial )

Sets/Gets the eVision.ERegion that should not have extra material in the scan.

See eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections. By default, all the points of the reference are used for the comparison.

Remarks:

This method is a shortcut of eVision.Easy3D.E3DMatcher.AllComparisonNoExtraMaterial when you only want to set/get one reference pose.

Parameters
noExtraMaterialA pointer to eVision.ERegion defining the area on which we will check no data is missing in the scan. This param is a shortcut to avoid building a vector of size 1.

◆ SetComparisonROI()

None eVision.Easy3D.E3DMatcher.SetComparisonROI ( self,
eVision.ERegion | None regionOfInterest )

Sets/Gets the eVision.ERegion of the reference that should be compared.

See eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections. By default, all the points of the reference are used for the comparison.

Remarks:

This method is a shortcut of eVision.Easy3D.E3DMatcher.AllComparisonROI when you only want to set/get one reference pose.

Parameters
regionOfInterestA pointer to eVision.ERegion defining the area that will be used for comparison with the reference pose. This param is a shortcut to avoid building a vector of size 1.