Files
rtabmap_ros/rtabmap_util/doc/disparity_to_depth.md
T
matlabbe 61edb4ee85 rtabmap_util tests and doc (#1450)
* Initial tests

* more tests

* More in-depth deskew() testing

* slightly less verbose clamping corruption warning

* added tf buffer related tests

* added remaining tests

* Added rosdoc2, improve tests when we require sync of odom stamp and sensor stamp

* cleanup doc

* fixing ci

* rtabmap_util tests and doc

* Added db_player tests

* Added MapsManager tests

* Added map_assembler tests

* Documenting node first draft

* relative links

* Fixed british->usa english style. Reviewed all md files.

* added link to install ros1

* updated badges

* added Iron

* added ubuntu

* added codecov

* updated coverage ci

* fixing rosdep

* updated ci cov job

* ci bump

* fixing cov ci

* small doc cleanup
2026-09-07 21:23:22 -07:00

2.5 KiB

disparity_to_depth

Converts a disparity image into a depth image.

Most of ROS handles depth, while a stereo pipeline produces disparity. This node bridges the two: for every pixel it computes depth = baseline * focal / disparity, taking the baseline and focal length from the incoming stereo_msgs/msg/DisparityImage itself, so no camera info is needed.

Pixels whose disparity falls outside the message's own min_disparity/max_disparity are written as zero, which is the ROS convention for "no reading".

Usage

ros2 run rtabmap_util disparity_to_depth --ros-args \
  -r disparity:=/stereo/disparity \
  -r depth:=/stereo/depth
ComposableNode(
    package='rtabmap_util',
    plugin='rtabmap_util::DisparityToDepth',
    name='disparity_to_depth',
    remappings=[('disparity', '/stereo/disparity'),
                ('depth', '/stereo/depth')])

Subscribed Topics

Topic Type Description
disparity stereo_msgs/msg/DisparityImage The disparity image must be 32FC1; anything else is rejected with an error.

Published Topics

Topic Type Description
depth sensor_msgs/msg/Image (32FC1) Depth in meters.
depth_raw sensor_msgs/msg/Image (16UC1) The same depth in millimeters, the compact form most RGB-D drivers publish.

Both are computed only if something is subscribed to them, so leaving one unused costs nothing. Both keep the header of the input disparity image.

Parameters

Parameter Type Default Description
qos int 0 Reliability of both sides: 0 system default, 1 reliable, 2 best effort.
qos_sub int value of qos Reliability of the disparity subscription alone.
qos_pub int value of qos Reliability of the depth and depth_raw publishers alone.
queue_sub int 1 Queue depth of the disparity subscription. Must be at least 1.
queue_pub int 1 Queue depth of both publishers. Must be at least 1.

Notes

Depth beyond 65.535 m cannot be represented in the 16UC1 output and wraps around; use the 32FC1 depth topic for long-range stereo.

This node performs no filtering or hole-filling. A noisy disparity image gives a noisy depth image.