Aligns an eVision.Easy3D.EPointCloud or eVision.Easy3D.EZMap on a reference eVision.Easy3D.EMesh, eVision.Easy3D.EPointCloud or eVision.Easy3D.EZMap. More...

Public Member Functions | |
| None | __init__ (self) |
| Constructs a 3D Aligner. | |
| None | __init__ (self, eVision.Easy3D.E3DAligner other) |
| Constructs a 3D Aligner. | |
| None | Load (self, str path) |
| Loads the eVision.Easy3D.E3DAligner. | |
| None | Load (self, eVision.ESerializer|None serializer) |
| Loads the eVision.Easy3D.E3DAligner. | |
| None | Save (self, str path) |
| Saves the eVision.Easy3D.E3DAligner. | |
| None | Save (self, eVision.ESerializer|None serializer) |
| Saves the eVision.Easy3D.E3DAligner. | |
| 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. | |
Static Public Member Functions | |
| 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 | |
Aligns an eVision.Easy3D.EPointCloud or eVision.Easy3D.EZMap on a reference eVision.Easy3D.EMesh, eVision.Easy3D.EPointCloud or eVision.Easy3D.EZMap.
Remarks:
License(s): Easy3DMatch
| None eVision.Easy3D.E3DAligner.__init__ | ( | self | ) |
Constructs a 3D Aligner.
| None eVision.Easy3D.E3DAligner.__init__ | ( | self, | |
| eVision.Easy3D.E3DAligner | other ) |
Constructs a 3D Aligner.
| other | Another eVision.Easy3D.E3DAligner object to be copied in the new eVision.Easy3D.E3DAligner object. |
| eVision.Easy3D.E3DAlignment eVision.Easy3D.E3DAligner.Align | ( | self, | |
| eVision.Easy3D.EPointCloud | cloud, | ||
| eVision.Easy3D.E3DPlane | projectionPlane ) |
Aligns an eVision.Easy3D.EZMap or eVision.Easy3D.EPointCloud on the reference model.
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.

| cloud | The eVision.Easy3D.EPointCloud to align on the reference |
| projectionPlane | The eVision.Easy3D.E3DPlane on which the cloud is orthographically projected. |
| eVision.Easy3D.E3DAlignment eVision.Easy3D.E3DAligner.Align | ( | self, | |
| eVision.Easy3D.EPointCloud | cloud, | ||
| float | azimuth, | ||
| float | elevation ) |
Aligns an eVision.Easy3D.EZMap or eVision.Easy3D.EPointCloud on the reference model.
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.

| cloud | The eVision.Easy3D.EPointCloud to align on the reference |
| azimuth | The 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. |
| elevation | The 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. |
| eVision.Easy3D.E3DAlignment eVision.Easy3D.E3DAligner.Align | ( | self, | |
| eVision.Easy3D.EZMap | zmap ) |
Aligns an eVision.Easy3D.EZMap or eVision.Easy3D.EPointCloud on the reference model.
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.

