Documentation Portal      

What are you looking for?

Managing the Coordinates

Coordinate systems on a ZMap

A ZMap has 2 coordinate systems:

The ZMap space (lower left corner origin).
The pixel space (upper left corner origin).
The world space system is the original, metric space from which the ZMap has been generated. Point clouds and 3D objects are expressed in the world coordinate system.
The ZMap space is defined by a rigid transformation of the world space. The basis linked to this transformation is attached to the lower left corner of the ZMap.
The pixel space origin is the upper left corner of the ZMap. The unit length of the pixel coordinate system is one pixel along X and Y axis.

The transformation between pixel space and the ZMap space includes a scale factor. However the transformation between the ZMap space and the world space is a solid transformation (with no scaling).

EZMap

The EZMap object exposes a set a methods to convert coordinates between world, ZMap and pixel spaces:

PixelToZMap converts a 2D pixel position to ZMap coordinates (floating point).
ZMapToPixel is the reciprocal operation and converts a 2D ZMap position to a pixel position (floating point).
ZMapToWorld is a method to transform positions from the 3D ZMap space to the 3D world space. The world space is the original point cloud or 3D object space.
WorldToZMap is the reciprocal operation, converting from world space to ZMap.
PixelToWorld and WorldToPixel combine the functions above to directly transform from pixel space to world space (or the other way).

These methods only perform geometric transformations between the various coordinate systems but do not access the actual ZMap gray scale values.

The functions that accesses the pixel values are:

GetWorldPositionFromPixel() is a method transforming the actual pixel value at integer position (u, v) to the original world space. This method queries the ZMap image to get the pixel value w and transform the pixel space (u, v, w) coordinates to a world space position.
GetPixelFromWorldPosition() is a method to get a pixel value from a world position. The world position is projected on the ZMap and the pixel value is returned. If the world position is out of the ZMap domain, the method returns the false value.

Which API shall we display?

© 2018 EURESYS s.a.  -  About Documentation  -  Open Source Licenses  -  Open eVision 2.5.1.1107