Skip to main content
Version: dev-latest

Valid Data Formats

MCAP Files

MCAP is a flexible serialization format that supports a wide range of options and message encodings. This includes the capability to encode ROS1, ROS2/CDR serialized, Protobuf, Flatbuffer, and more.

Header Time vs Log Time

By default, MetriCal uses the header timestamp in each message for synchronization purposes. If your current workflow uses the log time instead, use the --use-log-time flag when running metricalcalibrate.

Don't use this as a replacement for fixing your header timestamps, though! MetriCal always knows...

Message Encodings

MetriCal only supports a limited subset of the total well-known message encodings in MCAP.

Message TypeROS1 EncodingsROS2 with CDR SerializationProtobuf Serialization Schemas
Imagesensor_msgs/Imagesensor_msgs/msgs/ImageRawImage.proto
CompressedImagesensor_msgs/CompressedImagesensor_msgs/msgs/CompressedImageCompressedImage.proto
PointCloudsensor_msgs/PointCloud2sensor_msgs/msgs/PointCloud2PointCloud.proto
IMUsensor_msgs/Imusensor_msgs/msgs/Imu--
Odometrynav_msgs/Odometrynav_msgs/msgs/Odometry--
H264 Video----CompressedVideo.proto

Valid Image Encodings

Image typeEncoding
Ordered pixelsmono8, mono16, rgb8, bgr8, rgba8, bgra8, rgb16, bgr16, rgba16, bgra16
8-bit, multi-channel8UC1, 8UC2, 8UC3, 8UC4, 8SC1, 8SC2, 8SC3, 8SC4
16-bit, multi-channel16UC1, 16UC2, 16UC3, 16UC4, 16SC1, 16SC2, 16SC3, 16SC4
32-bit, multi-channel32UC1, 32UC2, 32UC3, 32UC4, 32SC1, 32SC2, 32SC3, 32SC4
64-bit, multi-channel64UC1, 64UC2, 64UC3, 64UC4, 64SC1, 64SC2, 64SC3, 64SC4
Bayer imagesbayer_rggb8, bayer_bggr8, bayer_gbrg8, bayer_grbg8, bayer_rggb16, bayer_bggr16, bayer_gbrg16, bayer_grbg16
YUYV imagesuyvy, UYVY, yuv422, yuyv, YUYV, yuv422_yuy2