| zmap | The eVision.Easy3D.EZMap to align |
| None eVision.Easy3D.E3DAligner.ClearReprojectionPlane | ( | self | ) |
Clears re-projection plane set with eVision.Easy3D.E3DAligner.ScanReprojectionPlane or eVision.Easy3D.E3DAligner.SetFlatScan.
|
static |
computes transformation between the point clouds from the alignment on the ZMaps
| bool eVision.Easy3D.E3DAligner.IsReprojectionPlaneSet | ( | self | ) |
Returns whether a re-projection plane was set with eVision.Easy3D.E3DAligner.ScanReprojectionPlane or eVision.Easy3D.E3DAligner.SetFlatScan or not.
| None eVision.Easy3D.E3DAligner.Load | ( | self, | |
| eVision.ESerializer | None | serializer ) |
Loads the eVision.Easy3D.E3DAligner.
The given eVision.ESerializer must have been created for reading.
| serializer | The serializer. |
Reimplemented in eVision.Easy3D.E3DMatcher, and eVision.Easy3D.E3DMatcher.
| None eVision.Easy3D.E3DAligner.Load | ( | self, | |
| str | path ) |
Loads the eVision.Easy3D.E3DAligner.
The given eVision.ESerializer must have been created for reading.
| path | The file path. |
Reimplemented in eVision.Easy3D.E3DMatcher, and eVision.Easy3D.E3DMatcher.
| None eVision.Easy3D.E3DAligner.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.
The corresponding reference patterns vector can be retrieved with eVision.Easy3D.E3DAligner.RetrieveReferencePosesProjections.
| referencePoses | The vector that will be filled with copies of the reference poses |
| None eVision.Easy3D.E3DAligner.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.
The corresponding reference poses vector can be retrieved with eVision.Easy3D.E3DAligner.RetrieveReferencePoses.
| referencePosesProjections | The vector that will be filled with copies of the reference poses projections |
| None eVision.Easy3D.E3DAligner.Save | ( | self, | |
| eVision.ESerializer | None | serializer ) |
Saves the eVision.Easy3D.E3DAligner.
The given eVision.ESerializer must have been created for writing.
| serializer | The serializer. |
Reimplemented in eVision.Easy3D.E3DMatcher, and eVision.Easy3D.E3DMatcher.
| None eVision.Easy3D.E3DAligner.Save | ( | self, | |
| str | path ) |
Saves the eVision.Easy3D.E3DAligner.
The given eVision.ESerializer must have been created for writing.
| path | The file path. |
Reimplemented in eVision.Easy3D.E3DMatcher, and eVision.Easy3D.E3DMatcher.
| eVision.Easy3D.E3DPlane eVision.Easy3D.E3DAligner.ScanReprojectionPlane | ( | self | ) |
Sets/Gets the plane on which the model lays.
This is used to re-project the scans before trying to find the position of the object within them. The eVision.Easy3D.E3DPlane should lay slightly below/above (depending on the orientation of the normal) the real plane, so that all points of the real plane are reprojected in the new ZMap.
Remarks:
When the sensor is not directly on top of the object, setting the re-projection plane will improve results, you can also give a flat scan on which the normal of the plane is identified automatically, see eVision.Easy3D.E3DAligner.SetFlatScan. When the reference is a eVision.Easy3D.EMesh, the corresponding reference plane should match the re-projection plane.
| eVision.Easy3D.E3DAligner.ScanReprojectionPlane | ( | self, | |
| eVision.Easy3D.E3DPlane | value ) |
Sets/Gets the plane on which the model lays.
This is used to re-project the scans before trying to find the position of the object within them. The eVision.Easy3D.E3DPlane should lay slightly below/above (depending on the orientation of the normal) the real plane, so that all points of the real plane are reprojected in the new ZMap.
Remarks:
When the sensor is not directly on top of the object, setting the re-projection plane will improve results, you can also give a flat scan on which the normal of the plane is identified automatically, see eVision.Easy3D.E3DAligner.SetFlatScan. When the reference is a eVision.Easy3D.EMesh, the corresponding reference plane should match the re-projection plane.
| None eVision.Easy3D.E3DAligner.SetFlatScan | ( | self, | |
| eVision.Easy3D.EPointCloud | cloud ) |
Uses a flat scan of the setup to compute the plane on which the object lays.
This helps computing alignment when the sensor does not lay on top of the objects.
Remarks:
When the sensor is not directly on top of the object, setting the plane improves the results, you can also give the plane coordinates directly, see eVision.Easy3D.E3DAligner.ScanReprojectionPlane. When the reference is a eVision.Easy3D.EMesh, the corresponding reference plane should match the re-projection plane.
| cloud | The eVision.Easy3D.EPointCloud representing a scan of the setup when no object lays on it. |
| None eVision.Easy3D.E3DAligner.SetFlatScan | ( | self, | |
| eVision.Easy3D.EPointCloud | cloud, | ||
| bool | objectAbovePlane ) |
Uses a flat scan of the setup to compute the plane on which the object lays.
This helps computing alignment when the sensor does not lay on top of the objects.
Remarks:
When the sensor is not directly on top of the object, setting the plane improves the results, you can also give the plane coordinates directly, see eVision.Easy3D.E3DAligner.ScanReprojectionPlane. When the reference is a eVision.Easy3D.EMesh, the corresponding reference plane should match the re-projection plane.
| cloud | The eVision.Easy3D.EPointCloud representing a scan of the setup when no object lays on it. |
| objectAbovePlane | Whether the object to align lays above or below the plane of the scan. To project the object, we must not only know the plane but also if we must project the points above or below it. The object is said to lay above the plane, if, for a given (x, y), z(object) > z(plane). |
Default: true
| None eVision.Easy3D.E3DAligner.SetFlatScan | ( | self, | |
| eVision.Easy3D.EZMap | scan ) |
Uses a flat scan of the setup to compute the plane on which the object lays.
This helps computing alignment when the sensor does not lay on top of the objects.
Remarks:
When the sensor is not directly on top of the object, setting the plane improves the results, you can also give the plane coordinates directly, see eVision.Easy3D.E3DAligner.ScanReprojectionPlane. When the reference is a eVision.Easy3D.EMesh, the corresponding reference plane should match the re-projection plane.
| scan | The eVision.Easy3D.EZMap representing a scan of the setup when no object lays on it. |
| None eVision.Easy3D.E3DAligner.SetFlatScan | ( | self, | |
| eVision.Easy3D.EZMap | scan, | ||
| bool | objectAbovePlane ) |
Uses a flat scan of the setup to compute the plane on which the object lays.
This helps computing alignment when the sensor does not lay on top of the objects.
Remarks:
When the sensor is not directly on top of the object, setting the plane improves the results, you can also give the plane coordinates directly, see eVision.Easy3D.E3DAligner.ScanReprojectionPlane. When the reference is a eVision.Easy3D.EMesh, the corresponding reference plane should match the re-projection plane.
| scan | The eVision.Easy3D.EZMap representing a scan of the setup when no object lays on it. |
| objectAbovePlane | Whether the object to align lays above or below the plane of the scan. To project the object, we must not only know the plane but also if we must project the points above or below it. The object is said to lay above the plane, if, for a given (x, y), z(object) > z(plane). |
Default: true
| None eVision.Easy3D.E3DAligner.SetReference | ( | self, | |
| eVision.Easy3D.EMesh | mesh, | ||
| eVision.Easy3D.E3DPlane | plane ) |
Sets the 3D reference model that is used to create reference patterns.
It may be a CAD of the object as an eVision.Easy3D.EMesh with reference plane(s) on which they must be projected to roughly correspond to the face visible in the scans. In that case, when a scan re-projection plane is set (eVision.Easy3D.E3DAligner.ScanReprojectionPlane, eVision.Easy3D.E3DAligner.SetFlatScan), the reference plane(s) set by this method should correspond to the scan's re-projection plane. It may also be a golden scan represented by an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud with reference plane indicating on which direction it must be projected.
Remarks:

