Represents a 3D comparison context. More...


Public Member Functions | |
| E3DComparer () | |
| Constructs a 3D matching context. | |
| E3DComparer (eVision.Easy3D.E3DComparer other) | |
| Constructs a 3D matching context. | |
| void | Load (string path) |
| Loads the E3DComparer. The given ESerializer must have been created for reading. | |
| void | Load (eVision.ESerializer serializer) |
| Loads the E3DComparer. The given ESerializer must have been created for reading. | |
| void | Save (string path) |
| Saves the E3DComparer. The given ESerializer must have been created for writing. | |
| void | Save (eVision.ESerializer serializer) |
| Saves the E3DComparer. The given ESerializer must have been created for writing. | |
| void | Compare (eVision.Easy3D.EPointCloud scan) |
| Compares the reference patterns against a scan. | |
| void | GetComparisonPointCloud (eVision.Easy3D.EPointCloud cloudOut, bool storeDistances, bool storeColors, bool fullModel) |
| Gets the EPointCloud that is used for the comparison. | |
| void | GetComparisonPointCloud (eVision.Easy3D.EPointCloud cloudOut, bool storeDistances, bool storeColors) |
| Gets the EPointCloud that is used for the comparison. | |
| void | GetComparisonPointCloud (eVision.Easy3D.EPointCloud cloudOut, bool storeDistances) |
| Gets the EPointCloud that is used for the comparison. | |
| void | GetComparisonPointCloud (eVision.Easy3D.EPointCloud cloudOut) |
| Gets the EPointCloud that is used for the comparison. | |
| void | PrepareReference () |
| Prepare the reference internal structures. By default, this is done on the first call to E3DComparer.Compare. | |
| void | ResetAnomalyThresholds () |
| Sets the anomaly thresholds to their default values (computed automatically from the model size). | |
| void | SetAnomalyThresholds (float distanceThreshold, float areaThreshold) |
| Sets the thresholds related to the anomalies detection. | |
| void | GetAnomalyThresholds (out float distanceThreshold, out float areaThreshold) |
| Gets the thresholds related to the anomalies detection. | |
| void | SetAnomalyHysteresis (float distanceHysteresisThreshold, float areaHysteresisThreshold) |
| Sets the hysteresis related to the anomalies detection. | |
| void | GetAnomalyHysteresis (out float distanceHysteresisThreshold, out float areaHysteresisThreshold) |
| Gets the hysteresis related to the anomalies detection. | |
| eVision.Easy3D.E3DAnomaly[] | ComputesAnomalies () |
| Computes the anomalies and returns them as a vector of E3DAnomaly. | |
| void | SetEdgeCroppingParameters (uint numberNeighbors, float curvatureThreshold) |
| Sets the parameters driving the edge cropping. | |
| void | GetEdgeCroppingParameters (out uint numberNeighbors, out float curvatureThreshold) |
| Gets the parameters driving the edge cropping. | |
Properties | |
| eVision.Easy3D.EMesh | MeshReference [set] |
| Sets the 3D reference model. See also E3DComparer.PointCloudReference. | |
| eVision.Easy3D.EPointCloud | PointCloudReference [set] |
| Sets the 3D reference model. See also E3DComparer.MeshReference. | |
| eVision.Easy3D.E3DBox[] | ROI [get, set] |
| Sets/Gets a vector of E3DBox that defines the regions that should be compared. By default, the entire reference is considered. | |
| eVision.Easy3D.E3DBox[] | DontCare [get, set] |
| Sets/Gets a vector of E3DBox that defines the regions that should not be compared. By default, no point of the reference is ignored. | |
| eVision.Easy3D.E3DBox[] | NoExtraMaterial [get, set] |
| Sets/Gets a vector of E3DBox that defines the regions where there should not be points in the scan far from the reference. By default, the points far from the reference are not considered as anomalies (if there also are some other points closer to the reference). | |
| bool | EnableAutomaticDecimation [get, set] |
| If True, the given reference is automatically decimated with a resolution depending on the distance threshold to speed-up processing. If False, all the points of the given reference are used to compute the distance. | |
| float | AutomaticCropFactor [get, set] |
| Sets/Gets the automatic cropping factor. The factor multiplies the anomaly distance threshold (E3DComparer.SetAnomalyThresholds) to obtain the margin for the cropping. If the value is smaller than 0, then no crop is performed before computing the distance. | |
| eVision.Easy3D.EAnomalyThresholds | AnomalyThresholds [get, set] |
| Gets/Sets the thresholds related to the anomalies detection. | |
| eVision.Easy3D.EAnomalyThresholds | AnomalyHysteresis [get, set] |
| Gets/Sets the hysteresis related to the anomalies detection. | |
| eVision.Easy3D.EComparisonDistanceMode | ComparisonDistanceMode [get, set] |
| Sets/Gets the distance mode for the 3D comparison. All values of the enum are not allowed for E3DComparer. | |
| eVision.Easy3D.EEdgeCroppingParameters | EdgeCroppingParameters [get, set] |
| Gets/Sets the parameters driving the edge cropping. | |
| bool | EnableAutomaticEdgeCropping [get, set] |
| 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 E3DComparer.ComparisonDistanceMode and EComparisonDistanceMode). To modify the parameters of the cropping, see E3DComparer.SetEdgeCroppingParameters. | |
Represents a 3D comparison context.
License(s): Easy3DMatch
| eVision.Easy3D.E3DComparer.E3DComparer | ( | ) |
Constructs a 3D matching context.
| eVision.Easy3D.E3DComparer.E3DComparer | ( | eVision.Easy3D.E3DComparer | other | ) |
Constructs a 3D matching context.
| other | Another E3DComparer object to be copied in the new E3DComparer object. |
| void eVision.Easy3D.E3DComparer.Compare | ( | eVision.Easy3D.EPointCloud | scan | ) |
Compares the reference patterns against a scan.
| scan | An EPointCloud that represents the scan to compare to the reference. |
| eVision.Easy3D.E3DAnomaly[] eVision.Easy3D.E3DComparer.ComputesAnomalies | ( | ) |
Computes the anomalies and returns them as a vector of E3DAnomaly.
| void eVision.Easy3D.E3DComparer.GetAnomalyHysteresis | ( | out float | distanceHysteresisThreshold, |
| out float | areaHysteresisThreshold ) |
Gets the hysteresis related to the anomalies detection.
| distanceHysteresisThreshold | The distance hysteresis threshold. Must be greater than or equal to 1. Default: 1 |
| areaHysteresisThreshold | The area hysteresis threshold. Must be smaller than or equal to 1. Default: 1. |
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See E3DComparer.SetAnomalyThresholds. 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 E3DComparer.SetAnomalyThresholds.
Use E3DComparer.AnomalyHysteresis instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| void eVision.Easy3D.E3DComparer.GetAnomalyThresholds | ( | out float | distanceThreshold, |
| out float | areaThreshold ) |
Gets the thresholds related to the anomalies detection.
| distanceThreshold | The distance threshold. |
| areaThreshold | The area threshold. |
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 E3DComparer.AnomalyHysteresis to more advanced anomaly detection.
Trying to get the anomaly thresholds before they are set or automatically computed will throw an exception.
Use E3DComparer.AnomalyThresholds instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| void eVision.Easy3D.E3DComparer.GetComparisonPointCloud | ( | eVision.Easy3D.EPointCloud | cloudOut | ) |
Gets the EPointCloud that is used for the comparison.
| cloudOut | Where to store the EPointCloud. |
| void eVision.Easy3D.E3DComparer.GetComparisonPointCloud | ( | eVision.Easy3D.EPointCloud | cloudOut, |
| bool | storeDistances ) |
Gets the EPointCloud that is used for the comparison.
| cloudOut | Where to store the EPointCloud. |
| storeDistances | If set to True, the distances computed will be stored in the EPointCloud. The function EPointCloud.GetAttributeBuffer can be used with E3DAttribute.E3DAttribute_Distance to retrieve the distances. |
Default: True
| void eVision.Easy3D.E3DComparer.GetComparisonPointCloud | ( | eVision.Easy3D.EPointCloud | cloudOut, |
| bool | storeDistances, | ||
| bool | storeColors ) |
Gets the EPointCloud that is used for the comparison.
| cloudOut | Where to store the EPointCloud. |
| storeDistances | If set to True, the distances computed will be stored in the EPointCloud. The function EPointCloud.GetAttributeBuffer can be used with E3DAttribute.E3DAttribute_Distance to retrieve the distances. |
Default: True
| storeColors | If set to True, the colors related to the distances computed will be stored in the EPointCloud. The functions EPointCloud.GetAttributeBuffer can be used with E3DAttribute.E3DAttribute_Color to retrieve the distances. |
The colors can also be used in the E3DViewer.
Default: True
| void eVision.Easy3D.E3DComparer.GetComparisonPointCloud | ( | eVision.Easy3D.EPointCloud | cloudOut, |
| bool | storeDistances, | ||
| bool | storeColors, | ||
| bool | fullModel ) |
Gets the EPointCloud that is used for the comparison.
| cloudOut | Where to store the EPointCloud. |
| storeDistances | If set to True, the distances computed will be stored in the EPointCloud. The function EPointCloud.GetAttributeBuffer can be used with E3DAttribute.E3DAttribute_Distance to retrieve the distances. |
Default: True
| storeColors | If set to True, the colors related to the distances computed will be stored in the EPointCloud. The functions EPointCloud.GetAttributeBuffer can be used with E3DAttribute.E3DAttribute_Color to retrieve the distances. |
The colors can also be used in the E3DViewer.
Default: True
| fullModel | If set to True, the points that are not inside the ROI (see E3DComparer.ROI) will also be in the EPointCloud. |
Default: False
| void eVision.Easy3D.E3DComparer.GetEdgeCroppingParameters | ( | out uint | numberNeighbors, |
| out float | curvatureThreshold ) |
Gets the parameters driving the edge cropping.
| numberNeighbors | The number of neighbors that we will use to compute the local curvature. The bigger this parameter, the thicker the cropping will be. This number must be bigger than 10. Default: 100 |
| curvatureThreshold | The curvature value above which a point is cropped (must be between 0 and 1). Default: 0.15 |
Edge cropping is disabled by default, enable it using E3DComparer.EnableAutomaticEdgeCropping.
Use E3DComparer.EdgeCroppingParameters instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| void eVision.Easy3D.E3DComparer.Load | ( | eVision.ESerializer | serializer | ) |
Loads the E3DComparer. The given ESerializer must have been created for reading.
| serializer | The serializer. |
| void eVision.Easy3D.E3DComparer.Load | ( | string | path | ) |
Loads the E3DComparer. The given ESerializer must have been created for reading.
| path | The file path. |
| void eVision.Easy3D.E3DComparer.PrepareReference | ( | ) |
Prepare the reference internal structures. By default, this is done on the first call to E3DComparer.Compare.
| void eVision.Easy3D.E3DComparer.ResetAnomalyThresholds | ( | ) |
Sets the anomaly thresholds to their default values (computed automatically from the model size).
| void eVision.Easy3D.E3DComparer.Save | ( | eVision.ESerializer | serializer | ) |
Saves the E3DComparer. The given ESerializer must have been created for writing.
| serializer | The serializer. |
| void eVision.Easy3D.E3DComparer.Save | ( | string | path | ) |
Saves the E3DComparer. The given ESerializer must have been created for writing.
| path | The file path. |
| void eVision.Easy3D.E3DComparer.SetAnomalyHysteresis | ( | float | distanceHysteresisThreshold, |
| float | areaHysteresisThreshold ) |
Sets the hysteresis related to the anomalies detection.
| distanceHysteresisThreshold | The distance hysteresis threshold. Must be greater than or equal to 1. Default: 1 |
| areaHysteresisThreshold | The area hysteresis threshold. Must be smaller than or equal to 1. Default: 1. |
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See E3DComparer.SetAnomalyThresholds. 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 E3DComparer.AnomalyThresholds.
Use E3DComparer.AnomalyHysteresis instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| void eVision.Easy3D.E3DComparer.SetAnomalyThresholds | ( | float | distanceThreshold, |
| float | areaThreshold ) |
Sets the thresholds related to the anomalies detection.
| distanceThreshold | The distance threshold. Must be > 0. |
| areaThreshold | The area threshold. Must be > 0. |
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 E3DComparer.AnomalyHysteresis to more advanced anomaly detection.
If the anomaly thresholds aren't set, they will be computed automatically from the given reference once E3DComparer.PrepareReference is called.
Use E3DComparer.AnomalyThresholds instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| void eVision.Easy3D.E3DComparer.SetEdgeCroppingParameters | ( | uint | numberNeighbors, |
| float | curvatureThreshold ) |
Sets the parameters driving the edge cropping.
| numberNeighbors | The number of neighbors that we will use to compute the local curvature. The bigger this parameter, the thicker the cropping will be. This number must be bigger than 10. Default: 100 |
| curvatureThreshold | The curvature value above which a point is cropped (must be between 0 and 1). Default: 0.15 |
Edge cropping is disabled by default, enable it using E3DComparer.EnableAutomaticEdgeCropping.
Use E3DComparer.EdgeCroppingParameters instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
|
getset |
Gets/Sets the hysteresis related to the anomalies detection.
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See E3DComparer.SetAnomalyThresholds. 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 E3DComparer.AnomalyThresholds.
|
getset |
Gets/Sets the thresholds related to the anomalies detection.
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 E3DComparer.AnomalyHysteresis to more advanced anomaly detection.
If the anomaly thresholds aren't set, they will be computed automatically from the given reference once E3DComparer.PrepareReference is called. Trying to get the anomaly thresholds before they are set or automatically computed will throw an exception.
|
getset |
Sets/Gets the automatic cropping factor. The factor multiplies the anomaly distance threshold (E3DComparer.SetAnomalyThresholds) 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
Note that if the cropping margin is too small, the E3DPoint of the anomalies will not be visible (with the function E3DComparer.GetComparisonPointCloud and the parameter pointFromReference = False).
|
getset |
Sets/Gets the distance mode for the 3D comparison. All values of the enum are not allowed for E3DComparer.
Default: EComparisonDistanceMode.EComparisonDistanceMode_Euclidean.
|
getset |
Sets/Gets a vector of E3DBox that defines the regions that should not be compared. By default, no point of the reference is ignored.
|
getset |
Gets/Sets the parameters driving the edge cropping.
Edge cropping is disabled by default, enable it using E3DComparer.EnableAutomaticEdgeCropping.
|
getset |
If True, the given reference is automatically decimated with a resolution depending on the distance threshold to speed-up processing. If False, all the points of the given reference are used to compute the distance.
Default: True
|
getset |
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 E3DComparer.ComparisonDistanceMode and EComparisonDistanceMode). To modify the parameters of the cropping, see E3DComparer.SetEdgeCroppingParameters.
Default: False
|
set |
Sets the 3D reference model. See also E3DComparer.PointCloudReference.
|
getset |
Sets/Gets a vector of E3DBox that defines the regions where there should not be points in the scan far from the reference. By default, the points far from the reference are not considered as anomalies (if there also are some other points closer to the reference).
|
set |
Sets the 3D reference model. See also E3DComparer.MeshReference.
|
getset |
Sets/Gets a vector of E3DBox that defines the regions that should be compared. By default, the entire reference is considered.