Users Manual
transformed into 3D object coordinates in the sensor coordinate frame (Section 3.7) using the equations described
in Computing depth images and point clouds (Section 6.2.2).
Assuming that π
ππ
is the 16 bit disparity value at column π and row π of a disparity image, the 3D reconstruction
in meters can be written with the GenICam parameters as
π
π₯
= (π β Scan3dPrincipalPointU)
Scan3dBaseline
π
ππ
Β· Scan3dCoordinateScale
,
π
π¦
= (π β Scan3dPrincipalPointV)
Scan3dBaseline
π
ππ
Β· Scan3dCoordinateScale
,
π
π§
= Scan3dFocalLength
Scan3dBaseline
π
ππ
Β· Scan3dCoordinateScale
.
The conο¬dence image contains 8 bit unsigned integer values. These values have to be divided by 255 to get the
conο¬dence as value between 0 an 1.
The error image contains 8 bit unsigned integer values. The error π
ππ
must be multiplied by the scale value given
in the GenICam feature Scan3dCoordinateScale to get the disparity-error values π
πππ
in pixels. According to the
description in Conο¬dence and error images (Section 6.2.3), the depth error π§
πππ
in meters can be computed with
GenICam parameters as
π§
πππ
=
π
ππ
Β· Scan3dCoordinateScale Β· Scan3dFocalLength Β· Scan3dBaseline
(π
ππ
Β· Scan3dCoordinateScale)
2
.
Note: It is preferable to enable chunk data with the parameter ChunkModeActive and to use
the chunk parameters ChunkScan3dCoordinateScale, ChunkScan3dFocalLength, ChunkScan3dBaseline,
ChunkScan3dPrincipalPointU and ChunkScan3dPrincipalPointV that are delivered with every image, because
their values already ο¬t to the image resolution of the corresponding image.
For more information about disparity, error, and conο¬dence images, please refer to Stereo matching (Section 6.2).
8.2 REST-API interface
Besides the GenICam interface (Section 8.1), the rc_visard offers a comprehensive RESTful web interface (REST-
API) which any HTTP client or library can access. Whereas most of the provided parameters, services, and
functionalities can also be accessed via the user-friendly Web GUI (Section 4.5), the REST-API serves rather as a
machine-to-machine interface to programmatically
β’ set and get run-time parameters of computation nodes, e.g., of cameras, disparity calculation, and visual
odometry;
β’ do service calls, e.g., to start and stop individual computational nodes, or to use offered services such as the
hand-eye calibration;
β’ conο¬gure data streams that provide rc_visardβs dynamic state estimates (Section 6.3.2) as described in the
rc_dynamics interface (Section 8.3);
β’ read the current state of the system and individual computational nodes; and
β’ update the rc_visardβs ο¬rmware or license.
Note: In the rc_visardβs REST-API, a node is a computational component that bundles certain algorithmic
functionality and offers a holistic interface (parameters, services, current status). Examples for such nodes are
the stereo matching node or the visual odometry node.
8.2.1 General API structure
The general entry point to the rc_visardβs API is http://<rcvisard>/api/, where <rcvisard> is either the
deviceβs IP address or its host name as known by the respective DHCP server, as explained in network conο¬gura-
8.2. REST-API interface 127