| mesh | The eVision.Easy3D.EMesh object that represents the 3D reference model. |
| plane | The plane onto which the model is projected orthographically (all points below the plane are discarded). |
| None eVision.Easy3D.E3DAligner.SetReference | ( | self, | |
| eVision.Easy3D.EMesh | mesh, | ||
| float | azimuth, | ||
| float | elevation ) |
Sets the 3D reference model that is used to create reference patterns.
It may be a CAD of the object as an eVision.Easy3D.EMesh with reference plane(s) on which they must be projected to roughly correspond to the face visible in the scans. In that case, when a scan re-projection plane is set (eVision.Easy3D.E3DAligner.ScanReprojectionPlane, eVision.Easy3D.E3DAligner.SetFlatScan), the reference plane(s) set by this method should correspond to the scan's re-projection plane. It may also be a golden scan represented by an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud with reference plane indicating on which direction it must be projected.
Remarks:

| mesh | The eVision.Easy3D.EMesh object that represents the 3D reference model. |
| azimuth | The azimuth angle of the normal of the reference plane in eVision.Easy.SetAngleUnit. Azimuth angles are oriented trigonometrically around the z axis. The x axis corresponds to an azimuth of 0 degrees. |
| elevation | The elevation angle of the normal of the reference plane in eVision.Easy.SetAngleUnit. Elevation angles represent how close the normal is to the z = 0 plane. |
| None eVision.Easy3D.E3DAligner.SetReference | ( | self, | |
| eVision.Easy3D.EMesh | mesh, | ||
| list[eVision._eVision.Easy3D.E3DPlane] | planes ) |
Sets the 3D reference model that is used to create reference patterns.
It may be a CAD of the object as an eVision.Easy3D.EMesh with reference plane(s) on which they must be projected to roughly correspond to the face visible in the scans. In that case, when a scan re-projection plane is set (eVision.Easy3D.E3DAligner.ScanReprojectionPlane, eVision.Easy3D.E3DAligner.SetFlatScan), the reference plane(s) set by this method should correspond to the scan's re-projection plane. It may also be a golden scan represented by an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud with reference plane indicating on which direction it must be projected.
Remarks:

