# Unable to get accurate depth and camera_info from TOF on Starling 2 Max

Source: https://forum.modalai.com/topic/4740/unable-to-get-accurate-depth-and-camera_info-from-tof-on-starling-2-max
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2025-09-15 07:44:33 UTC by Jing Yu
Replies: 2 · Views: 709

## Jing Yu · 2025-09-15 07:44:33 UTC

Hi,
I’m using the Starling 2 Max with VOXL 2 and I’m trying to access depth information from the onboard TOF sensor.

I am subscribing to /tof_depth, which publishes sensor_msgs/Image in mono8 format. However:

I don’t know how to convert the 8-bit gray value to actual depth in meters. Is there a LUT or scale factor available for this sensor?

The topic /tof_depth/camera_info returns zero intrinsics (all zeros in the K matrix), so I cannot project the depth image into a point cloud.

I couldn’t find any calibration or intrinsics related to the TOF sensor in /etc/modalai .

Could you please advise how to:

Obtain the proper depth scale or conversion formula from mono8

Get or generate accurate camera_info for the TOF sensor

Thanks in advance!

## Reply by Alex Kushleyev (ModalAI staff) · 2025-09-17 03:02:29 UTC

@Jing-Yu , the tof_depth image is a 8-bit image where each pixel represents a scaled depth. this may not be the best way to use the output of TOF sensor.

You can subscribe to the point cloud directly.

Here is the code that handles the output of the TOF sensor and publishes it to MPA clients. This shows how the different images are generated, including how the TOF depth is scaled to produce an image : https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/blob/dev/src/hal3_camera_mgr.cpp?ref_type=heads#L3214 ( `RoyaleDataDone` function).

Here is an example for receiving the TOF point cloud using an MPA client. it is very basic, but you can update it. The data that is sent out is an array of XYZ float points : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/blob/master/tools/voxl-inspect-points.c?ref_type=heads

and finally here is another example in voxl `mpa-to-ros` library, which handles conversion from the MPA messages to ROS. It has a few point cloud formats, but the one you need is the XYZ : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros/-/blob/master/catkin_ws/src/src/interfaces/point_cloud_interface.cpp?ref_type=heads

Alex

## Reply by Jing Yu · 2025-09-19 01:11:14 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev 

Thanks for the explanation — I now understand how to use the TOF sensor.
I’ll use the ROS point cloud directly for my research.