| mesh | The eVision.Easy3D.EMesh object that represents the 3D reference model. |
| planes | vector of planes |
| None eVision.Easy3D.E3DAligner.SetReference | ( | self, | |
| eVision.Easy3D.EMesh | mesh, | ||
| list[float] | azimuths, | ||
| list[float] | elevations ) |
Sets the 3D reference model that is used to create reference patterns.
It may be a CAD of the object as an eVision.Easy3D.EMesh with reference plane(s) on which they must be projected to roughly correspond to the face visible in the scans. In that case, when a scan re-projection plane is set (eVision.Easy3D.E3DAligner.ScanReprojectionPlane, eVision.Easy3D.E3DAligner.SetFlatScan), the reference plane(s) set by this method should correspond to the scan's re-projection plane. It may also be a golden scan represented by an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud with reference plane indicating on which direction it must be projected.
Remarks:

| mesh | The eVision.Easy3D.EMesh object that represents the 3D reference model. |
| azimuths | vector of azimuths |
| elevations | vector of elevations |
| None eVision.Easy3D.E3DAligner.SetReference | ( | self, | |
| eVision.Easy3D.EPointCloud | cloud, | ||
| eVision.Easy3D.E3DPlane | plane ) |
Sets the 3D reference model that is used to create reference patterns.
It may be a CAD of the object as an eVision.Easy3D.EMesh with reference plane(s) on which they must be projected to roughly correspond to the face visible in the scans. In that case, when a scan re-projection plane is set (eVision.Easy3D.E3DAligner.ScanReprojectionPlane, eVision.Easy3D.E3DAligner.SetFlatScan), the reference plane(s) set by this method should correspond to the scan's re-projection plane. It may also be a golden scan represented by an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud with reference plane indicating on which direction it must be projected.
Remarks:

| cloud | The eVision.Easy3D.EPointCloud object that represents a reference golden scan. The scan should only contain the object to align (the plane on which the points lay should be removed). |
| plane | The plane onto which the model is projected orthographically (all points below the plane are discarded). |
| None eVision.Easy3D.E3DAligner.SetReference | ( | self, | |
| eVision.Easy3D.EPointCloud | cloud, | ||
| float | azimuth, | ||
| float | elevation ) |
Sets the 3D reference model that is used to create reference patterns.
It may be a CAD of the object as an eVision.Easy3D.EMesh with reference plane(s) on which they must be projected to roughly correspond to the face visible in the scans. In that case, when a scan re-projection plane is set (eVision.Easy3D.E3DAligner.ScanReprojectionPlane, eVision.Easy3D.E3DAligner.SetFlatScan), the reference plane(s) set by this method should correspond to the scan's re-projection plane. It may also be a golden scan represented by an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud with reference plane indicating on which direction it must be projected.
Remarks:

| cloud | The eVision.Easy3D.EPointCloud object that represents a reference golden scan. The scan should only contain the object to align (the plane on which the points lay should be removed). |
| azimuth | The azimuth angle of the normal of the reference plane in eVision.Easy.SetAngleUnit. Azimuth angles are oriented trigonometrically around the z axis. The x axis corresponds to an azimuth of 0 degrees. |
| elevation | The elevation angle of the normal of the reference plane in eVision.Easy.SetAngleUnit. Elevation angles represent how close the normal is to the z = 0 plane. |
| None eVision.Easy3D.E3DAligner.SetReference | ( | self, | |
| eVision.Easy3D.EZMap | zmap ) |
Sets the 3D reference model that is used to create reference patterns.
It may be a CAD of the object as an eVision.Easy3D.EMesh with reference plane(s) on which they must be projected to roughly correspond to the face visible in the scans. In that case, when a scan re-projection plane is set (eVision.Easy3D.E3DAligner.ScanReprojectionPlane, eVision.Easy3D.E3DAligner.SetFlatScan), the reference plane(s) set by this method should correspond to the scan's re-projection plane. It may also be a golden scan represented by an eVision.Easy3D.EZMap or an eVision.Easy3D.EPointCloud with reference plane indicating on which direction it must be projected.
Remarks:

| zmap | The eVision.Easy3D.EZMap object that represents a reference golden scan. The scan should only contain the object to align (the plane on which the points lay should be removed). |